推 Sunal: 其實numpy就已經是用c加速了 10/15 07:57
是沒有錯 numpy本來就用c加速
但是我的情形是需要做大量的單一矩陣對單一矩陣的運算
所以會用到很多迴圈而且沒有辦法vectorize
所以才會想說用外部dll來加速
※ 編輯: swampni (180.176.50.59), 10/15/2018 11:56:38
推 sma1033: 迴圈計算很慢不是結構性的問題嗎?應賅要先消除迴圈? 10/15 15:12
→ sma1033: 把可以分開平行算的東西都拆開來平行算不是比較有效嗎? 10/15 15:14
我要算的東西有點像是一張rgb圖
然後我要算每一個PIXEL對另外一個PIXEL的關係
但這個關係的函式很複雜
沒有辦法利用vectorize的方式一次大量算
所以才會想說能不能用外部DLL的方式來加速
實作上也是證明可以
那關於我的問題我後來發現好像是我32bits跟64bits編譯用的編譯器不同的關係
32bits用g++
64bits用cl
後來用cl編了一次32bits的也是很慢
但是最糟糕的就是我怎樣都沒辦法用g++編出64bits的DLL
載了好幾個不同版本的mingw64都不行
所以雖然在這裡問好像怪怪的
但有大大可以指點一下要怎麼用g++編譯出64bits的DLL嗎?
另外用cl跟g++在執行速度上會有如此巨大的差異又可能是甚麼原因呢?
也謝謝上面兩位願意給我意見^ ^
※ 編輯: swampni (180.176.50.59), 10/16/2018 00:30:31
→ neil987: 這應該在C/CPP板問 10/16 13:35
→ neil987: 然後找找看有沒有g++64.exe 10/16 13:37
推 yoyololicon: 要不要換用DL的frame work,pytorch之類?會比numpy快 10/22 21:36