Vol*_*vox 6 parallel-processing mono mpi openmp c#-4.0
我正在寻找C#和并行编程的一些指导.我知道MPI .NET存在,并且不支持OpenMP.那么我的问题是:是否有其他库(TPL?)或功能可以完成OpenMP提供的功能?我将使用最新版本的mono(C#.NET 4.0)工作(希望!).代码将在Cray XT6M上运行,因此利用每个板和节点上的资源将非常重要.谢谢你的时间!
你可以看看微软的并行编程方法Dryad,其中C#实际上是一等公民.显然,微软将它用于Bing并训练Kinect的身体跟踪算法[ 2 ].它使用比OpenMP更粗粒度的数据并行性.它更像是带有管道的进程而不是带有共享内存的线程.
我担心在Mono/Linux/Cray系统上进行设置可能很难说.那就是说C#不是典型的HPC语言.在这种规模/类型的系统中有效地运行C#通常非常困难.我建议评估将您的软件移植到"一流"HPC语言,例如C,Fortran.
另外作为一个注释:OpenMP不会扩展到完整的Cray XT6M计算机(或任何HPC集群),您可以使用这种形式的并行(共享内存).要在节点之间进行通信,您需要另一种形式的并行,通常是MPI.您还可以在节点中使用MPI.
| 归档时间: |
|
| 查看次数: |
6144 次 |
| 最近记录: |