Skip to content
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

Description

@iomaganaris

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 git@github.com: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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions