作者WPC001 ()
站内Programming
标题Re: 多个程式共用记忆体空间
时间Thu May 7 11:21:35 2009
※ 引述《sorryChen (陈扬和)》之铭言:
: 从来没写过分散式计算的程式 有误请多多包含
: 我看了一下OpenMP的范例 感觉上满简单的耶 http://en.wikipedia.org/wiki/OpenMP
: 至少那个hello world 范例 在g++ 编译一跑就可以有几个core就跑几个 "thread?"
: 正是我要的... 虽然还不知道这样能够变快多少 说不定因为memory 频宽反而更慢
: 版友建议的MMAP还正在研究..不知道优缺点为何
OpenMP基本上是针对, 单台电脑上多个CPU(或多核), 而在最少改变程式码的情况下
进行平行化, 使用者只要加入一些编译上的注解, 编译器的选项, 就可以完成平行化
Intel的TBB也是差不多的, 但TBB实际上有一些template library,
然後使用者实际上要修改的是比OpenMP来得多许多
至於MPI, 那是针对多台电脑平行处理开发的... 资料经过切割,
执行时, 排程器会帮你分配给不同的电脑, 之後排程器会去组合这些资料
如果你不是超大型的资料库或是科学/学术方面的计算, 应该都不会用到MPI的
OpenMP应该是最简单入门的东西
基本上OpenMP几乎不需要改动程式码, 大多只要加编译注解
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.195.38.252
1F:→ bigbite:第一句不太同意140.114.202.161 05/07 14:38
2F:推 FlyinDeath:楼上怎讲? 118.168.98.123 05/08 00:28
3F:推 sorryChen:感谢 OpenMP正是我要的 也算试成功了 128.125.87.33 05/11 11:35
4F:→ sorryChen:我使用16个CPU快八倍 还满不错的 128.125.87.33 05/22 05:11