Useful links:
IBM compiler documentation:
``IBM: XL Fortran'',
especially
``IBM AIX compiler information center''.
Particularly useful hints:
``Porting Programs from the Crays to the SP''.
The compiler to be used for OpenMP runs is called with xlf90_r which
``binds the object files to the thread-safe components'' (IBM documentation).
For scalar code xlf90 might be sufficient.
Important switches are:
-qsuffix=f=f90 -qsuffix=cpp=F90: To tell the compiler about the
existence of Fortran90 and to enable the preprocessing for files with
suffix ``F90''.
-qextname=flush:etime: Append underscore to both routine names.
In 4.4.2 the preprocessor switches are listed, that control the
modern - single - version uio_mac_module.F90.
-WF,-Drhd_r03: The compiler does not send switches starting
with -D to the preprocessor but tries to interpret them itself - unlike
all other compilers. Therefore, each switch (e.g.tex2html_verb_mark>669-WF, (as e.g.tex2html_verb_mark>671
-q64: Activate the 64-bit mode. In the default 32-bit mode
a very small model (with total memory requirements far below the 2 GByte limit)
might run. However, experienced IBM users might experiment instead
with the compiler switches -bmaxstack, -bmaxdata, and -qsmallstack,
with the UNIX commands limit or ulimit,
or with the settings in the header of the batch script...
-O3: Choose optimization level.
Higher levels that involve interprocedural analysis cause the compiler to stop
with an error message.
-qarch=auto -qtune=auto -qcache=auto: To allow optimization specific for the local machine
(default in the configure script).
``Cross compilation'' can be activated e.g. with -qarch=pwr3 -qtune=pwr3
or -qarch=pwr4 -qtune=pwr4
(by setting an environment variable, e.g.tex2html_verb_mark>682configure).
-Q -Q+...: To activate inlining
and to specify the list of routines that should be inlined (see Sect.4.5.4).
-qsmp=noauto:omp: Parallelization: OpenMP directives are activated.
A job script rhd.job on the Loadleveler batch system on
io.cines.fr can be submitted with
The jobs in the queue for user testuser can be checked with
A job with ID n34.56789.0 can be cancelled with