From 7b11153a8f21ee71cfec3d9991726ed1649c7a13 Mon Sep 17 00:00:00 2001 From: pramodk Date: Thu, 3 Nov 2022 07:13:54 +0100 Subject: [PATCH 01/18] A dummy change --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 473f0349b..1cb94f0fe 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ ![CoreNEURON CI](https://github.com/BlueBrain/CoreNeuron/workflows/CoreNEURON%20CI/badge.svg) [![codecov](https://codecov.io/gh/BlueBrain/CoreNeuron/branch/master/graph/badge.svg?token=mguTdBx93p)](https://codecov.io/gh/BlueBrain/CoreNeuron) +> A dummy change! + ![CoreNEURON](docs/_static/bluebrain_coreneuron.jpg) # CoreNEURON From e7ceaf01e3d76ab610a4ee4e0de99d7c4b5c92bf Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Thu, 3 Nov 2022 19:26:51 +0100 Subject: [PATCH 02/18] Comment out all unnecessary coreneuron builds --- .gitlab-ci.yml | 224 ++++++++++++++++++++++++------------------------- 1 file changed, 112 insertions(+), 112 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ad07c642f..454d47924 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -81,150 +81,150 @@ build:nmodl: SPACK_PACKAGE_SPEC: ~legacy-unit SPACK_PACKAGE_COMPILER: gcc -# Build CoreNEURON -.build_coreneuron: - extends: [.build] - variables: - SPACK_PACKAGE: coreneuron - # NEURON depends on py-mpi4py, most of whose dependencies are pulled in by - # nmodl%gcc, with the exception of MPI, which is pulled in by - # coreneuron%{nvhpc,intel}. hpe-mpi is an external package anyway, so - # setting its compiler is just changing how it is labelled in the - # dependency graph and not changing which installation is used, but this - # means that in the NEURON step an existing py-mpi4py%gcc can be used. - # Otherwise a new py-mpi4py with hpe-mpi%{nvhpc,intel} will be built. - # caliper: papi%nvhpc does not build; use the caliper from the deployment - # TODO: fix this more robustly so we don't have to play so many games. - SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc ^caliper%gcc+cuda cuda_arch=70 - -# TODO: improve coverage by switching an Intel build to be statically linked -# TODO: improve coverage by switching an Intel build to RelWithDebInfo -# TODO: improve coverage by enabling +openmp on an Intel build -build:coreneuron:mod2c:intel:shared:debug: - extends: [.build_coreneuron, .spack_intel] - variables: - SPACK_PACKAGE_SPEC: +caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug - -build:coreneuron:nmodl:intel:debug:legacy: - extends: [.build_coreneuron, .spack_intel] - needs: ["build:nmodl"] - variables: - SPACK_PACKAGE_SPEC: +caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug - -# Disable caliper to improve coverage -build:coreneuron:nmodl:intel:shared:debug: - extends: [.build_coreneuron, .spack_intel] - needs: ["build:nmodl"] - variables: - SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc - SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug - -# Not linked to a NEURON build+test job, see -# https://github.com/BlueBrain/CoreNeuron/issues/594 -build:coreneuron:mod2c:nvhpc:acc:debug:unified: - extends: [.build_coreneuron, .spack_nvhpc] - variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit~nmodl+openmp~shared+tests+unified build_type=Debug - -# Shared + OpenACC + OpenMP host threading has problems -build:coreneuron:mod2c:nvhpc:acc:shared: - extends: [.build_coreneuron, .spack_nvhpc] - variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo - -build:coreneuron:nmodl:nvhpc:acc:debug:legacy: - extends: [.build_coreneuron, .spack_nvhpc] - needs: ["build:nmodl"] - variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug - -build:coreneuron:nmodl:nvhpc:acc:shared: - extends: [.build_coreneuron, .spack_nvhpc] - needs: ["build:nmodl"] - variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo - -build:coreneuron:nmodl:nvhpc:omp:legacy: - extends: [.build_coreneuron, .spack_nvhpc] - needs: ["build:nmodl"] - variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo - -build:coreneuron:nmodl:nvhpc:omp:debug: - extends: [.build_coreneuron, .spack_nvhpc] - needs: ["build:nmodl"] - variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug +## Build CoreNEURON +#.build_coreneuron: +# extends: [.build] +# variables: +# SPACK_PACKAGE: coreneuron +# # NEURON depends on py-mpi4py, most of whose dependencies are pulled in by +# # nmodl%gcc, with the exception of MPI, which is pulled in by +# # coreneuron%{nvhpc,intel}. hpe-mpi is an external package anyway, so +# # setting its compiler is just changing how it is labelled in the +# # dependency graph and not changing which installation is used, but this +# # means that in the NEURON step an existing py-mpi4py%gcc can be used. +# # Otherwise a new py-mpi4py with hpe-mpi%{nvhpc,intel} will be built. +# # caliper: papi%nvhpc does not build; use the caliper from the deployment +# # TODO: fix this more robustly so we don't have to play so many games. +# SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc ^caliper%gcc+cuda cuda_arch=70 +# +## TODO: improve coverage by switching an Intel build to be statically linked +## TODO: improve coverage by switching an Intel build to RelWithDebInfo +## TODO: improve coverage by enabling +openmp on an Intel build +#build:coreneuron:mod2c:intel:shared:debug: +# extends: [.build_coreneuron, .spack_intel] +# variables: +# SPACK_PACKAGE_SPEC: +caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug +# +#build:coreneuron:nmodl:intel:debug:legacy: +# extends: [.build_coreneuron, .spack_intel] +# needs: ["build:nmodl"] +# variables: +# SPACK_PACKAGE_SPEC: +caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug +# +## Disable caliper to improve coverage +#build:coreneuron:nmodl:intel:shared:debug: +# extends: [.build_coreneuron, .spack_intel] +# needs: ["build:nmodl"] +# variables: +# SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc +# SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug +# +## Not linked to a NEURON build+test job, see +## https://github.com/BlueBrain/CoreNeuron/issues/594 +#build:coreneuron:mod2c:nvhpc:acc:debug:unified: +# extends: [.build_coreneuron, .spack_nvhpc] +# variables: +# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit~nmodl+openmp~shared+tests+unified build_type=Debug +# +## Shared + OpenACC + OpenMP host threading has problems +#build:coreneuron:mod2c:nvhpc:acc:shared: +# extends: [.build_coreneuron, .spack_nvhpc] +# variables: +# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo +# +#build:coreneuron:nmodl:nvhpc:acc:debug:legacy: +# extends: [.build_coreneuron, .spack_nvhpc] +# needs: ["build:nmodl"] +# variables: +# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug +# +#build:coreneuron:nmodl:nvhpc:acc:shared: +# extends: [.build_coreneuron, .spack_nvhpc] +# needs: ["build:nmodl"] +# variables: +# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo +# +#build:coreneuron:nmodl:nvhpc:omp:legacy: +# extends: [.build_coreneuron, .spack_nvhpc] +# needs: ["build:nmodl"] +# variables: +# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo +# +#build:coreneuron:nmodl:nvhpc:omp:debug: +# extends: [.build_coreneuron, .spack_nvhpc] +# needs: ["build:nmodl"] +# variables: +# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug # Build NEURON build:neuron:mod2c:intel:shared:debug: extends: [.build_neuron, .spack_intel] - needs: ["build:coreneuron:mod2c:intel:shared:debug"] +# needs: ["build:coreneuron:mod2c:intel:shared:debug"] build:neuron:nmodl:intel:debug:legacy: extends: [.build_neuron, .spack_intel] - needs: ["build:coreneuron:nmodl:intel:debug:legacy"] +# needs: ["build:coreneuron:nmodl:intel:debug:legacy"] build:neuron:nmodl:intel:shared:debug: extends: [.build_neuron, .spack_intel] - needs: ["build:coreneuron:nmodl:intel:shared:debug"] +# needs: ["build:coreneuron:nmodl:intel:shared:debug"] build:neuron:mod2c:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] - needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] +# needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] - needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] +# needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] - needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] +# needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] - needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] +# needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] - needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] +# needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON test:coreneuron:mod2c:intel:shared:debug: extends: [.ctest] - needs: ["build:coreneuron:mod2c:intel:shared:debug"] +# needs: ["build:coreneuron:mod2c:intel:shared:debug"] test:coreneuron:nmodl:intel:debug:legacy: extends: [.ctest] - needs: ["build:coreneuron:nmodl:intel:debug:legacy"] - -test:coreneuron:nmodl:intel:shared:debug: - extends: [.ctest] - needs: ["build:coreneuron:nmodl:intel:shared:debug"] - -test:coreneuron:mod2c:nvhpc:acc:debug:unified: - extends: [.ctest, .gpu_node] - needs: ["build:coreneuron:mod2c:nvhpc:acc:debug:unified"] - -test:coreneuron:mod2c:nvhpc:acc:shared: - extends: [.ctest, .gpu_node] - needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] - -test:coreneuron:nmodl:nvhpc:acc:debug:legacy: - extends: [.ctest, .gpu_node] - needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] - -test:coreneuron:nmodl:nvhpc:acc:shared: - extends: [.ctest, .gpu_node] - needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] - -test:coreneuron:nmodl:nvhpc:omp:legacy: - extends: [.ctest, .gpu_node] - needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] - -test:coreneuron:nmodl:nvhpc:omp:debug: - extends: [.ctest, .gpu_node] - needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] +# needs: ["build:coreneuron:nmodl:intel:debug:legacy"] + +#test:coreneuron:nmodl:intel:shared:debug: +# extends: [.ctest] +# needs: ["build:coreneuron:nmodl:intel:shared:debug"] +# +#test:coreneuron:mod2c:nvhpc:acc:debug:unified: +# extends: [.ctest, .gpu_node] +# needs: ["build:coreneuron:mod2c:nvhpc:acc:debug:unified"] +# +#test:coreneuron:mod2c:nvhpc:acc:shared: +# extends: [.ctest, .gpu_node] +# needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] +# +#test:coreneuron:nmodl:nvhpc:acc:debug:legacy: +# extends: [.ctest, .gpu_node] +# needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] +# +#test:coreneuron:nmodl:nvhpc:acc:shared: +# extends: [.ctest, .gpu_node] +# needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] +# +#test:coreneuron:nmodl:nvhpc:omp:legacy: +# extends: [.ctest, .gpu_node] +# needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] +# +#test:coreneuron:nmodl:nvhpc:omp:debug: +# extends: [.ctest, .gpu_node] +# needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test NEURON test:neuron:mod2c:intel:shared:debug: From 4308130a3ceb9fe3a5f290ca6a7d73d15c1c303c Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Thu, 3 Nov 2022 23:09:42 +0100 Subject: [PATCH 03/18] Use common nmodl build with gcc compiler --- .gitlab-ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 454d47924..547a97b5a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -163,10 +163,12 @@ build:neuron:mod2c:intel:shared:debug: build:neuron:nmodl:intel:debug:legacy: extends: [.build_neuron, .spack_intel] + needs: ["build:nmodl"] # needs: ["build:coreneuron:nmodl:intel:debug:legacy"] build:neuron:nmodl:intel:shared:debug: extends: [.build_neuron, .spack_intel] + needs: ["build:nmodl"] # needs: ["build:coreneuron:nmodl:intel:shared:debug"] build:neuron:mod2c:nvhpc:acc:shared: @@ -175,18 +177,22 @@ build:neuron:mod2c:nvhpc:acc:shared: build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] + needs: ["build:nmodl"] # needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] + needs: ["build:nmodl"] # needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] + needs: ["build:nmodl"] # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] + needs: ["build:nmodl"] # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From 59158da70d1d4f76559a57dc5f55c809245e98a0 Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Thu, 3 Nov 2022 23:34:27 +0100 Subject: [PATCH 04/18] add SPACK_INSTALL_EXTRA_FLAGS=--verbose --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 547a97b5a..19f3e18ea 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,6 +63,7 @@ simulation_stack: bb5_duration: "2:00:00" SPACK_PACKAGE: neuron SPACK_PACKAGE_SPEC: +coreneuron+debug+tests~legacy-unit~rx3d model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_INSTALL_EXTRA_FLAGS: --verbose .gpu_node: variables: bb5_constraint: volta From 8da4c31770a5f3e1c0fd41e348473964dba810ea Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Fri, 4 Nov 2022 00:06:01 +0100 Subject: [PATCH 05/18] fix missing specs for individual builds --- .gitlab-ci.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 19f3e18ea..bbca5ada8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -53,9 +53,11 @@ simulation_stack: .spack_intel: variables: SPACK_PACKAGE_COMPILER: intel + SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc ^python%gcc .spack_nvhpc: variables: SPACK_PACKAGE_COMPILER: nvhpc + SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc ^caliper~libdw~adiak~libunwind%gcc+cuda cuda_arch=70 ^python%gcc .build_neuron: extends: [.build] timeout: two hours @@ -160,40 +162,56 @@ build:nmodl: # Build NEURON build:neuron:mod2c:intel:shared:debug: extends: [.build_neuron, .spack_intel] + variables: + SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug # needs: ["build:coreneuron:mod2c:intel:shared:debug"] build:neuron:nmodl:intel:debug:legacy: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] + variables: + SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:intel:debug:legacy"] build:neuron:nmodl:intel:shared:debug: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] + variables: + SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:intel:shared:debug"] build:neuron:mod2c:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] + variables: + SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] + variables: + SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] + variables: + SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] + variables: + SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] + variables: + SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From 0c8c8f23a09ab72997b1aacc586e355c708a2cee Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Fri, 4 Nov 2022 07:38:40 +0100 Subject: [PATCH 06/18] disable caliper variant in all builds, add missing +coreneuron in spec --- .gitlab-ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bbca5ada8..3336555cb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,7 +57,7 @@ simulation_stack: .spack_nvhpc: variables: SPACK_PACKAGE_COMPILER: nvhpc - SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc ^caliper~libdw~adiak~libunwind%gcc+cuda cuda_arch=70 ^python%gcc + SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc ^python%gcc .build_neuron: extends: [.build] timeout: two hours @@ -183,44 +183,44 @@ build:neuron:nmodl:intel:shared:debug: build:neuron:mod2c:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON -test:coreneuron:mod2c:intel:shared:debug: - extends: [.ctest] +#test:coreneuron:mod2c:intel:shared:debug: +# extends: [.ctest] # needs: ["build:coreneuron:mod2c:intel:shared:debug"] -test:coreneuron:nmodl:intel:debug:legacy: - extends: [.ctest] +#test:coreneuron:nmodl:intel:debug:legacy: +# extends: [.ctest] # needs: ["build:coreneuron:nmodl:intel:debug:legacy"] #test:coreneuron:nmodl:intel:shared:debug: From 739f346f829b0c0d60892cc0fdb522db6af846fa Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Fri, 4 Nov 2022 09:55:15 +0100 Subject: [PATCH 07/18] disable report variant in neuron and temporarily rename .github --- .../ISSUE_TEMPLATE/bug_report.md | 0 .../ISSUE_TEMPLATE/config.yml | 0 .../ISSUE_TEMPLATE/feature_request.md | 0 .../problem-matchers/address.json | 0 .../problem-matchers/gcc.json | 0 .../problem-matchers/undefined.json | 0 .../pull_request_template.md | 0 .../workflows/clang_cmake_format_check.yaml | 0 .../workflows/coreneuron-ci.yml | 0 {.github => .github-tmp}/workflows/coverage.yml | 0 .../workflows/test-as-submodule.yml | 0 .gitlab-ci.yml | 16 ++++++++-------- 12 files changed, 8 insertions(+), 8 deletions(-) rename {.github => .github-tmp}/ISSUE_TEMPLATE/bug_report.md (100%) rename {.github => .github-tmp}/ISSUE_TEMPLATE/config.yml (100%) rename {.github => .github-tmp}/ISSUE_TEMPLATE/feature_request.md (100%) rename {.github => .github-tmp}/problem-matchers/address.json (100%) rename {.github => .github-tmp}/problem-matchers/gcc.json (100%) rename {.github => .github-tmp}/problem-matchers/undefined.json (100%) rename {.github => .github-tmp}/pull_request_template.md (100%) rename {.github => .github-tmp}/workflows/clang_cmake_format_check.yaml (100%) rename {.github => .github-tmp}/workflows/coreneuron-ci.yml (100%) rename {.github => .github-tmp}/workflows/coverage.yml (100%) rename {.github => .github-tmp}/workflows/test-as-submodule.yml (100%) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github-tmp/ISSUE_TEMPLATE/bug_report.md similarity index 100% rename from .github/ISSUE_TEMPLATE/bug_report.md rename to .github-tmp/ISSUE_TEMPLATE/bug_report.md diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github-tmp/ISSUE_TEMPLATE/config.yml similarity index 100% rename from .github/ISSUE_TEMPLATE/config.yml rename to .github-tmp/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github-tmp/ISSUE_TEMPLATE/feature_request.md similarity index 100% rename from .github/ISSUE_TEMPLATE/feature_request.md rename to .github-tmp/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/problem-matchers/address.json b/.github-tmp/problem-matchers/address.json similarity index 100% rename from .github/problem-matchers/address.json rename to .github-tmp/problem-matchers/address.json diff --git a/.github/problem-matchers/gcc.json b/.github-tmp/problem-matchers/gcc.json similarity index 100% rename from .github/problem-matchers/gcc.json rename to .github-tmp/problem-matchers/gcc.json diff --git a/.github/problem-matchers/undefined.json b/.github-tmp/problem-matchers/undefined.json similarity index 100% rename from .github/problem-matchers/undefined.json rename to .github-tmp/problem-matchers/undefined.json diff --git a/.github/pull_request_template.md b/.github-tmp/pull_request_template.md similarity index 100% rename from .github/pull_request_template.md rename to .github-tmp/pull_request_template.md diff --git a/.github/workflows/clang_cmake_format_check.yaml b/.github-tmp/workflows/clang_cmake_format_check.yaml similarity index 100% rename from .github/workflows/clang_cmake_format_check.yaml rename to .github-tmp/workflows/clang_cmake_format_check.yaml diff --git a/.github/workflows/coreneuron-ci.yml b/.github-tmp/workflows/coreneuron-ci.yml similarity index 100% rename from .github/workflows/coreneuron-ci.yml rename to .github-tmp/workflows/coreneuron-ci.yml diff --git a/.github/workflows/coverage.yml b/.github-tmp/workflows/coverage.yml similarity index 100% rename from .github/workflows/coverage.yml rename to .github-tmp/workflows/coverage.yml diff --git a/.github/workflows/test-as-submodule.yml b/.github-tmp/workflows/test-as-submodule.yml similarity index 100% rename from .github/workflows/test-as-submodule.yml rename to .github-tmp/workflows/test-as-submodule.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3336555cb..fc410108c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -163,55 +163,55 @@ build:nmodl: build:neuron:mod2c:intel:shared:debug: extends: [.build_neuron, .spack_intel] variables: - SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~report~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug # needs: ["build:coreneuron:mod2c:intel:shared:debug"] build:neuron:nmodl:intel:debug:legacy: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~report~caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:intel:debug:legacy"] build:neuron:nmodl:intel:shared:debug: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~report~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:intel:shared:debug"] build:neuron:mod2c:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] variables: - SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From ec78f88dcdb38097dafa109e3e33e38ad10d0944 Mon Sep 17 00:00:00 2001 From: pramodk Date: Tue, 15 Nov 2022 18:53:11 +0100 Subject: [PATCH 08/18] disable ~rx3d for neuron builds with intel and nvhpc compilers --- .gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fc410108c..92eea7157 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -163,7 +163,7 @@ build:nmodl: build:neuron:mod2c:intel:shared:debug: extends: [.build_neuron, .spack_intel] variables: - SPACK_PACKAGE_SPEC: ~report~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug # needs: ["build:coreneuron:mod2c:intel:shared:debug"] build:neuron:nmodl:intel:debug:legacy: @@ -183,35 +183,35 @@ build:neuron:nmodl:intel:shared:debug: build:neuron:mod2c:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] variables: - SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From 76744846474ac5f30b4cf64fb7e62d864105dbb9 Mon Sep 17 00:00:00 2001 From: pramodk Date: Tue, 15 Nov 2022 19:34:40 +0100 Subject: [PATCH 09/18] disable --verbose for spack; enable external tests --- .gitlab-ci.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 92eea7157..a261caac6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -65,7 +65,6 @@ simulation_stack: bb5_duration: "2:00:00" SPACK_PACKAGE: neuron SPACK_PACKAGE_SPEC: +coreneuron+debug+tests~legacy-unit~rx3d model_tests=channel-benchmark,olfactory,tqperf-heavy - SPACK_INSTALL_EXTRA_FLAGS: --verbose .gpu_node: variables: bb5_constraint: volta @@ -163,55 +162,55 @@ build:nmodl: build:neuron:mod2c:intel:shared:debug: extends: [.build_neuron, .spack_intel] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:mod2c:intel:shared:debug"] build:neuron:nmodl:intel:debug:legacy: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~report~caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:intel:debug:legacy"] build:neuron:nmodl:intel:shared:debug: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~report~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:intel:shared:debug"] build:neuron:mod2c:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug + SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From 150d94f7e41e32c93285c4d2a604250419ee3270 Mon Sep 17 00:00:00 2001 From: pramodk Date: Wed, 16 Nov 2022 05:44:15 +0100 Subject: [PATCH 10/18] explicitly add +debug --- .gitlab-ci.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a261caac6..f4f96b327 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -162,55 +162,55 @@ build:nmodl: build:neuron:mod2c:intel:shared:debug: extends: [.build_neuron, .spack_intel] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:mod2c:intel:shared:debug"] build:neuron:nmodl:intel:debug:legacy: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:intel:debug:legacy"] build:neuron:nmodl:intel:shared:debug: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:intel:shared:debug"] build:neuron:mod2c:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: ~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From 5482bd84bcb9fe9378f5326f8f33d3b63fa888a4 Mon Sep 17 00:00:00 2001 From: pramodk Date: Wed, 16 Nov 2022 06:00:20 +0100 Subject: [PATCH 11/18] all configs are testing with +coreneuron esp intel as like original CI --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f4f96b327..d274aa5b3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -162,21 +162,21 @@ build:nmodl: build:neuron:mod2c:intel:shared:debug: extends: [.build_neuron, .spack_intel] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:mod2c:intel:shared:debug"] build:neuron:nmodl:intel:debug:legacy: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:intel:debug:legacy"] build:neuron:nmodl:intel:shared:debug: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:intel:shared:debug"] build:neuron:mod2c:nvhpc:acc:shared: From 525fc9e0cd0db5bdba5595fbf97a783e9633faaf Mon Sep 17 00:00:00 2001 From: pramodk Date: Thu, 17 Nov 2022 12:02:35 +0100 Subject: [PATCH 12/18] enable profiling/caliper for omp offload --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d274aa5b3..038688ab1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -203,14 +203,14 @@ build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From d1dd73b7e2084ac3624ce43f72e2c069c4267968 Mon Sep 17 00:00:00 2001 From: pramodk Date: Thu, 17 Nov 2022 13:12:44 +0100 Subject: [PATCH 13/18] lightweight caliper --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 038688ab1..ee1246810 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -203,14 +203,14 @@ build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~adiak~gotcha~libdw~libunwind # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy + SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~adiak~gotcha~libdw~libunwind # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From 5361f479bb0425d7b65664fa3249e9e577893172 Mon Sep 17 00:00:00 2001 From: pramodk Date: Thu, 17 Nov 2022 14:11:22 +0100 Subject: [PATCH 14/18] simplify caliper --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ee1246810..b27375415 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -203,14 +203,15 @@ build:neuron:nmodl:nvhpc:omp:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~adiak~gotcha~libdw~libunwind + SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~libdw~libunwind+cuda%gcc cuda_arch=70 # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~adiak~gotcha~libdw~libunwind + SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~libdw~libunwind+cuda%gcc cuda_arch=70 + # needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] # Test CoreNEURON From baa50da4809d6378f0aec9fb7b1eaac6a8368c7a Mon Sep 17 00:00:00 2001 From: pramodk Date: Thu, 17 Nov 2022 16:05:24 +0100 Subject: [PATCH 15/18] Try debug variant for failing test --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b27375415..c625f82af 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -199,11 +199,11 @@ build:neuron:nmodl:nvhpc:acc:shared: SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy # needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] -build:neuron:nmodl:nvhpc:omp:legacy: +build:neuron:nmodl:nvhpc:omp:legacy:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: - SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~libdw~libunwind+cuda%gcc cuda_arch=70 + SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~libdw~libunwind+cuda%gcc cuda_arch=70 # needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: @@ -278,7 +278,7 @@ test:neuron:nmodl:nvhpc:acc:shared: test:neuron:nmodl:nvhpc:omp:legacy: extends: [.test_neuron, .gpu_node] - needs: ["build:neuron:nmodl:nvhpc:omp:legacy"] + needs: ["build:neuron:nmodl:nvhpc:omp:legacy:debug"] test:neuron:nmodl:nvhpc:omp:debug: extends: [.test_neuron, .gpu_node] From c893da2f0747c388c33e0f473fc882899fd6016f Mon Sep 17 00:00:00 2001 From: pramodk Date: Thu, 17 Nov 2022 23:45:51 +0100 Subject: [PATCH 16/18] clean gitlab pipeline --- .gitlab-ci.yml | 121 ------------------------------------------------- 1 file changed, 121 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c625f82af..a66429aaf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -83,128 +83,46 @@ build:nmodl: SPACK_PACKAGE_SPEC: ~legacy-unit SPACK_PACKAGE_COMPILER: gcc -## Build CoreNEURON -#.build_coreneuron: -# extends: [.build] -# variables: -# SPACK_PACKAGE: coreneuron -# # NEURON depends on py-mpi4py, most of whose dependencies are pulled in by -# # nmodl%gcc, with the exception of MPI, which is pulled in by -# # coreneuron%{nvhpc,intel}. hpe-mpi is an external package anyway, so -# # setting its compiler is just changing how it is labelled in the -# # dependency graph and not changing which installation is used, but this -# # means that in the NEURON step an existing py-mpi4py%gcc can be used. -# # Otherwise a new py-mpi4py with hpe-mpi%{nvhpc,intel} will be built. -# # caliper: papi%nvhpc does not build; use the caliper from the deployment -# # TODO: fix this more robustly so we don't have to play so many games. -# SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc ^caliper%gcc+cuda cuda_arch=70 -# -## TODO: improve coverage by switching an Intel build to be statically linked -## TODO: improve coverage by switching an Intel build to RelWithDebInfo -## TODO: improve coverage by enabling +openmp on an Intel build -#build:coreneuron:mod2c:intel:shared:debug: -# extends: [.build_coreneuron, .spack_intel] -# variables: -# SPACK_PACKAGE_SPEC: +caliper~gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug -# -#build:coreneuron:nmodl:intel:debug:legacy: -# extends: [.build_coreneuron, .spack_intel] -# needs: ["build:nmodl"] -# variables: -# SPACK_PACKAGE_SPEC: +caliper~gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug -# -## Disable caliper to improve coverage -#build:coreneuron:nmodl:intel:shared:debug: -# extends: [.build_coreneuron, .spack_intel] -# needs: ["build:nmodl"] -# variables: -# SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc -# SPACK_PACKAGE_SPEC: ~caliper~gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug -# -## Not linked to a NEURON build+test job, see -## https://github.com/BlueBrain/CoreNeuron/issues/594 -#build:coreneuron:mod2c:nvhpc:acc:debug:unified: -# extends: [.build_coreneuron, .spack_nvhpc] -# variables: -# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit~nmodl+openmp~shared+tests+unified build_type=Debug -# -## Shared + OpenACC + OpenMP host threading has problems -#build:coreneuron:mod2c:nvhpc:acc:shared: -# extends: [.build_coreneuron, .spack_nvhpc] -# variables: -# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo -# -#build:coreneuron:nmodl:nvhpc:acc:debug:legacy: -# extends: [.build_coreneuron, .spack_nvhpc] -# needs: ["build:nmodl"] -# variables: -# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug -# -#build:coreneuron:nmodl:nvhpc:acc:shared: -# extends: [.build_coreneuron, .spack_nvhpc] -# needs: ["build:nmodl"] -# variables: -# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo -# -#build:coreneuron:nmodl:nvhpc:omp:legacy: -# extends: [.build_coreneuron, .spack_nvhpc] -# needs: ["build:nmodl"] -# variables: -# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=RelWithDebInfo -# -#build:coreneuron:nmodl:nvhpc:omp:debug: -# extends: [.build_coreneuron, .spack_nvhpc] -# needs: ["build:nmodl"] -# variables: -# SPACK_PACKAGE_SPEC: +caliper+gpu~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug - # Build NEURON build:neuron:mod2c:intel:shared:debug: extends: [.build_neuron, .spack_intel] variables: SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy -# needs: ["build:coreneuron:mod2c:intel:shared:debug"] build:neuron:nmodl:intel:debug:legacy: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy -# needs: ["build:coreneuron:nmodl:intel:debug:legacy"] build:neuron:nmodl:intel:shared:debug: extends: [.build_neuron, .spack_intel] needs: ["build:nmodl"] variables: SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper~gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy -# needs: ["build:coreneuron:nmodl:intel:shared:debug"] build:neuron:mod2c:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] variables: SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit~nmodl~openmp+shared+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy -# needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:acc:debug:legacy: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy -# needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] build:neuron:nmodl:nvhpc:acc:shared: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: SPACK_PACKAGE_SPEC: +debug~rx3d~report~caliper+gpu+coreneuron~legacy-unit+nmodl~openmp+shared+sympy+tests~unified build_type=RelWithDebInfo model_tests=channel-benchmark,olfactory,tqperf-heavy -# needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] build:neuron:nmodl:nvhpc:omp:legacy:debug: extends: [.build_neuron, .spack_nvhpc] needs: ["build:nmodl"] variables: SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared~sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~libdw~libunwind+cuda%gcc cuda_arch=70 -# needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] build:neuron:nmodl:nvhpc:omp:debug: extends: [.build_neuron, .spack_nvhpc] @@ -212,45 +130,6 @@ build:neuron:nmodl:nvhpc:omp:debug: variables: SPACK_PACKAGE_SPEC: +debug~rx3d~report+caliper+gpu+coreneuron~legacy-unit+nmodl+openmp~shared+sympy+tests~unified build_type=Debug model_tests=channel-benchmark,olfactory,tqperf-heavy ^caliper~libdw~libunwind+cuda%gcc cuda_arch=70 -# needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] - -# Test CoreNEURON -#test:coreneuron:mod2c:intel:shared:debug: -# extends: [.ctest] -# needs: ["build:coreneuron:mod2c:intel:shared:debug"] - -#test:coreneuron:nmodl:intel:debug:legacy: -# extends: [.ctest] -# needs: ["build:coreneuron:nmodl:intel:debug:legacy"] - -#test:coreneuron:nmodl:intel:shared:debug: -# extends: [.ctest] -# needs: ["build:coreneuron:nmodl:intel:shared:debug"] -# -#test:coreneuron:mod2c:nvhpc:acc:debug:unified: -# extends: [.ctest, .gpu_node] -# needs: ["build:coreneuron:mod2c:nvhpc:acc:debug:unified"] -# -#test:coreneuron:mod2c:nvhpc:acc:shared: -# extends: [.ctest, .gpu_node] -# needs: ["build:coreneuron:mod2c:nvhpc:acc:shared"] -# -#test:coreneuron:nmodl:nvhpc:acc:debug:legacy: -# extends: [.ctest, .gpu_node] -# needs: ["build:coreneuron:nmodl:nvhpc:acc:debug:legacy"] -# -#test:coreneuron:nmodl:nvhpc:acc:shared: -# extends: [.ctest, .gpu_node] -# needs: ["build:coreneuron:nmodl:nvhpc:acc:shared"] -# -#test:coreneuron:nmodl:nvhpc:omp:legacy: -# extends: [.ctest, .gpu_node] -# needs: ["build:coreneuron:nmodl:nvhpc:omp:legacy"] -# -#test:coreneuron:nmodl:nvhpc:omp:debug: -# extends: [.ctest, .gpu_node] -# needs: ["build:coreneuron:nmodl:nvhpc:omp:debug"] - # Test NEURON test:neuron:mod2c:intel:shared:debug: extends: [.test_neuron] From 9ed34ccbb29ff6ab8ce616388d5d42f47ceddbac Mon Sep 17 00:00:00 2001 From: pramodk Date: Fri, 18 Nov 2022 19:45:00 +0100 Subject: [PATCH 17/18] test integration of apple m1 runner --- .gitlab-ci.yml | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a66429aaf..d4009f761 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,6 +7,99 @@ include: - project: hpc/gitlab-upload-logs file: enable-upload.yml + +# see https://gitlab.com/gitlab-org/gitlab/-/issues/263401 for why we specify the flags like this now +# 130 characters seems to be the point at which jobs refuse to run +.matrix: + parallel: + matrix: + - build_mode: cmake + cmake_coreneuron: "ON" + cmake_interviews: "OFF" + cmake_rx3d: "OFF" + sanitizer: address + +mac_m1_cmake_build: + stage: build + extends: .matrix + cache: + # either CI_MERGE_REQUEST_SOURCE_BRANCH_NAME or CI_COMMIT_BRANCH will be available, + # depending on whether this pipeline runs for a merge request or on a branch + # either way, we get the active branch in the cache key + key: ${CI_JOB_NAME}-${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}${CI_COMMIT_BRANCH} + paths: + - ./ccache + variables: + CCACHE_BASEDIR: ${CI_PROJECT_DIR}/nrn + CCACHE_DIR: ${CI_PROJECT_DIR}/ccache + CMAKE_BUILD_PARALLEL_LEVEL: 3 + CTEST_PARALLEL_LEVEL: 3 + tags: + - macos-arm64 + script: + - python3 -m virtualenv venv + - venv/bin/pip install --upgrade pip -r nrn_requirements.txt + - venv/bin/python --version + - 'venv/bin/python -c "import os,matplotlib; f = open(os.path.join(os.path.dirname(matplotlib.__file__), \"mpl-data/matplotlibrc\"),\"a\"); f.write(\"backend: TkAgg\");f.close();"' + - 'export CXX=${CXX:-g++}' + - 'export CC=${CC:-gcc}' + - export PYTHON=$(pwd)/venv/bin/python3 + - export INSTALL_DIR=$(pwd)/install + - echo $LANG + - echo $LC_ALL + - source venv/bin/activate + - 'export PYTHONPATH=$(${PYTHON} -c "import site; print(\":\".join(site.getsitepackages()))")' + - 'export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/lib/python/' + - ${PYTHON} -c 'import os,sys; os.set_blocking(sys.stdout.fileno(), True)' + - cmake_args=(-G Ninja) + - if [[ -n "${sanitizer}" ]]; then + - cmake_args+=(-DCMAKE_BUILD_TYPE=Custom + -DCMAKE_C_FLAGS="-O1 -g" + -DCMAKE_CXX_FLAGS="-O1 -g" + -DNRN_SANITIZERS=$(echo ${sanitizer} | sed -e 's/-/,/g')) + - fi + - cmake_args+=(-DCMAKE_C_COMPILER="${CC}" + -DCMAKE_C_COMPILER_LAUNCHER=ccache + -DCMAKE_CXX_COMPILER="${CXX}" + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache + -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" + -DNRN_ENABLE_TESTS=ON + -DNRN_ENABLE_CORENEURON=${cmake_coreneuron} + -DNRN_ENABLE_INTERVIEWS=${cmake_interviews} + -DNRN_ENABLE_RX3D=${cmake_rx3d} + -DCORENRN_SANITIZERS=${sanitizer}) + - cmake_args+=(-DPYTHON_EXECUTABLE="${PYTHON}") + - git clone https://github.com/neuronsimulator/nrn.git && cd nrn + - mkdir build && cd build + - echo "Building with ${cmake_args[@]}" + - cmake .. "${cmake_args[@]}" + - ccache -z + - ccache -vs 2>/dev/null + - cmake --build . --parallel + - ccache -vs 2>/dev/null + - echo $'[install]\nprefix='>src/nrnpython/setup.cfg + - cat src/nrnpython/setup.cfg + - ctest --output-on-failure + - cmake --build . --target install + - 'export PATH=${INSTALL_DIR}/bin:${PATH}' + - if [[ -f "${INSTALL_DIR}/bin/nrn-enable-sanitizer" ]]; then + - echo --- bin/nrn-enable-sanitizer --- + - cat bin/nrn-enable-sanitizer + - echo --- + - nrn_enable_sanitizer=${INSTALL_DIR}/bin/nrn-enable-sanitizer + - nrn_enable_sanitizer_preload="${nrn_enable_sanitizer} --preload" + - else + - echo nrn-enable-sanitizer not found, not using it + - fi + - if [[ ! "${cmake_args[*]}" =~ "NRN_ENABLE_PYTHON=OFF" ]]; then + - $PYTHON --version && ${nrn_enable_sanitizer_preload} python -c 'import neuron; neuron.test()' + - fi; + - ${nrn_enable_sanitizer} neurondemo -nogui -c 'demo(4)' -c 'run()' -c 'quit()' + - if [[ ! "${cmake_args[*]}" =~ "NRN_ENABLE_RX3D=OFF" + && ! "${cmake_args[*]}" =~ "NRN_ENABLE_CORENEURON=ON" ]]; then + - ${nrn_enable_sanitizer_preload} python ../share/lib/python/neuron/rxdtests/run_all.py + - fi; + variables: NEURON_BRANCH: description: Branch of NEURON to build against CoreNEURON (NEURON_COMMIT and NEURON_TAG also possible) From 25c378109e627dbba45b92ee2af75684a74b63f3 Mon Sep 17 00:00:00 2001 From: pramodk Date: Fri, 18 Nov 2022 19:47:03 +0100 Subject: [PATCH 18/18] move apple build at pre statge --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d4009f761..f9a002fad 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,7 +20,7 @@ include: sanitizer: address mac_m1_cmake_build: - stage: build + stage: .pre extends: .matrix cache: # either CI_MERGE_REQUEST_SOURCE_BRANCH_NAME or CI_COMMIT_BRANCH will be available, @@ -37,6 +37,7 @@ mac_m1_cmake_build: tags: - macos-arm64 script: + - git clone https://github.com/neuronsimulator/nrn.git && cd nrn - python3 -m virtualenv venv - venv/bin/pip install --upgrade pip -r nrn_requirements.txt - venv/bin/python --version @@ -69,7 +70,6 @@ mac_m1_cmake_build: -DNRN_ENABLE_RX3D=${cmake_rx3d} -DCORENRN_SANITIZERS=${sanitizer}) - cmake_args+=(-DPYTHON_EXECUTABLE="${PYTHON}") - - git clone https://github.com/neuronsimulator/nrn.git && cd nrn - mkdir build && cd build - echo "Building with ${cmake_args[@]}" - cmake .. "${cmake_args[@]}"