dask:在使用 mpi 后端时加载分布在多个节点上的数据

问题描述

我有以下任务需要解决,非常感谢您的帮助。

  • 在大型机器上,我有 M文件,名为 data_1data_2、...、data_M,这些文件是通过运行大型模拟生成的与 MPI。这些文件分布在 N 个节点上。

  • 我需要并行读取所有这些文件并组装一个大矩阵 A,分布在这N 节点上,然后计算其 SVD。

  • 然后,我还需要将 SVD 左奇异向量写回文件。最好保留有关数据最初如何拆分的信息。

我的问题是:

  • 这是否可以通过 dask 以 SPMD 方式使用 MPI 通信层(即 dask_mpi)来完成?基本上,我希望每个物理节点都有一个 dask 工人。 dask_mpi 将调度程序设置为 rank=0,脚本在 rank=1 上运行 并且工作人员在 rank>=2 上运行。 我从在线文档中不清楚如何从所有节点读取所有数据,因为脚本本身仅由 rank=2 运行,所以我没有办法让每个工作人员读取一条数据。>

  • 是否有另一种/更好的方法dask 或使用其他方法来做到这一点?

另外,与此相关,我发现了这个注释:https://docs.nersc.gov/analytics/dask/ 据说 dask “ask 不会像 MPI 那样扩展”。是真的吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)