@@ -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
4051build: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
4857build: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
6166test: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
7380build: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"]
0 commit comments