- 博客(26)
- 收藏
- 关注
转载 求两向量距离的CUDA实现
本程序中,我以a[N]和 b[N]代表两个向量,其欧氏距离计算的串行C代码如下:CODE:dis = 0;for(int i = 0; i < N; i++){ dis += (a[i] - ...
2010-10-23 15:55:09
362
转载 CUDA优化之指令优化
3.9 指令优化 各种指令有不同的执行时间,这样要更快的速度可尽量使用占用时间少的指令,比如x *= 2; 最好写成x += x;因为乘法的占用的时间比加法多,但是这个并不明显,因为在现代处理器上乘法...
2010-07-08 19:44:41
528
转载 CUDA优化之执行配置和寄存器优化
3.7寄存器 寄存器是NVIDIA GPU存储器空间中,最快的硬件,读取它几乎不用耗费时间。因此合理的使用它是至关重要的。3.7.1寄存器溢出和本地存储器由于GPU上寄存器的数目是...
2010-07-01 20:06:36
1072
转载 cuda优化之常量存储器和纹理存储器
3.5 常量存储器优化 CUDA允许分配最多64KB的常量存储器,常量存储器顾名思义内容是不变的,所以也有人称其为不变存储器。每个SM有6-8KB的常量缓存,一般而言一到两个周期可读取常量存储器。如果半束内的...
2010-06-25 15:07:21
279
转载 共享存储器优化
3.4共享存储器优化 共享存储器比较靠近SM的,因此其速度相当的快,一般而言可以在一到二个时钟内读写,因此使用共享存储器取代全局存储器会极大的节约带宽,但是共享存储器的...
2010-06-24 19:42:14
200
转载 全局存储器优化
3.3全局存储器优化 在CUDA的存储器结构中,全局存储器是最慢的,其延迟在几百个时钟,但是其容量是最大的,我们使用cudaMalloc函数分配的指针都是指向全局存储器空间的,我们不可能避开它们的...
2010-06-03 22:12:24
299
转载 CUDA优化
三、 CUDA程序的优化 对于一个问题来说,往往有很多办法可以解决它。选择那个方法,这是一个问题,而且是一个与政策、技术,甚至阴谋相关的问题,具体怎么做,往往考量很多。或者说条件不一样,...
2010-05-28 12:41:52
146
转载 CUDA程序优化心得之串行优化
相信大家看到这个题目会有所疑问,毕竟要说的CUDA程序优化,而这里说的是串行程序的优化,我要说的是串行程序优化的能力对于并行程序优化同等的重要,因为大多数时候我们是从串行程序到并行程序,而且并行线程的内部依旧...
2010-05-20 19:45:40
620
转载 CUDA程序优化心得之错误处理
标准C提供了错误输出函数perror,其功能是将在调用其处最近之前出错的错误输出到的标准错误流,当然利用操作系统的功能,你也可以将它们重定向到文件。由于CUDA函数设计为都返回错误码,而且CUDA本身也提...
2010-05-14 14:10:32
637
转载 CUDA优化心得之测时函数设计
CUDA程序优化心得之测时函数的设计近一年来,学习CUDA也算是有苦有甜,苦的是遇到问题时的无助、苦恼和迷茫,甜的是问题解决时的兴奋,今天就利用这五一的假期把自己的经验结合CUDA优化的内容写下来,希望对于那些依旧...
2010-05-06 18:13:32
224
转载 CUDA常用函数介绍
cudaMalloc(void** p, int size):分配size字节的存储器,并将其首地址赋给*p,至于参数为什么是二级指针,可在C语言中找到答案cudaMallocHost():这个方法是在主机上分...
2010-04-21 21:15:07
801
转载 从bug到非bug-记一次debug之旅
虽然严格上说,小弟使用CUDA还不到一年,但是这一年中,被这个“怪物”折磨得够呛,今天的只是再普通不过的小插曲,希望这个过程能够给初学者一些启发。先看一个例子CODE: #include __globa...
2010-04-14 22:09:52
173
转载 CUDA3.0的C++支持详解
CUDA3特性中最吸引人的一条就是其对C++的支持,今天兄弟就切实的尝试了一下,所有的代码都以向量相加为例子,体会分享如下:函数重载与默认参数允许在同一个类中出现多个同名但参数列表不同的过程或函数,运行时才确定调用函...
2010-03-26 15:51:43
476
转载 NVIDIA GPU结构
目前市场上的NVIDIA显卡都是基于Tesla架构的,分为G80、G92、GT200三个系列。Tesla体系架构是一块具有可扩展处器数量的处理器阵列。每个GT200 GPU包含2...
2010-03-11 13:20:27
545
转载 CUDA线程层次
GPU线程以网格(grid)的方式组织,而每个网格中又包含若干个线程块,在G80/GT200系列中,每一个线程块最多可包含512个线程,Fermi架构中每个线程...
2010-02-01 19:32:33
301
转载 vim的使用
1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command m...
2010-01-29 15:59:06
132
转载 CUDA C语言
前一节,我已经说了怎样在ubuntu linux上构建CUDA开发环境了,对一个语言来说,最简单的,也是用得最多的当然是它的语法了,下面我简单的介绍一下CU...
2010-01-10 21:27:37
428
转载 CUDA简介
GPU是图形处理单元(Graphic Processing Unit)的简称,最初主要用于图形渲染。自九十年代开始,GPU的发展产生了较大的变化,NVIDIA、AMD(ATI)等GPU生产商敏锐的观察到GPU天生的并行性,经...
2009-12-28 20:32:34
209
转载 写什么好呢?
早就答应“姐姐”写一些CUDA的技术内容,但是仔细想了想,还是觉得自己的技术水准不够,虽然说我现在的主要工作就是写CUDA程序,但是到现在为止,学习CUDA还不到一年,有点担心误人子弟。还是仔细思考一下吧! ...
2009-12-27 12:30:47
87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人