gpt4 book ai didi

multithreading - 不同主机上的 OpenMP 程序

转载 作者:行者123 更新时间:2023-12-04 00:14:06 24 4
gpt4 key购买 nike

我想知道是否可以在多个主机上运行 OpenMP 程序。到目前为止,我只听说过可以在多个线程上执行但都在同一台物理计算机中执行的程序。是否可以在两个(或更多)客户端上执行程序?我不想使用 MPI。

最佳答案

是的,可以在分布式系统上运行 OpenMP 程序,但我怀疑周围的每个用户都可以使用它。 ScaleMP 提供 vSMP——一种昂贵的商业虚拟机管理程序软件,允许在许多联网主机上创建虚拟 NUMA 机器,然后在此 VM 内运行常规操作系统(Linux 或 Windows)。它需要快速的网络互连(例如 InfiniBand)和专用主机(因为它在正常操作系统下作为管理程序运行)。我们这里有一个可操作的 vSMP 集群,它运行未经修改的 OpenMP 应用程序,但性能在很大程度上取决于数据层次结构和访问模式。

NICTA 曾经开发过类似的名为 vNUMA 的 SSI 管理程序,但开发也停止了。此外,他们的解决方案是特定于 IA64 的(IA64 是 Intel Itanium,不要与 Intel64 混淆,这是他们当前一代的 x86 CPU)。

Intel 曾经开发过 Cluster OpenMP(ClOMP;不要误认为是将 OpenMP 支持引入 Clang 的同名项目),但由于“客户普遍缺乏兴趣以及显示 yield 的案例少于预期”而被放弃了(来自 here)。 ClOMP 是英特尔对 OpenMP 的扩展,它内置于英特尔编译器套件中,例如你不能将它与 GCC 一起使用(这个 request 开始 GCC 的 ClOMP 开发陷入了困境)。如果您可以访问旧版本的英特尔编译器(从 9.1 到 11.1 的版本),您将必须获得(试用)ClOMP 许可证,鉴于该产品已失效并且旧的(试用)许可证已经存在,这几乎是不可能的已到期。再说一次,从 12.0 版开始,英特尔编译器不再支持 ClOMP。

存在其他研究项目(仅搜索“分布式共享内存”),但只有 vSMP(ScaleMP 解决方案)似乎对于生产 HPC 环境足够成熟(并且其价格相应地定价)。似乎现在大多数努力都转向了协同阵列语言(Co-Array Fortran、Unified Parallel C 等)的开发。我建议你看看 Berkeley UPC或者花一些时间学习 MPI,因为它在 future 几年肯定不会消失。

关于multithreading - 不同主机上的 OpenMP 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13475838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com