CUDA
文章平均质量分 65
基于CUDA的通用GPU计算
zhuxianjianqi
这个作者很懒,什么都没留下…
展开
-
CUDA中如何在设备上分配全局变量
[cpp] view plaincopy假设定义了全局变量 __device__ int *a; 我需要一个数组,动态分配,那么直接调用cudaMalloc来为a分配内存的话,是不行的。具体做法如下[cpp] view plaincopyint *tmp;原创 2013-11-19 09:57:21 · 9138 阅读 · 0 评论 -
cuda编程之数据更新小技巧
不知道大家有没有遇到这样的情况:在某个迭代计算过程中,数组new的计算需要old的值,当计算完成后,需要把new的值写入old再下一次迭代?如果这里使用memcpy的方式,当数据量较大的时候会很耗时的!解决方法:交换指针也就是把指向设备内存new和old的指针进行交换,这样就避免了memcpy的时间消耗~当然用过的人无视以上内容~交换方法:定义一个函数voi原创 2013-05-09 23:57:57 · 1216 阅读 · 0 评论 -
SM,SP和GRID,BLOCK,THREAD之间的对应关系是什么?
SM,SP是硬件结构GRID,BLOCK,THREAD是软件概念从硬件角度讲,一个GPU由多个SM组成(当然还有其他部分),一个SM包含有多个SP(以及还有寄存器资源,shared memory资源,L1cache,scheduler,SPU,LD/ST单元等等),1.x硬件,一个SM包含8个SP,2.0是32个,2.1是48个,3.0和3.5是192个。以及SP目前也称为CUDA原创 2013-05-09 14:53:51 · 9003 阅读 · 0 评论 -
cuda入门:runtime API创建CUDA程序
CUDA 目前有两种不同的 API:Runtime API 和 Driver API,两种 API 各有其适用的范围。由于 runtime API 较容易使用,一开始我们会以 runetime API 为主。 CUDA 的初始化 首先,先建立一个档案 first_cuda.cu。要使用 runtime API 的时候,需要 include cuda_runtime.h。所以,在原创 2013-05-07 13:27:37 · 3069 阅读 · 0 评论 -
cuda优化要点
一、选择好的并行方式选择好的算法,以发掘更多的数据并行性二、保持SM忙碌尽量利用所有的SM参与计算,可以通过加大数据量或减少线程块大小达到目的。三、优化存储器利用保证全局存储器合并访问(相邻线程访问段对齐的相邻地址)使用速度更快的constant或shared存储器原创 2013-05-07 10:42:55 · 968 阅读 · 0 评论 -
CUDA5.0 + Visual Studio 2010 的环境配置
根据前人所写的cuda4.0的配置,我配置了一下cuda5.0,配置过程有一些差 别,经过一番调试后成功。所以总结了一下Cuda5.0的配置, 给大家一参考吧。 1 安装环境 操作系统:Win8 32 位专业版 显卡型号:NVIDIA gtx650ti2 软件准备 (1)Microsoft Visual Studio 2010 (2)Visual Assist X原创 2013-04-08 11:18:29 · 5986 阅读 · 0 评论