dbcsr
dbcsr copied to clipboard
ranks with unequal number of threads
It seems dbcsr_mm_multrec.F:309 can crash with OOB access if ranks have unequal number of threads?
A test script looks like:
#!/usr/bin/env bash
NPROC=$(nproc)
MYVAR=$1
VAR=$((MYVAR<NPROC?MYVAR:(NPROC-1)))
export OMP_NUM_THREADS=$((0<RANDOM%2?(NPROC-VAR):NPROC))
echo "OMP_NUM_THREADS=${OMP_NUM_THREADS}"
shift && eval "$*"
The actual test is:
mpirun -np 16 ./runbug.sh 2 /path/to/cp2k-exe/cp2k.psmp /path/to/benchmarks/QS_single_node/dbcsr.inp
This test assumes more than two threads per rank, and varies the number of OpenMP threads per rank by the given variation (2).