cuda学习
文章平均质量分 70
略懂皮毛
眉毛以下截肢
努力打怪升级,努力变强!(ง •̀o•́)ง
展开
-
记录一种CUDA常见错误情景:结果随机
最近需要将之前的CUDA优化代码复盘,得到每一种优化下的加速比,因此,每一次优化后需要对比C,CUDA的结果,赶巧不巧,遇上了这么一种情况:核函数功能 :核函数D_SDF1_SRC1_MultiChan需要在一个Block中完成多路的执行,因为可以共用数据,利用共享内存提供更快和更少次数的内存访问;其Block图如图所示:于是希望在每一行的Thread中取不同的常数,使用threadIdx.y作为标识:__global__ void SRC1Kernel_MultiChan(short *d_sr1原创 2021-12-14 13:31:34 · 2271 阅读 · 0 评论 -
FFTW cuFFT的使用记录
好久没写点什么东西了,今天饶有兴趣,总结一下FFTW、cuFFT的调用方法。一些知识点的回顾弄懂了FT、DTFT、DFT三者之间的关系傅里叶变换(Fourier Transform,FT),表示能够将一定条件的某个函数表示为三角函数或者它们的积分的线性组合。从连续域到连续域。离散时间傅里叶变换(Discrete-time Fourier Transform,DTFT),表示将以离散时间nT作为变量的函数变换到连续频域,频谱会周期延拓。离散傅里叶变换(Discrete Fourier Transfo原创 2021-10-31 20:55:57 · 1736 阅读 · 9 评论 -
在c的基础上添加对cuda编程的支持
链接器->输入->附加依赖项-> 添加cudart.lib项目右键生成自定义,选择cuda对应的版本更改cu文件的编译器设定为CUDA C/C++至此,一般就可以正常运行cuda程序了,但是,有的用户在安装完cuda后,没有在系统的环境变量里面配置与cuda相关的几个路径(如下图),可能按照以上的步骤配置完后,仍然会出现红色波浪线的错误提示(有时候,可以正常运行,但是还存在波浪线,是因为vs认为没有找到对应的lib和h的位置)此时,继续人为的增添库文件和头文件的..原创 2020-12-07 20:09:36 · 200 阅读 · 0 评论 -
cuda学习笔记(2):cuda流的使用,结合nsight查看时间线
没有人带是最难受的,尤其是面对一个完全不懂的东西,而网上又没有一个相对全面,正确,让人通俗易懂的文章;于是,我决定,花一段时间,把这个问题搞懂,哥曾经有过的疑惑,你们不许再有!!!原创 2020-06-27 16:09:52 · 1804 阅读 · 0 评论 -
告诉你cuda共享内存的使用
想必大家都知道,cuda里面每一个block上有一块高速缓冲区,这就是提供给block里面各个线程使用的shared memory,那怎么使用这一块内存呢?首先,shared memory分为固定分配方式和动态分配方式,就是上图的Static Shared Memory和Dynamic Shared Memory1,固定分配直接__shared__ int seme[5] ;这就是在每一个block里面分配5个int(20B)__global__ void addKernel(int *c, c.原创 2020-06-13 15:38:39 · 1690 阅读 · 4 评论 -
cuda学习笔记(1):Nsight Compute的使用
从今天要开始学习cuda了,在这里记录一下学习过程。cuda程序可以利用Visual Profile来进行分析,其中最重要的一条信息是:利用率,这个也是导师验收的关键性指标。今天发现安装完毕后的Visual Profile打开会报错,如图:不知道什么原因,以后再说吧,于是乎,发现Nsight Compute也可以进行cuda程序分析,通过官方的guide略懂一二,得到了最终的分析报告。1....原创 2020-04-10 17:20:15 · 11134 阅读 · 9 评论