Skip to content

Commit

Permalink
update summit compilation instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
harpolea committed Sep 16, 2020
1 parent e3e17e9 commit 8d42f00
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions sphinx_docs/source/olcf-compilers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ Then load CUDA::

You also need to make sure you have the python module loaded::

module load python/3.5.2
module load python/3.7.0

Compile with ``COMP = pgi`` and ``USE_CUDA=TRUE``. Ensure your
GNUMakefile uses ``USE_OMP=FALSE`` since AMReX's standard OpenMP
strategy conflicts with GPUs. An example compilation line is::

make COMP=pgi INTEGRATOR_DIR=VODE90 USE_CUDA=TRUE -j 4
make COMP=pgi INTEGRATOR_DIR=VODE USE_CUDA=TRUE -j 4


The version pairs that work for sure currently are:
Expand All @@ -40,14 +40,20 @@ The version pairs that work for sure currently are:

.. note::

- Use ``INTEGRATOR_DIR=VODE90`` if specifying an integrator at
compile time, since ``VODE`` will not work with GPUs.

- Use ``USE_GPU_PRAGMA=TRUE`` for any code which uses ``#pragma
gpu``, this flag is set by default in MAESTROeX and CASTRO's
build system when ``USE_CUDA=TRUE``.

- OpenMP offloading to the GPU is controlled by
``USE_OMP_OFFLOAD``, which will default to ``FALSE``, AMReX-Astro
doesn't use this feature.

- MAESTROeX requires C++14, so it is necessary to use a
later version of gcc than the version loaded on Summit
when the pgi module is loaded. To do this, add the
following to the ``GNUMakefile``::

NVCC_CCBIN=/sw/summit/gcc/7.4.0/bin/g++
LIBRARY_LOCATIONS += /sw/summit/gcc/7.4.0/lib64/
LIBRARIES += -Wl,-rpath,/sw/summit/gcc/7.4.0/lib64/

0 comments on commit 8d42f00

Please sign in to comment.