作者sorryChen (陈扬和)
看板Programming
标题Re: 有人在用openMP吗
时间Mon Jul 27 10:58:12 2009
我看网上说 OpenMP的每个thread 有自己的stack 和 heap
这我能分别在每个thread new object吗
假设我有 一个 size为n的pointer array
然後我让每个thread分别 new 物件 这样可以吗
※ 引述《sorryChen (陈扬和)》之铭言:
: 自问自答一下
: 确实只要在counter之前加上 #programa omp critical
: 但是不幸的是 parallel後的时间 居然是三倍
: 我想数数的时间很快 parallel後的要并行的还要处理critical region..
: 消耗实在太大了.. 所以反而浪费时间
: ※ 引述《sorryChen (陈扬和)》之铭言:
: : 用OpenMP 来平行计算 而且使用共同的记忆体
: : 常常只要在for loop前加小小的一行 就可以并行
: : 有人知道他的critical region 要怎麽标明吗
: : 我的实际问题是我有一个字串 (DNA actually) 我想算在上面固定长度的子字串
: : 的各种pattern出现几次 (比如说AAA AAC AAG.... 几种pattern)
: : 由於counter 是共用的
: : 那就在counter[]++前写#pragma omp critical..
: : 这样可能 也快不到哪去 是吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 207.151.227.14
1F:→ WPC001:效能恐怕会变成笑能... Orz 123.195.36.10 07/27 20:46
2F:→ WPC001:OpenMP虽然将thread高阶化抽象化了... 123.195.36.10 07/27 20:47
3F:→ WPC001:但本意是为了缩短运算时间, 请还是考虑低阶 123.195.36.10 07/27 20:48
4F:→ WPC001:低阶原本的特性吧... Orz 123.195.36.10 07/27 20:48
5F:→ WPC001:OpenMP不是万能的... 请勿恶搞後嫌他不好 123.195.36.10 07/27 20:49
6F:→ sorryChen:感谢经验分享 207.151.229.9 07/28 00:09
7F:→ akasan:或许你可以试试Intel TBB118.167.152.182 07/28 13:53