SIRIUS
SIRIUS copied to clipboard
The test sirius.scf_test19_cpu_serial in verification/test19 fails: Can't divide 1 ranks into groups of size 4
In this place:
1475│ int npk = comm_.size() / npb;
1476│ if (npk * npb != comm_.size()) {
1477│ std::stringstream s;
1478│ s << "Can't divide " << comm_.size() << " ranks into groups of size " << npb;
1479├───────> RTE_THROW(s);
1480│ }
in src/context/simulation_context.cpp the exception is thrown with this error:
Can't divide 1 ranks into groups of size 4
What could be wrong?
Version: 7.4.3 clang-15 mpich-3.4.3 FreeBSD 13.2
The only explanation is that mpi_grid_dims != [1,1] (possible values could be [2,2], [1,4] or [4,1]) and execution is requested on 1 MPI rank. So you are basically asking for band paralellisation without providing enough MPI ranks.