CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
if no C++ compiler is available)<br />
- FFLAGS_opt : flags for the Fortran compiler with full optimization<br />
- FFLAGS_debug : flags for the Fortran compiler with full debugging<br />
- CFLAGS_opt : flags for the C compiler with full optimization<br />
- CXXFLAGS_opt : flags for the C++ compiler with full optimization<br />
* Optional variables controlling features:<br />
- HAVE_BLAS : omit HAVE_BLAS/HAVE_LAPACK or set them to ’no’ if you<br />
HAVE_LAPACK would like to use the BLAS/LAPACK libraries provided with<br />
LDBLAS_yes the <strong>CASINO</strong> distribution. Otherwise, set the HAVE_<br />
LDLAPACK_yes variables to ’yes’ and the LDBLAS_yes/LDLAPACK_yes<br />
variables to the ’-l’ flags required to link the<br />
optimized BLAS/LAPACK libraries in your system.<br />
- SUPPORT_OPENMP : omit SUPPORT_OPENMP or set it to ’no’ if your compiler<br />
FFLAGS_OPENMP_yes does not support OpenMP or you wish to disable the<br />
ability to compile it, else set SUPPORT_OPENMP to ’yes’<br />
and set FFLAGS_OPENMP_yes to the flags required by your<br />
compiler to enable OpenMP extensions, e.g., ’-openmp’<br />
- SUPPORT_SHM : omit SUPPORT_SHM or set it to ’yes’ if your machine<br />
CFLAGS_SHM supports either SysV or POSIX SHM. Set CFLAGS_SHM to<br />
the C compiler flags to compile SHM support - these are<br />
expected to be either -DSHM_SYSV or -DSHM_POSIX, which<br />
select which version <strong>of</strong> SHM to use.<br />
* Optional variables controlling the compile/run environment:<br />
- ENVIRONMENT_COMMAND: single-line command to run before compiling and<br />
running. This is useful where environment variables<br />
need to be set (e.g., ’export MPI=OpenMPI’) or in<br />
clusters where the ’module’ environment<br />
handling system is used (e.g., ’module load<br />
default-infinipath’). Multiple commands separated<br />
by semicolons can be given. The only variables<br />
that may be referenced are pre-existing environment<br />
variables, and should be referenced using the syntax<br />
’${variable}’ rather than ’$variable’; e.g.:<br />
export PATH=${PATH}:/path/to/f90<br />
is valid, while<br />
export PATH=$PATH:/path/to/f90<br />
and<br />
export PATH1=/path/to/f90 ;\<br />
export PATH=${PATH}:${PATH1}<br />
are not valid. (The reason for this restriction is<br />
the peculiarities <strong>of</strong> how ’make’ and ’sh’ interact.)<br />
* Variables controlling Fortran and MPI libraries:<br />
- MPI_VERSION : major version <strong>of</strong> the MPI library. Allowed values are 1<br />
and 2 (default).<br />
- ISOVAR_VERSION : version <strong>of</strong> iso_varying_string[1-2].f90. Allowed values<br />
are 1 (default) and 2. The option 2 should only be used with<br />
compilers which refused to compile iso_varying_string1.f90<br />
(such as the Hitachi <strong>of</strong>ort90 compiler).<br />
- LIB_PATH : ’-L’ options to add library search paths, e.g.,<br />
’-L/usr/opt/mpi/lib’ (add one ’-L’ option for each path to<br />
be added)<br />
- INCLUDE_DIR : ’-I’ options to add include search paths, e.g.,<br />
’-I/usr/opt/mpi/include’ (add one ’-I’ option for each path<br />
to be added)<br />
- LDLIBS_all : ’-l’ options to link libraries, e.g., ’-lmpi’ (add one ’-l’<br />
option for each library to be linked)<br />
* Variables defining a different compilation parameters for the utilities.<br />
This is useful when one needs to cross-compile the sources to run on the<br />
compute nodes <strong>of</strong> a cluster, but still requires a native compiler to be<br />
able to build the utilities. The main keyword is:<br />
- UTILS_MODE : set to ’native’ if the utilities require a compiler<br />
different from the one used for main binary, leave empty<br />
228