作者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
→ WPC001:效能恐怕會變成笑能... Orz 123.195.36.10 07/27 20:46
→ WPC001:OpenMP雖然將thread高階化抽象化了... 123.195.36.10 07/27 20:47
→ WPC001:但本意是為了縮短運算時間, 請還是考慮低階 123.195.36.10 07/27 20:48
→ WPC001:低階原本的特性吧... Orz 123.195.36.10 07/27 20:48
→ WPC001:OpenMP不是萬能的... 請勿惡搞後嫌他不好 123.195.36.10 07/27 20:49
→ sorryChen:感謝經驗分享 207.151.229.9 07/28 00:09
→ akasan:或許你可以試試Intel TBB118.167.152.182 07/28 13:53