Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Commit 982827f

Browse files
authored
Build +rx3d variant of NEURON in GPU pipeline. (#516)
* Build +rx3d variant of NEURON in GPU pipeline. neuronsimulator/nrn#1109 is now fixed, so this should work. * Exclude phase 2 GPU nodes. * Pin CUDA version in Jenkins.
1 parent 7eb49bf commit 982827f

File tree

2 files changed

+24
-22
lines changed

2 files changed

+24
-22
lines changed

.gitlab-ci.yml

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,32 +31,37 @@ spack_setup:
3131
.spack_intel:
3232
variables:
3333
SPACK_PACKAGE_COMPILER: intel
34+
.spack_nvhpc:
35+
variables:
36+
# We have to run GPU builds on GPU nodes for driver/makelocalrc reasons.
37+
bb5_constraint: volta
38+
# We cannot use phase 2 GPU nodes for the moment.
39+
bb5_partition: prod_p1
40+
SPACK_PACKAGE_COMPILER: nvhpc
3441
.spack_neuron:
3542
variables:
3643
SPACK_PACKAGE: neuron
3744
SPACK_PACKAGE_REF: ''
3845
SPACK_PACKAGE_SPEC: +coreneuron+debug+tests~legacy-unit
46+
.spack_coreneuron:
47+
variables:
48+
SPACK_PACKAGE: coreneuron
49+
SPACK_PACKAGE_SPEC: +tests~legacy-unit build_type=Debug
3950

4051
build:coreneuron:intel:
4152
extends:
4253
- .spack_build
4354
- .spack_intel
44-
variables:
45-
SPACK_PACKAGE: coreneuron
46-
SPACK_PACKAGE_SPEC: +tests~legacy-unit build_type=Debug
55+
- .spack_coreneuron
4756

4857
build:coreneuron:gpu:
58+
variables:
59+
# +report pulls in a lot of dependencies and the tests fail.
60+
SPACK_PACKAGE_SPEC: +tests~legacy-unit~report build_type=Debug
4961
extends:
5062
- .spack_build
51-
variables:
52-
SPACK_PACKAGE: coreneuron
53-
# With NVHPC 20.9 and CUDA 11.1 we cannot compile with build_type=Debug
54-
# +report would try to build hdf5%nvhpc, which doesn't work. For now we use
55-
# ~report instead of something like ^hdf5%intel.
56-
SPACK_PACKAGE_SPEC: +gpu+tests~legacy-unit~report build_type=RelWithDebInfo
57-
# We have to run GPU builds on GPU nodes for driver/makelocalrc reasons.
58-
bb5_constraint: volta
59-
SPACK_PACKAGE_COMPILER: nvhpc
63+
- .spack_coreneuron
64+
- .spack_nvhpc
6065

6166
test:coreneuron:intel:
6267
extends: [.ctest]
@@ -68,6 +73,8 @@ test:coreneuron:gpu:
6873
variables:
6974
# GPU tests need to run on nodes with GPUs.
7075
bb5_constraint: volta
76+
# We cannot use phase 2 GPU nodes for the moment.
77+
bb5_partition: prod_p1
7178
needs: ["build:coreneuron:gpu"]
7279

7380
build:neuron:intel:
@@ -83,19 +90,12 @@ build:neuron:gpu:
8390
extends:
8491
- .spack_build
8592
- .spack_neuron
93+
- .spack_nvhpc
8694
variables:
8795
# Avoid trying to build all the NEURON dependencies with the PGI/NVHPC/GPU
8896
# compiler.
89-
SPACK_PACKAGE_COMPILER: nvhpc
9097
SPACK_EXPORT_SPECS: gettext
91-
# Compiling NEURON invokes `nrnivmodl -coreneuron`, which invokes the NVHPC
92-
# compiler used to build CoreNEURON. As noted above, this only works on the
93-
# nodes with GPUs.
94-
bb5_constraint: volta
9598
before_script:
96-
# The +rx3d variant is not compatible with the NVHPC compiler.
97-
# See: https://github.com/neuronsimulator/nrn/issues/1109
98-
- SPACK_PACKAGE_SPEC="~rx3d${SPACK_PACKAGE_SPEC}"
9999
# Get the hash of a gcc build of py-cython so we can force the nvhpc build
100100
# of neuron to use it. py-cython does not build with nvhpc.
101101
- . ${SPACK_ROOT}/share/spack/setup-env.sh
@@ -118,4 +118,6 @@ test:neuron:gpu:
118118
variables:
119119
# GPU tests need to run on nodes with GPUs.
120120
bb5_constraint: volta
121-
needs: ["build:neuron:gpu"]
121+
# We cannot use phase 2 GPU nodes for the moment.
122+
bb5_partition: prod_p1
123+
needs: ["build:neuron:gpu"]

tests/jenkins/install_coreneuron.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ CORENRN_TYPE="$1"
1212

1313
if [ "${CORENRN_TYPE}" = "GPU-non-unified" ] || [ "${CORENRN_TYPE}" = "GPU-unified" ]; then
1414
# PGI compiler issue in unstable : BSD-204
15-
module load nvhpc cuda hpe-mpi cmake boost
15+
module load nvhpc cuda/11.0.2 hpe-mpi cmake boost
1616
mkdir build_${CORENRN_TYPE}
1717
else
1818
module load boost intel hpe-mpi cmake

0 commit comments

Comments
 (0)