前言

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

使用 CUDA 进行计算优化的两种思路的更多相关文章

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

    前言 本文讨论如何使用 CUDA 对代码进行并行优化,并给出不同并行思路对均值滤波的实现. 并行优化的两种思路 思路1: global 函数 在 global 函数中创建出多个块多个线程对矩阵每个元素 ...

  2. 用Python计算幂的两种方法,非递归和递归法

    用Python计算幂的两种方法: #coding:utf-8 #计算幂的两种方法.py #1.常规方法利用函数 #不使用递归计算幂的方法 """ def power(x, ...

  3. php 冒泡排序的两种思路以及优化

    php冒泡排序,两种思路,时间复杂度都是O(n^2),当然最优的时间复杂度就是O(n),以下说的都是正序排列(倒序的话,把内层循环的大于号换成小于号就好了) 第一种冒泡排序 思路就是把第一个数跟所有的 ...

  4. C++关于数字逆序输出的两种思路,及字符串逆序输出

    C++关于数字逆序输出的两种思路,及字符串逆序输出 作者:GREATCOFFEE 发布时间:NOVEMBER 15, 2012 分类:编程的艺术 最近在跟女神一起学C++(其实我是不怀好意),然后女神 ...

  5. 点击页面div弹窗以外隐藏的两种思路

    在本文为大家介绍两种思路实现点击页面其它地方隐藏该div,第一种是对document的click事件绑定事件处理程序.. 第一种思路分两步 第一步:对document的click事件绑定事件处理程序, ...

  6. 把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进)

    #把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进) ##背景 项目中经常需要把JSON数据填充到页面表单,一开始我使用easyui自带的form load方法,觉得效率很低,经 ...

  7. Java实现快排+小坑+partition的两种思路

    在做一道剑指Offer的题的时候,有道题涉及到快排的思路,一开始就很快根据以前的思路写出了代码,但似乎有些细节不太对劲,自己拿数据试了下果然.然后折腾了下并记录下一些小坑,还有总结下划分方法parti ...

  8. 对抗栈帧地址随机化/ASLR的两种思路和一些技巧

    栈帧地址随机化是地址空间布局随机化(Address space layout randomization,ASLR)的一种,它实现了栈帧起始地址一定程度上的随机化,令攻击者难以猜测需要攻击位置的地址. ...

  9. WebGIS中解决使用Lucene进行兴趣点搜索排序的两种思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 目前跟信息采集相关的一个项目提出了这样的一个需求:中国银行等 ...

随机推荐

  1. MySQL主从数据库同步

    更新中,还未测试.......

  2. 利用百度地图开源sdk获取地址信息。

    注册百度开发者帐号,下载相关sdk 添加权限: 添加百度注册访问应用(AK)码 添加源代码文件到libs文件: 代码如下: package com.lixu.baidu_gps; import com ...

  3. 两个activity之间传递数据用startActivityForResult方法。

    package com.example.testactivityresquest; import android.app.Activity; import android.content.Intent ...

  4. MongoDB常用操作一查询find方法db.collection_name.find()

    来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...

  5. Delphi日期时间 UNIX

    Delphi日期时间,就是常见的 2014-05-02 10:37:35 --------------------------------------------------------------- ...

  6. sql alter表字段处理

    --添加字段 ALTER table WCOLLECTION add CLT_ID int null default(0) --将已有字段类型为 NULL 修改为 NOT NULLalter tabl ...

  7. 使用Myeclipse创建自定义签名debug keystore

    1.在已经创建后的android项目上右击鼠标,如图所示 2.选择next下一步 3.选择create new keystore 注意  这里密码要输入android 4.点击next,录入基本信息 ...

  8. Problem K 栈

    Description A math instructor is too lazy to grade a question in the exam papers in which students a ...

  9. pl/sql乱码

    环境变量增加NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  10. Ubuntu根目录下各文件的功能介绍

    http://jingyan.baidu.com/article/afd8f4de55189c34e286e9e6.html