Недостаточно заблокированной памяти (rdma_setup_startup_ring: невозможно создать cq)
У меня проблема с количеством доступной памяти на странице, заблокированной в CentOS 7. После выделения узлов с slurm, когда я запускаю задание с MPI (mvapich), я сталкиваюсь со следующей ошибкой:
Fatal error in MPI_Init:
Other MPI error, error stack:
MPIR_Init_thread(514).......:
MPID_Init(359)..............: channel initialization failed
MPIDI_CH3_Init(401).........:
MPIDI_CH3I_RDMA_init(221)...:
rdma_setup_startup_ring(410): cannot create cq
Кажется, это связано с отсутствием заблокированной памяти. Тем не менее, кажется, установлен неограниченный ulimit -a
возвращает:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 254957
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
При запуске mpirun
с sudo это работает.
1 ответ
Решение
Проблема возникла из-за грязи, которая не смогла получить правильное значение для максимальной заблокированной памяти. salloc -N ulimit -l
вернул 64 вместо неограниченного.
Решение состоит в том, чтобы добавить следующую строку в /etc/init.d/slurm
ulimit -l unlimited
Затем остановитесь и начните снова лохмотья
sudo /etc/init.d/slurm stop
sudo /etc/init.d/slurm start