作者fireslayer (fireslayer)
看板C_and_CPP
標題[問題] 類似convolution的一段程式 加速
時間Fri Feb 8 19:40:32 2013
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++2012
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
openmp
問題(Question):
同學做出了驚人的非平行化15秒
我平行化卻只有30秒上下
想問問大家我的程式哪裡可以改進效率QQ
餵入的資料(Input):
函式原型為 Result calculate
(vector<Flip_Flop>& chn,vector<vector<bool>*>& src,vector<size_t>& seq)
預期的正確結果(Expected Output):
應該是正確
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/60RFCm
補充說明(Supplement):
跑VS profiling說最慢的是求peakpower那個for
QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.68.74
推 UncleHS:試試看自訂num_threads 02/08 20:27
是說自己寫thread的意思嗎?
可是我比較想問的是算這種類似的相乘相加過程
有沒有比較快的寫法
因為thread好解決 但是基本的運算慢對於之後平行化效果會有差異
※ 編輯: fireslayer 來自: 140.113.68.74 (02/08 20:53)
推 sunneo:定義num_threads不是自己寫thread, 而是定義thread數量 02/09 00:36
→ akasan:at 改 [], new 拉到外面 02/09 01:17
→ akasan:testcase 是啥?, 沒很複雜就直接vector<TestCase> 02/09 01:21