![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Cuda
zcy0xy
这个作者很懒,什么都没留下…
展开
-
CUDA samples系列 0.1 asyncAPI
目录一、导入项目二、源码分析获取显卡基本信息两个计时函数三、stream概念的直观理解四、核函数的调用五、总结Key points:从编译器Nsight导入samples;stream的直观理解;cpu与gpu计时函数;核函数的定义与调用;一、导入项目这一步所有的samples都是一样的,打开安装的IDE: nsight,左上角"File">...原创 2018-11-25 17:14:51 · 1617 阅读 · 1 评论 -
CUDA samples系列 0.2 simpleAssert
目录获取相关信息的库设置核函数的线程数定义核函数与处理错误信息结果扩展:simpleAssert_nvrtc上回发现samples里的排序并不是按照难度等级依次上升的,所以现在就从simple里面依次讲起,因为是simple开头的,想来也是智障等级的例程吧。获取相关信息的库#include <sys/utsname.h>在这个库中,有个结构utsna...原创 2018-11-25 17:15:32 · 669 阅读 · 0 评论 -
CUDA samples系列 0.5 clock
动态共享内存如果在写核函数时不知道共享内存的大小,可以使用动态共享内存,在调用函数时才设定其大小。方法为在核函数中定义:extern __shared__ float shared[];在调用核函数时: timedReduction&amp;amp;lt;&amp;amp;lt;&amp;amp;lt;NUM_BLOCKS, NUM_THREADS, 共享内存大小&amp;amp;gt;&amp;amp;g原创 2018-11-25 20:22:48 · 475 阅读 · 0 评论 -
CUDA samples系列 0.3 vectorAdd
目录CPU与GPU同步方法详解源代码中的同步同步方法扩展代码解析扩展一:vectorAdd_nvrtc扩展二:vectorAddDrv这份代码非常的简单和基础,就把两个向量相加。CPU与GPU同步方法详解源代码中的同步代码很traditional,完全按照五步走,第一篇提到过的:开辟一块内存空间A(cudaMalloc或者cudaMallocHost,第...原创 2018-11-25 17:15:21 · 1133 阅读 · 0 评论 -
CUDA samples系列 0.4 cppOverload
这份代码介绍了核函数重载的方法原创 2018-11-25 17:15:11 · 505 阅读 · 0 评论 -
CUDA samples系列 0.6 matrixMul
文章目录矩阵乘法线程块的分配部署核函数逻辑详解矩阵相乘的代码,用的方法比较难理解,这部分我一步步画逻辑图来详细的展示下。矩阵乘法首先,矩阵乘法 A*B=C,A的行数等于B的列数,如下图所示dimsA.x = dimsB.y,最后得到的C,尺寸为 [dimsA.y, dimsB.y]。计算方法为A的第m行*B的第n列=C(m, n).线程块的分配部署程序对线程块,线程的任务分配如...原创 2018-11-26 13:53:46 · 1988 阅读 · 5 评论 -
Cuda矩阵运算库cuBLAS介绍
文章目录简介cuBLAS库新特性简介cuBLAS库用于进行矩阵运算,它包含两套API,一个是常用到的cuBLAS API,需要用户自己分配GPU内存空间,按照规定格式填入数据,;还有一套CUBLASXT API,可以分配数据在CPU端,然后调用函数,它会自动管理内存、执行计算。既然都用cuda了,其实还是用第一套API多一点。官方文档参考最初,为了尽可能地兼容Fortran语言环境,cuB...原创 2018-11-27 10:04:44 · 30293 阅读 · 0 评论