Цикл Python не работает в SLURM

У меня есть код на Python, который использует функцию (назовем ее Integrator_MPI), которая распараллеливается в соответствии с MPI. Я извлекаю этот код в HPCC, отправляя задание, соответствующие строки которого:

#!/bin/bash
#SBATCH --job-name=Job        # create a short name for your job
#SBATCH --cpus-per-task=12       # cpu-cores per task (>1 if multi-threaded tasks)
#SBATCH --mem-per-cpu=5G         # memory per cpu-core (4G is default)
#SBATCH --time=60:00:00          # total run time limit (HH:MM:SS)


export IMPIPMI_LIBRARY=/usr/lib64/libpmi.so #This is required by the cluster
export IMPIFABRICS=shm:ofa                  #This is required by the cluster

mpirun -n 12  python3 my_code.py

При этом код работает без проблем.

Но когда я изменяю свой код на Python, чтобы многократно вызывать функцию integrationtor_MPI(),

for i in range(Ntimes):
    ####______ code block that alters the input/data___ ###############
    #...
    integrator_MPI()

вычисляется только первая итерация, и код никогда не перестает работать. Это происходит только тогда, когда я пытаюсь запустить его в кластере. На моем ноутбуке петля работает нормально.

Должен ли я вместо этого записать цикл в файл задания или есть способ исправить это?

0 ответов

Другие вопросы по тегам