第七篇:使用 CUDA 进行计算优化的两种思路

前言

       本文讨论如何使用 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 得到结果矩阵

原文地址:https://www.cnblogs.com/muchen/p/6306945.html