Compiling and Linking on Crux
Overview
Crux has AMD processors on the login nodes (crux-login-01,02) and AMD processors on the compute nodes (see Machine Overview page). The login nodes can be used to compile software, create containers, and launch jobs. For larger, parallel builds, it will be beneficial to compile those directly on the compute nodes.
To launch an interactive job and acquire a compute node for compiling, use
The default programming environment on the Crux compute nodes is currently Cray: PrgEnv-cray
. The GNU programming environment PrgEnv-gnu
is also available to users. It is recommended that the Cray MPI wrappers are used for building applications.
cc
- C compilerCC
- C++ compilerftn
- Fortran compiler
Each of these wrappers will select the corresponding vendor compiler based on the PrgEnv module loaded in the environment. The following are some helpful options to understand what the compiler wrapper is invoking.
--craype-verbose
: Print the command which is forwarded to the compiler invocation--cray-print-opts=libs
: Print library information--cray-print-opts=cflags
: Print include information
Further documentation and options are available via man cc
and similar.
Modules on Crux
Available modules can be listed via the command:
Loaded modules in your environment can be listed via the command: To load new modules use: