作者fireslayer (fireslayer)
看板C_and_CPP
標題Re: [問題] 類似convolution的一段程式 加速
時間Sat Feb 9 01:53:12 2013
※ 引述《fireslayer (fireslayer)》之銘言:
: 開發平台(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
有某個好心的板友私底下建議我用pointer實作速率會比較快
但是改阿改的就說heap錯誤 就不給我new了
這是新的calculate函式
http://ideone.com/bFsS8t
vector<TestCase*>* cases=new vector<TestCase*>((srcLength-1)*chnLength,NULL);
從這行開始我new都會進exception QQ
由於我想說new的問題可能是整個程式記憶體配置有問題
所以如果有需要全部專案的連結在這裡
http://sdrv.ms/Wz79qE
萬分感激QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.68.74
※ 編輯: fireslayer 來自: 140.113.68.74 (02/09 01:57)
→ linotwo:size_t *originalSeq = new size_t[chnLength]; ←中括弧 02/09 02:50
→ fireslayer:QQ太感謝了 找了一個晚上 02/09 08:34