推 stimim:內外迴圈互換? 04/29 20:35
這點我忘了說我試過了,抱歉。
→ EdisonX:換過了,效用不大, 差異在 1/700 以下 04/29 20:36
→ azureblaze:w、h夠大應該可以叫gpu幫你做 04/29 20:59
→ cutekid:h - i 跟 i - w 提到 j loop 一開始只做一次? 04/29 21:17
→ cutekid: * 04/29 21:18
→ suhorng:有數據範圍嗎? 04/29 21:18
目前的 dst array 是開 1024 * 768 * 4 大小, 但大概只會考慮 640*480 而已
→ EdisonX:不好意思,現在有點忙,我晚點把問題補充清楚,先謝謝各位 04/29 21:20
推 LPH66:這是個順時針旋轉 90 度 我是想不太到有什麼改進空間就是 04/29 22:04
嗯, 若真如此, 可能只能先做前測動作, 單純資料搬移是不是會花那麼多時間...
→ scwg:不知道 matrix multiplication 的 block algorithm 有沒有用? 04/29 23:42
這個小弟本身之前研究了, 但助益似乎不大,
google "[C語言數值分析] 矩陣乘法 < cache block >" , 是我所知道的東西,
卡在 loop 怎麼換, 一定會有一方 cache hit 高,
事先先做 transpose 這方法還沒先試就是了。
推 singlovesong:矩陣乘法的話 不知道可不可以用lapack blas...? 04/30 00:17
→ EdisonX:matrix mult. 加速方法有很多沒錯,只是本文重點只有資料的 04/30 00:20
→ EdisonX:搬移. 應還用不到 library ??? 04/30 00:21
推 singlovesong:想問一下為什麼640*480會需要跑一秒阿@@ 04/30 00:27
→ EdisonX:卡死在 gui ?? 04/30 13:26
→ firose:img->Canvas->Pixel 效率不好 至少先改掉吧 04/30 18:05
推 andyjy12:我猜轉型他做了一堆事,"[][]"可能也被overload? 04/30 20:24
→ EdisonX:先謝謝各位,這問題最後解掉了,原因真的是 componment 04/30 20:26
→ EdisonX:效率不好,晚些發註解,謝謝。 04/30 20:26
→ IdFormat:用微塊的方法解 就是一次做4x4這種大小 05/01 07:15
→ IdFormat:也就是寫成四層回圈 最內兩個是4x4(也可試8x8) 05/01 07:16
→ IdFormat:然後這樣微塊大小選的恰當 可以快個70趴以上吧... 05/01 07:16
※ 編輯: EdisonX 來自: 114.37.184.86 (05/01 14:39)