Numerical Object Oriented/Procedural Experiances/Discussion

Numerical Object Oriented/Procedural Experiances/Discussion

Hi All,


This probably is going to lead to a heated discussion, but I wanted to get opinions on Fortran OO versus procedural in modules. Personally I code everything as a standalone modules that contain within relevant subroutines. I have no personal experience with using derived data types that contain procedural pointers or following a more strict OO scheme. My concern is with large scale numerical models (complex finite difference that currently takes 2 to 24 hours per model run depending on the input data sets) would suffer greatly, in terms of speed, by switching over to the OO paradigm. If the penalty is negligible, I would switch my coding style to it.


Any comments or personal experiences would be greatly appreciated!



2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I guess it depends on how fine you take your OO. Take it too far and you lose vectorization. Depending on your model you should be able to OO the larger object and vector (SOA) the high compute attributes. An example might be an airframe made up of multiple components in OO, having each components wireframe in SOA.

Jim Dempsey

Login to leave a comment.