So far, under Linux the compiler of the
Portland Group
has been used mostly to compile CO5BOLD.
It is called with pgf90
.
Important switches are:
-byteswapio
: With this flag set, binary files in
big_endian
format
(the standard for UIO files)
are automatically transformed to
little_endian
and vice versa.
-fast
: General optimization flag to choose (close to)
optimum optimization for local machine.
-Mvect=sse
: Optimization: Allow Pentium III vector commands.
-Mcache_align
: Optimization: Align some data object
on cache-line boundaries.
-fastsse
: From compiler version 4.0 on, this option can be used instead
of the three previous ones. It contains and supersedes them.
-Minline=...
: 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
.
-DMSrad_raytas1=1
: Optimization: choose non-default version
of SUBROUTINE raytas
in file MSrad3D.F90
.
-Drhd_hyd_roe1d_l01=0
: Optimization: choose standard set of routines for
Roe solver.
See Sect. 3.7.
-Drhd_shortrad_operator_l02=1
: Optimization: use the ``manually inlined
version'' of the short characteristics operator.
-Drhd_shortrad_dtauop_l02=1
: Optimization: use the ``manually inlined
version'' of the optical coupling operator.