parallel-processing - Rust 如何处理分布式内存并行性?

标签 parallel-processing rust mpi cluster-computing hpc

<分区>

Rust 如何处理分布式内存并行性?就此而言,我指的是语言结构、库或其他功能来处理类似于 MPI 提供的 C 的集群之类的计算,但不一定使用相同的原语或方法。在 Rustonomicon 中,我看到了关于线程和并发的讨论,但我没有看到任何关于跨多台计算机并行化的讨论。

最佳答案

据我所知,分布式计算语言实际上并没有内置任何东西(这是可以理解的,因为可以说这不是该语言的主要重点,或者至少在当时不是这样)。我不相信有任何特别流行的 crate 或其他用于分布式计算的 crate 。 Actix可能是唯一获得任何牵引力的 actor crate,它支持 HTTP,但我不认为它是针对 HPC/ super 计算机设置的。您肯定也想查看 Tokio ,这似乎是 Rust 中用于异步编程的 库,并且专门针对网络 IO 操作。

目前,如果您希望复制 MPI,我猜您最好的选择是将 FFI 用于基于 C 的 MPI 库。似乎有 a handful of attempts为 Rust 创建到 MPI 的绑定(bind),但我不确定它们是否特别完整。

关于parallel-processing - Rust 如何处理分布式内存并行性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52674215/

相关文章:

mysql - 使用 R doParallel 或 foreach 从 mysql 并行获取数据

string - 是否有 UTF-16 字符串类型的 Rust 库? (用于编写 Javascript 解释器)

c - 并行红/黑连续过度松弛 (SOR) 实现中的一些错误

c++ - 在linux makefile上运行MPI程序

c++ - 更高的核心负载 Intel TBB

python - 为Dask分布式客户端准备数据的最佳方式

rust - 如何修复 Rust 中无法返回值引用函数参数错误

string - Rust 中的 r #""# 运算符是什么?

mpi - 并行计算中处理器和进程的区别?

c# - .Net 并行 WaitAll()