Skip to content

Argonne Leadership Computing Facility

LLVM Compilers on Polaris

This page is not about LLVM-based Cray Compiling Environment (CCE) compilers from PrgEnv-cray but about open source LLVM compilers.

If LLVM compilers are needed without MPI support, simply load the llvm module.

Cray Programming Environment does not offer LLVM compiler support. Thus cc/CC/ftn compiler wrappers using LLVM compilers currently are not available. To use Clang with MPI, one can load the mpiwrappers/cray-mpich-llvm module which loads the following modules.

  • llvm, upstream llvm compilers
  • cray-mpich, MPI compiler wrappers mpicc/mpicxx/mpif90. mpif90 uses gfortran because flang is not ready for production use.
  • cray-pals, MPI launchers mpiexec/aprun/mpirun

Limitation There is no GPU-aware MPI library linking support by default. If needed, users should manually add the GTL (GPU Transport Layer) library to the application link line.

Update 04/25/2024 To access LLVM modules, module use /soft/modulefiles is required.

OpenMP offload

When targeting the OpenMP or CUDA programming models for GPUs, the cudatoolkit-standalone module should also be loaded.