This repository was archived by the owner on Mar 20, 2023. It is now read-only.
This repository was archived by the owner on Mar 20, 2023. It is now read-only.
Different results with and without OpenMP threads #154
Open
Description
Tests from testcorenrn repository that simulate more than 1 cell produce different outputs from Neuron
when run with CoreNeuron with SoA
configuration and more than 1 OpenMP thread
.
CoreNeuron was built using the following CMake
options:
cmake \
-G 'Unix Makefiles' \
-DCMAKE_INSTALL_PREFIX=./install \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_FLAGS:STRING="-O0" \
-DCMAKE_CXX_FLAGS:STRING="-O0" \
-DENABLE_SOA=ON \
-DCORENEURON_OPENMP=ON \
-DTEST_MPI_EXEC_BIN="mpirun" \
-DTEST_EXEC_PREFIX="mpirun;-n;2" \
-DAUTO_TEST_WITH_SLURM=OFF \
-DAUTO_TEST_WITH_MPIEXEC=OFF \
.. /
To run a test (for example "watch" which produces different output):
git clone [email protected]:pramodk/testcorenrn.git
cd testcorenrn
nrnivmodl mod
nrnivmodl-core mod
mkdir testwatchdat
mpirun -n 6 ./x86_64/special -mpi -c sim_time=100 testwatch.hoc
cat out.dat | sort -k 1n,1n -k 2n,2n > out_nrn_watch.spk
export OMP_NUM_THREADS=1
mpirun -n 6 ./x86_64/special-core -mpi -d test${NAME}dat -e 100
diff -w -q out.dat out_nrn_watch.spk // Same results
export OMP_NUM_THREADS=2
mpirun -n 3 ./x86_64/special-core -mpi -d test${NAME}dat -e 100
diff -w -q out.dat out_nrn_watch.spk // Different results
Metadata
Metadata
Assignees
Labels
No labels