随笔分类 -  cuda

摘要:原创作品,如要转载请注明出处:http://www.cnblogs.com/shrimp-can/p/6590152.html 最近要在device函数中使用curand库生成随机数,查找了下资料,除了NVIDIA官网的介绍外,其他介绍deviceAPI的我没有找到,倒是介绍hostAPI的一大堆, 阅读全文
posted @ 2017-03-23 10:46 shrimp_929 阅读(8558) 评论(0) 推荐(1)
摘要:http://blog.csdn.net/u011821462/article/details/50145221 这篇博客已经写得很详细了。 阅读全文
posted @ 2016-09-18 19:25 shrimp_929 阅读(1727) 评论(0) 推荐(0)
摘要:nvcc命令选项: 选项命令有长名和短名,通常我们使用是用短名,长名主要用于描述。 1.指定编译阶段 主要指定编译的阶段以及要编译的输入文件。 -cuda -cubin -fatbin -ptx -gpu -E -c :最常使用,编译每个.c/.cc/.cpp/.cxx/.cu输入文件为object 阅读全文
posted @ 2016-06-07 16:47 shrimp_929 阅读(16652) 评论(0) 推荐(0)
摘要:以往都是在linux环境下使用cuda,编写cuda程序,因为一篇论文的源码要求用win系统+vs,首次在vs中打开、编译cuda工程,遇到一些阻碍,特此记录。 我的计算机环境是win10,cuda7.5,vs2010。最开始装的vs2015,找不到nvcc,经google,似乎vs2015不支持c 阅读全文
posted @ 2016-05-31 15:18 shrimp_929 阅读(1993) 评论(0) 推荐(0)
摘要:原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5253672.html 1.查看工具 默认目录为:local,进入local:cd /usr/local 输入命令:ls,查看该目录下的文件,可以看到安装的cuda在此处 进入cuda文件:cd cu 阅读全文
posted @ 2016-03-08 13:02 shrimp_929 阅读(20202) 评论(0) 推荐(0)
摘要:转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5231857.html 简单可以理解为:cudaMemcpy是同步的,而cudaMemcpyAsync是异步的。具体理解需要弄清以下概念: 1.CUDA Streams 在cuda中一个Stream是由主机代码 阅读全文
posted @ 2016-03-01 17:29 shrimp_929 阅读(21862) 评论(0) 推荐(2)
摘要:cudaEvent_t start,stop;cudaEventCreate(&start);//创建事件cudaEventCreate(&stop);cudaEventRecord(start,0);//记录当前时间//要记录时间的事情/工作cudaEventRecord(stop,0);//记录... 阅读全文
posted @ 2015-12-16 20:59 shrimp_929 阅读(899) 评论(0) 推荐(0)
摘要:1.shared memory__shared__ 声明为共享内存,将会保存在共享内存中2.constant memory__constant__ 声明为常量内存,将会保存在常量内存中,常量内存是只读内存,声明时要静态的分配空间将数据从CPU拷贝到常量内存中时用cudaMemcpyToSymbol,... 阅读全文
posted @ 2015-12-16 20:48 shrimp_929 阅读(1091) 评论(0) 推荐(0)
摘要:内建变量:threadIdx(.x/.y/.z代表几维索引):线程所在block中各个维度上的线程号blockIdx(.x/.y/.z代表几维索引):块所在grid中各个维度上的块号blockDim(.x/.y/.z代表各维度上block的大小):block的大小即block中线程的数量,block... 阅读全文
posted @ 2015-12-16 17:39 shrimp_929 阅读(4970) 评论(1) 推荐(0)
摘要:__shared__ float cache[threadPerBlock];//声明共享内存缓冲区,__shared____syncthreads();//对线程块中的线程进行同步,只有都完成前面的任务才可以进行后面的代码:/* ==================================... 阅读全文
posted @ 2015-12-14 21:55 shrimp_929 阅读(772) 评论(0) 推荐(0)
摘要:/共有DIM×DIM个像素,每个像素对应一个线程dim3 blocks(DIM/16,DIM/16);//2维dim3 threads(16,16);//2维kernel>>(d->dev_bitmap,ticks);代码:/* ===================================... 阅读全文
posted @ 2015-12-14 20:38 shrimp_929 阅读(571) 评论(0) 推荐(0)
摘要:书上的例子编译会有错误,修改一下行即可。__device__ cuComplex(float a,float b):r(a),i(b){}/* ============================================================================ N... 阅读全文
posted @ 2015-12-14 17:30 shrimp_929 阅读(468) 评论(0) 推荐(0)
摘要:这个程序是把两个向量相加add>>(dev_a,dev_b,dev_c);//,第一个参数N代表block的数量,第二个参数1代表每个block中thread的数量tid=blockIdx.x;//blockIdx是一个内置变量,blockIdx.x代表这是一个2维索引下面对这个程序做几个变化,并指... 阅读全文
posted @ 2015-12-09 21:18 shrimp_929 阅读(919) 评论(0) 推荐(0)
摘要:cudaMalloc()分配的指针有使用限制,设备指针的使用限制总结如下:1.可以将其传递给在设备上执行的函数2.可以在设备代码中使用其进行内存的读写操作3.可以将其传递给在主机上执行的函数4.不能在主机代码中使用其进行内存的读写操作总的来说就是主机指针只能访问主机代码中的内存,设备指针只能访问设备... 阅读全文
posted @ 2015-12-08 21:39 shrimp_929 阅读(345) 评论(0) 推荐(0)
摘要:将c程序最简单的hello world用cuda编写在GPU上执行,以下为代码:#includeusing namespace std;__global__ void kernel(void)//__global__:cpu调用GPU执行{}int main(void){ kernel>>();//... 阅读全文
posted @ 2015-12-08 21:32 shrimp_929 阅读(373) 评论(0) 推荐(0)
摘要:main(int argc, char **argv):argc是参数个数,**argv具体的参数,第0个是程序全名cudaError_t类型:记录cuda错误,值为cudaSuccess则正确执行cudaGetDeviceCount(&deviceCount):获取设备数量,结果保存在device... 阅读全文
posted @ 2015-12-03 15:53 shrimp_929 阅读(838) 评论(0) 推荐(0)
摘要:一、下载:在官网上下载cuda toolkit(所有需要安装都在里面包括驱动 toolkit Samples)下载网址:https://developer.nvidia.com/cuda-downloads按照相应的版本下载,这里下载的是:Linux—X86_64—Ubuntu—14.04—runf... 阅读全文
posted @ 2015-11-27 15:56 shrimp_929 阅读(907) 评论(0) 推荐(0)