Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add workaround for wrong gcc version on polaris #29

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 26 additions & 2 deletions sphinx_docs/source/alcf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ Load the modules:
.. prompt:: bash

module swap PrgEnv-nvhpc PrgEnv-gnu
# load gcc/11.2.0 version since CUDA doesn't support gcc 12 yet
module load gcc/11.2.0
module load nvhpc-mixed

Then you can compile via:
Expand All @@ -39,6 +37,32 @@ Then you can compile via:
make COMP=gnu USE_CUDA=TRUE


Workaround for ``GCC < 8 not supported.``
-----------------------------------------

Since the update on 2024-04-22 (https://docs.alcf.anl.gov/polaris/system-updates/#2024-04-22), ``gcc --version`` returns 7.5.0, which is the default system version.
Loading the ``gcc-native`` module doesn't change this, as the newer compiler versions are located at ``/usr/bin/gcc-12`` and ``/usr/bin/g++-12``, rather than under a versioned subdirectory.
To work around this until the ALCF folks fix it, we can override the CC and CXX variables passed to make:

* For CPU builds without MPI (e.g. plotfile diagnostics):

.. prompt:: bash

make CC=gcc-12 CXX=g++-12 COMP=gnu

* For CPU builds with MPI:

.. prompt:: bash

make CC=cc CXX=CC COMP=gnu USE_MPI=TRUE

* For GPU builds with MPI:

.. prompt:: bash

make NVCC_CCBIN=g++-12 COMP=gnu USE_MPI=TRUE USE_CUDA=TRUE


Disks
=====

Expand Down