CUDA-小记录
算是给自己看的吧
czw0723
这个作者很懒,什么都没留下…
展开
-
CUDA--只读缓存
使用CUDA只读缓存有两个办法1.你可以使用内部函数__ldg来通过只读缓存直接对数组进行读取访问:但是我的汇报错,说__ldg未定义,非常玄奇,不知道有没有老铁看了知道的告诉我一下__global__ void copyKernel(int *out,int *in){ int idx = blockIdx.x*blockDim.x+threadIdx.x; ou...原创 2019-04-03 16:06:20 · 1609 阅读 · 0 评论 -
关于-CUDA统一虚拟编址-
总的来说,就是cudaHostAlloc((void **)&h_A,nBytes,cudaHostAllocMapped);获取的h_A也是可以当作设备指针用的,不再需要cudaHostGetDevicePointer((void **)&d_A, (void *)h_A, 0);来获取设备指针了,测试的代码如下:#include <cuda_ru...原创 2019-04-03 10:32:48 · 531 阅读 · 0 评论 -
CUDA 零拷贝内存
一个简单的测试程序:#include <cuda_runtime.h>#include <stdio.h>__global__ void sumArraysZeroCopy(float *A, float *B, float *C, const int N){ int i = blockIdx.x * blockDim.x + threadIdx.x;...原创 2019-04-03 01:12:42 · 825 阅读 · 3 评论 -
关于CUDA 分配固定内存
可以使用float *h_a; CHECK(cudaMallocHost ((float **)&h_a, nbytes));来直接分配固定的追内存,而不是虚拟分页中的内存,好处就是速度会稍微快一些。缺点就是可能内存利用率下降。// allocate pinned host memory float *h_a; CHECK(cudaMalloc...原创 2019-04-02 22:59:11 · 1228 阅读 · 0 评论 -
关于__device__全局变量--变量于数组的问题
如果只是变量,如下即可实现全局变量-两种方法:1.__device__ float devData;float value = 3.14f;cudaMemcpyToSymbol(devData,&value,sizeof(float));cudaMemcpyFromSymbol(&value,devData,sizeof(float));2....原创 2019-04-02 22:26:53 · 1148 阅读 · 0 评论 -
关于选择显卡的问题
在./XXXXX(可执行文件)q前面加CUDA_VISIBLE_DEVICES=3 也就是CUDA_VISIBLE_DEVICES=3 ./XXXXX原创 2019-03-27 16:19:18 · 329 阅读 · 0 评论 -
关于在集群上面-nvcc-gcc-6.5-无权限
非Root用户下编译GCC 6.5.0下载gcc-6.5.0建议先到网站上下载,然后再通过jupyter上传到服务器。wget https://ftp.gnu.org/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.gz解压gcctar zxvf gcc-6.5.0.tar.gzcd gcc-6.5.0安装依赖文件./contrib/download...转载 2019-03-27 16:15:00 · 224 阅读 · 1 评论 -
关于在集群上搞GCC-6.5-无权限
## 非Root用户下编译GCC 6.5.01. **下载gcc-6.5.0** 建议先到网站上下载,然后再通过jupyter上传到服务器。 ```bash wget https://ftp.gnu.org/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.gz ```2. **解压gcc** ```bash tar zxvf gcc...转载 2019-03-27 16:14:02 · 397 阅读 · 0 评论