- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否可以在多个主机上运行 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/
我是一名优秀的程序员,十分优秀!