每当使用 dask_ml 和 dask 包时,我们都会遇到并行处理问题。我们观察到的现象是:dask 无法被 Slurm 作业管理器控制,无法正确分配 MPI 作业。所有worker的性能都很低(CPU不到10%),产生了很多线程(~100),仍然无法完成计算。请注意,这个 python 对象在 Comet 上运行非常高效,完全没有问题。
例如,在主 python (3.6.9) 脚本中:
import dask_ml.model_selection as dcv
njobs=16
regressor = dcv.GridSearchCV(snn.MLPRegressor(verbose=False),param_list,cv=5,n_jobs=njobs)
# Job Submission
#===#
#!/bin/bash
#SBATCH -A csd665 --partition=shared --nodes=1 --ntasks-per-node=16 --mem=32 GB --time=1:00:00 -o Job%4jOutput-%u-%x-%N-%A.SlurmOut.txt -e Job%4jError-%u-%x-%N-%A.SlurmOut.txt
module purge
module load cpu
module load gcc
module load mvapich2
module load slurm
date
python ./run.ref
date
#===#
我们安装的dask版本是:2.12.0;我们安装的 dask_ml 版本是:1.2.0。您能否给我们一些指导,告诉我们如何检查当前版本的 dask/dask_ml 与 Expanse 环境的兼容性?你有关于设置 dask/dask_ml 的经验吗?
非常感谢!我们正在等待您的回复。非常感谢!