![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CUDA
Willowwww
这个作者很懒,什么都没留下…
展开
-
CUDA tips
1. 尽量对global memory读写时采用连续地址的读写。2. 多个thread对一个地址的数据操作并不互斥,因此可能会产生计算错误。3. 原子操作可以解决上述问题,但原子操作的类型有限,且不保证各thread的执行顺序。4....原创 2020-04-24 00:13:37 · 123 阅读 · 0 评论 -
CUDA sample学习笔记(一)reduction
1. seperated threads and interleaved addressingtemplate <class T>__global__ void reduce0(T *g_idata, T *g_odata, unsigned int n) { // Handle to thread block group cg::thread_block cta = ...原创 2019-11-29 15:01:32 · 1044 阅读 · 0 评论 -
CUDA 踩坑
最近踩的坑1. 声明using namespace nvcuda的时候,编译要加上-arch=sm_70选项。2. 给half类型变量赋常量的时候必须加小数点,不然赋值完就是0。3. kernel的时候用到动态shared memory,结果在给shared memory赋值的时候一直报错“an illegal memory access was encountered”原因:...原创 2019-11-19 15:15:42 · 715 阅读 · 0 评论 -
在cuda中使用tensor core计算GEMM(上)
从CUDA9.0开始就已经支持代码中调用tensor core进行计算,tensor core是NVIDIA的volta架构中新处理单元,分布于各个流处理器(SM)中,其在物理层支持如下形式的运算:其中矩阵乘法中的A,B数据类型必须为FP16,而累加矩阵C和最终输出数据类型可以为FP16也可以为FP32。要在自己的kernel中使用tensor core必须包含头文件mma.h,...原创 2019-10-12 01:17:19 · 5905 阅读 · 6 评论