Ошибка MPI_Init_thread при интеграции LAMMPS и параллельного Python в скрипт Slurm ⇐ Linux
Ошибка MPI_Init_thread при интеграции LAMMPS и параллельного Python в скрипт Slurm
Я пытаюсь отправить сценарий Slurm в кластеры моей школы, стремясь выполнить вычисления LAMMPS и постобработку с помощью параллельного Python на основе MPI в одном сценарии. Однако я столкнулся с ошибкой. Поэкспериментировав, я сократил сценарий до минимальной формы, которая постоянно вызывает ошибку. мой файл Slurm выглядит так:
#!/bin/bash #SBATCH --job-name=xx #SBATCH -N 1 #SBATCH -n 48 #SBATCH -o %J.out #SBATCH -e %J.err #SBATCH --partition=xxx источник /data/soft/profile.d/lammps.sh источник активировать среду mpirun -np $SLURM_NPROCS заказ/order.py Файл «lammps.sh» импортирует необходимые переменные среды для вычислений LAMMPS, и его содержимое по существу следующее:
LAMMPS_HOME_DIR=/data/soft/lammps/29Oct20 экспортировать PATH=${LAMMPS_HOME_DIR}/bin:$PATH экспорт LIBRARY_PATH=${LAMMPS_HOME_DIR}/lib:${LAMMPS_HOME_DIR}/external_libs/lib:${LAMMPS_HOME_DIR}/external_libs/lib64:$LIBRARY_PATH Env — это виртуальная среда с установленным mpi4py. «order.py» — это файл, использующий mpi4py. Когда я отправляю файл, я получаю следующую ошибку:
*** Произошла ошибка в MPI_Init_thread. *** на НУЛЕВОМ коммуникаторе *** MPI_ERRORS_ARE_FATAL (процессы в этом коммуникаторе теперь будут прерываться, *** и, возможно, ваша работа в MPI) [node2:250691] Локальное прерывание до завершения MPI_INIT завершилось успешно, но я не могу агрегировать сообщения об ошибках и не могу гарантировать, что все остальные процессы были завершены! Эта ошибка повторяется 48 раз. Однако когда я закомментирую первую строку (т. е. источник /data/soft/profile.d/lammps.sh), оставшаяся параллельная часть Python запускается успешно.
Я уверен в правильности моего распараллеливания. Поэтому мне хотелось бы понять причину ошибки и существуют ли подходы к сосуществованию обоих разделов (LAMMPS и Python) или альтернативные способы достижения того же эффекта.
Я пытаюсь отправить сценарий Slurm в кластеры моей школы, стремясь выполнить вычисления LAMMPS и постобработку с помощью параллельного Python на основе MPI в одном сценарии. Однако я столкнулся с ошибкой. Поэкспериментировав, я сократил сценарий до минимальной формы, которая постоянно вызывает ошибку. мой файл Slurm выглядит так:
#!/bin/bash #SBATCH --job-name=xx #SBATCH -N 1 #SBATCH -n 48 #SBATCH -o %J.out #SBATCH -e %J.err #SBATCH --partition=xxx источник /data/soft/profile.d/lammps.sh источник активировать среду mpirun -np $SLURM_NPROCS заказ/order.py Файл «lammps.sh» импортирует необходимые переменные среды для вычислений LAMMPS, и его содержимое по существу следующее:
LAMMPS_HOME_DIR=/data/soft/lammps/29Oct20 экспортировать PATH=${LAMMPS_HOME_DIR}/bin:$PATH экспорт LIBRARY_PATH=${LAMMPS_HOME_DIR}/lib:${LAMMPS_HOME_DIR}/external_libs/lib:${LAMMPS_HOME_DIR}/external_libs/lib64:$LIBRARY_PATH Env — это виртуальная среда с установленным mpi4py. «order.py» — это файл, использующий mpi4py. Когда я отправляю файл, я получаю следующую ошибку:
*** Произошла ошибка в MPI_Init_thread. *** на НУЛЕВОМ коммуникаторе *** MPI_ERRORS_ARE_FATAL (процессы в этом коммуникаторе теперь будут прерываться, *** и, возможно, ваша работа в MPI) [node2:250691] Локальное прерывание до завершения MPI_INIT завершилось успешно, но я не могу агрегировать сообщения об ошибках и не могу гарантировать, что все остальные процессы были завершены! Эта ошибка повторяется 48 раз. Однако когда я закомментирую первую строку (т. е. источник /data/soft/profile.d/lammps.sh), оставшаяся параллельная часть Python запускается успешно.
Я уверен в правильности моего распараллеливания. Поэтому мне хотелось бы понять причину ошибки и существуют ли подходы к сосуществованию обоих разделов (LAMMPS и Python) или альтернативные способы достижения того же эффекта.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение