nrn_setup: use std::vector for cell_groups (dat_files)
Context
Coreneuron nrn_setup uses a plain malloc'd array for holding the input data cell groups (from files.dat).
These arrays, besides being plain old and not self managed, could not grow and had a static size of nfiles/nranks + 1.
However, in the view of the upcoming load balanced input data, each rank may hold a different count of cell groups. Those changes will come as a follow-up PR.
This PR
Refactors this part of the code to replace the data structure by an std::vector, which
- grows as required and auto deallocs
- avoids the book-keeping of the size as a separate variable
Logfiles from GitLab pipeline #238011 (:no_entry:) have been uploaded here!
Status and direct links:
- :no_entry: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :no_entry: test:neuron:nmodl:intel:legacy
- :no_entry: test:neuron:nmodl:intel:shared
- :no_entry: test:neuron:nmodl:nvhpc:acc:legacy
- :no_entry: test:neuron:nmodl:nvhpc:acc:shared
- :no_entry: test:neuron:nmodl:nvhpc:omp:legacy
- :no_entry: test:neuron:nmodl:nvhpc:omp
✔️ d05e252d80bbb41a8b3ca57739841f6d231607c0 -> Azure artifacts URL
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 67.08%. Comparing base (
9015833) to head (2659180).
Additional details and impacted files
@@ Coverage Diff @@
## master #3185 +/- ##
==========================================
- Coverage 67.08% 67.08% -0.01%
==========================================
Files 571 571
Lines 111044 111045 +1
==========================================
Hits 74489 74489
- Misses 36555 36556 +1
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Logfiles from GitLab pipeline #238036 (:no_entry:) have been uploaded here!
Status and direct links:
- :white_check_mark: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :white_check_mark: test:neuron:nmodl:intel:legacy
- :white_check_mark: test:neuron:nmodl:intel:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:legacy
- :no_entry: test:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:omp
✔️ 38baa2637fb58cd40b858818d60dbb35a416083a -> Azure artifacts URL
Logfiles from GitLab pipeline #238039 (:no_entry:) have been uploaded here!
Status and direct links:
- :white_check_mark: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :white_check_mark: test:neuron:nmodl:intel:legacy
- :white_check_mark: test:neuron:nmodl:intel:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:shared
- :no_entry: test:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:omp
✔️ 4e0e064c35686915c930cc84a47146560e24f634 -> Azure artifacts URL
Logfiles from GitLab pipeline #238394 (:no_entry:) have been uploaded here!
Status and direct links:
- :white_check_mark: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :white_check_mark: test:neuron:nmodl:intel:legacy
- :white_check_mark: test:neuron:nmodl:intel:shared
- :no_entry: test:neuron:nmodl:nvhpc:acc:legacy
- :no_entry: test:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:omp
Logfiles from GitLab pipeline #238534 (:white_check_mark:) have been uploaded here!
Status and direct links:
- :white_check_mark: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :white_check_mark: test:neuron:nmodl:intel:legacy
- :white_check_mark: test:neuron:nmodl:intel:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:omp
✔️ 86be204cc41610524b73c4dace2281b752474e25 -> Azure artifacts URL
✔️ 63a32f656ca38c2ba5530b7bc8c1af78eb9a378d -> Azure artifacts URL
Logfiles from GitLab pipeline #238751 (:white_check_mark:) have been uploaded here!
Status and direct links:
- :white_check_mark: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :white_check_mark: test:neuron:nmodl:intel:legacy
- :white_check_mark: test:neuron:nmodl:intel:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:omp
@1uc anything missing here?
Indeed, there should be no functional changes, including preallocating the vector with the same size as the original array
Logfiles from GitLab pipeline #239016 (:white_check_mark:) have been uploaded here!
Status and direct links:
- :white_check_mark: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :white_check_mark: test:neuron:nmodl:intel:legacy
- :white_check_mark: test:neuron:nmodl:intel:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:omp
✔️ 0f55dd6db2dd8295cfe9e942b96dd292a28cc364 -> Azure artifacts URL
Logfiles from GitLab pipeline #239871 (:no_entry:) have been uploaded here!
Status and direct links:
- :white_check_mark: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :white_check_mark: test:neuron:nmodl:intel:legacy
- :white_check_mark: test:neuron:nmodl:intel:shared
- :no_entry: test:neuron:nmodl:nvhpc:acc:legacy
- :no_entry: test:neuron:nmodl:nvhpc:acc:shared
- :no_entry: test:neuron:nmodl:nvhpc:omp:legacy
- :no_entry: test:neuron:nmodl:nvhpc:omp
✔️ 1033a0cb84d0f5a2ba73ab902b20b3e075db56d6 -> Azure artifacts URL
Quality Gate passed
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code
✔️ 1853c776f5b90f5877c3ad3bcbdbd1b19a3a96ee -> Azure artifacts URL
Logfiles from GitLab pipeline #240248 (:no_entry:) have been uploaded here!
Status and direct links:
- :white_check_mark: mac_m1_cmake_build: [cmake, ON, OFF, OFF, address]
- :white_check_mark: spack_setup
- :white_check_mark: build:nmodl
- :white_check_mark: build:neuron:nmodl:intel:legacy
- :white_check_mark: build:neuron:nmodl:intel:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:acc:shared
- :white_check_mark: build:neuron:nmodl:nvhpc:omp:legacy
- :white_check_mark: build:neuron:nmodl:nvhpc:omp
- :white_check_mark: test:neuron:nmodl:intel:legacy
- :white_check_mark: test:neuron:nmodl:intel:shared
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:legacy
- :white_check_mark: test:neuron:nmodl:nvhpc:acc:shared
- :no_entry: test:neuron:nmodl:nvhpc:omp:legacy
- :no_entry: test:neuron:nmodl:nvhpc:omp
Quality Gate passed
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code