CO5BOLD has been used on the SunFire machines``fire1'', ``fire2'', and ``fire3'' in Uppsala with compiler version ``Sun WorkShop 6 update 2 Fortran 95 6.2 2001/05/15'' an later. An older version was not able to compile CO5BOLD properly. Information about Fortran and the Sun compiler can be found on the Sun Forte page under ``documentation''. Important switches are:
-openmp
: Enable OpenMP.
-fast -xvector=yes/no
: General optimization.
On the Sun the -fast
option switches on more or less all optimization
features of the compiler. That works reasonable well. However, during the
compilation of gasinter_routines.f90
(and only there)
the switch -xvector=no
is requiered!
-inline=...
: Optimization: Routines that should be
inlined:
rhd_hyd_module.F90
: rhd_hyd_avg
,
rhd_hyd_upwind
,
rhd_hyd_pred0
,
rhd_hyd_predm
,
rhd_hyd_predp
,
rhd_hyd_alpha
,
rhd_hyd_constanteq
,
rhd_hyd_minmodeq
,
rhd_hyd_minmod
,
rhd_hyd_vanleereq
,
rhd_hyd_vanleer
,
rhd_hyd_superbeeeq
,
rhd_hyd_superbee
,
rhd_hyd_ppeq
,
rhd_hyd_pp
,
rhd_hyd_hdflux
,
rhd_lhdrad_module.F90
:
rhd_rad3d_raylhd
,
rhd_rad3d_solve
,
rhd_rad3d_solveeq
,
rhd_shortrad_module.F90
:
rhd_shortrad_operator
,
rhd_shortrad_dtauop
.
-Drhd_shortrad_formal_l01=1
: Optimization:
split loop for exp(-dtau) computation into two loops.
See Sect. 3.7.
-Drhd_shortrad_dir1_l01=1
: Optimization:
Transpose arrays and use routine rhd_shortrad_dir3
for rays in x1 direction.
See Sect. 3.7.
-Drhd_hyd_entropyfix_p01=1
: Optimization: version with masks (weights).
See Sect. 3.7.