У меня есть программа, в которой каждая задача - это вызов внешней программы C ++ через subprocess.Popen
.Задачи расположены в виде графика, и все выполняется командой dask get
.
У меня есть версия этой программы для одного узла, которая прекрасно работает с dask.threaded
, и я пытаюсь расширить эту версиюк распределенной настройке.Моя цель - запустить его на кластере Slurm, но у меня проблемы с развертыванием рабочих.Когда я запускаю следующее:
screen -d -m dask-scheduler --scheduler-file scheduler.json
screen -d -m srun dask-worker --scheduler-file scheduler.json
python3 myscript.py
на каждом узле используется только одно ядро (из двадцати ядер на узел).
Я подозревал некоторые проблемы с GIL, но скриптс dask.threaded
прекрасно работает, поэтому я не совсем уверен, что происходит, и некоторая помощь будет признательна.