第七篇:使用 CUDA 進行計算優化的兩種思路

穆晨發表於2017-01-19

前言

       本文討論如何使用 CUDA 對程式碼進行並行優化,並給出不同並行思路對均值濾波的實現。

並行優化的兩種思路

       思路1: global 函式

              在 global 函式中建立出多個塊多個執行緒對矩陣每個元素進行平行計算

              請參考:http://www.cnblogs.com/scut-fm/p/3750119.html

       思路2: CUDA 庫

              將遍歷矩陣分別對每個元素的操作轉化成以矩陣整體為單位的操作

              請參考:http://www.cnblogs.com/scut-fm/p/3756242.html

兩種思路在均值濾波中的應用

       思路1的應用:建立多個執行緒,每個執行緒對其負責元素做均值卷積操作。

       思路2的應用:

              第一步:將矩陣向上平移一個單位得到矩陣副本1

              第二步:將矩陣向下平移一個單位得到矩陣副本2

              第三步:將矩陣向左平移一個單位得到矩陣副本3

              第四步:將矩陣向右平移一個單位得到矩陣副本4

              第五步:將矩陣副本1-4相加然後除以 4 得到結果矩陣

相關文章