Dask-MPI
目录
Dask-MPI¶
使用 MPI 轻松部署 Dask
Dask-MPI 项目使得在现有 MPI 环境中轻松部署 Dask 成为可能,例如使用常用的 MPI 命令行启动器 mpirun
或 mpiexec
创建的环境。此类环境常见于高性能超级计算机、学术研究机构和其他已安装 MPI 的集群中。
Dask-MPI 提供了两种便捷的启动 Dask 的接口,可以从批处理脚本中启动,也可以直接从命令行启动。
批处理脚本示例¶
您可以使用 dask_mpi.initialize
函数将您的批处理 Python 脚本转换为 MPI 可执行文件。
from dask_mpi import initialize
initialize()
from dask.distributed import Client
client = Client() # Connect this local process to remote workers
这使得您的 Python 脚本可以直接使用 mpirun
或 mpiexec
启动。
mpirun -np 4 python my_client_script.py
这将在一个内聚的 MPI 计算中部署 Dask 调度器和工作节点以及用户的客户端进程。
命令行示例¶
或者,您可以使用 dask-mpi
命令直接从命令行启动 Dask 集群,并指定一个调度器文件,Dask 将在该文件中写入连接信息。
mpirun -np 4 dask-mpi --scheduler-file ~/dask-scheduler.json
然后,您可以通过引用 dask-mpi
创建的同一个调度器文件,从单独的批处理脚本或交互式会话(例如 Jupyter Notebook)访问此集群。
from dask.distributed import Client
client = Client(scheduler_file='~/dask-scheduler.json')
直接使用作业队列系统¶
您也可以使用 Dask Jobqueue 将 Dask 直接部署到 SLURM, SGE, PBS, LSF, Torque 等作业队列系统上。当您想在计算过程中动态扩展集群或用于交互式使用时,这会特别方便。