With Version 7.0 of the Intel compiler CO5BOLD compiles.
The native format on Intel machines is
big_endian. The appropriate UIO modules are
big_endiancase. The compiler is called with
Important switches are:
-Vaxlib: Link proper library to make the machine understand e.g.
fpp: Activate the preprocessor (silently).
-O3: General optimization flag.
-tpp6 -xK: Optimization especially for Pentium III (includes SSE vector commands).
-ip: Optimization: activate interprocedural optimization within each source file. This enables inlining.
-DMSrad_raytas=2: Optimization: choose non-default version of loop in
SUBROUTINE raytasin file
MSrad3D.F90. See Sect. 3.7.
-Drhd_shortrad_dir1_l01=1: Optimization: Transpose arrays and use routine
rhd_shortrad_dir3for rays in x1 direction. See Sect. 3.7.
-openmp: Parallelization: OpenMP directive are activated. Note that the UIO routines should be compiled without OpenMP support (even if they do not contain any OpenMP directives themselves).
Using the Intel compiler there is a problem with the UIO modules when OpenMP is activated. This a bit weird because the UIO modules do not contain any OpenMP directives. However, this means that OpenMP can be safely deactivated for these modules. A proposed compiling sequence is (all modules activated):