随笔分类 - CUDA
看cuda相关知识很惬意哦
摘要:1、软件层 CUDA从软件层分为流、线程格、线程块、线程。在一次Kernel调用时,需要指定一个grid下划分的block的布局和数量,以及一个block下thread的布局和数量。 cuda stream(流)对应一个任务,存储了一个执行序列,如内存数据交换、执行kernel函数、内存数据交换。如
阅读全文
摘要:我参考了 第0个示例 OptixHello 学习Optix的工程配置以及基本框架 的配置过程,该文对于 Optix 的框架介绍的很好,但是按照该文配置遇到了一些问题,我花费了一番功夫自己摸索终于配置好了环境,实现了用Optix计算然后在OpenGL上展示结果的一个简单的Demo。 我的配置环境为:W
阅读全文
摘要:CUDA 与 OpenGL 的互操作一般是使用CUDA生成数据,然后在OpenGL中渲染数据对应的图形。这两者的结合有两种方式: 1、使用OpenGL中的PBO(像素缓冲区对象)。CUDA生成像素数据,OpenGL直接渲染即可。 2、使用OpenGL中的FBO(顶点缓冲区对象)。CUDA生成顶点数据
阅读全文
摘要:1、直接在新建工程的时候选择CUDA,这样的工程既能编译C++也能编译CU 2、在已有的C++工程上添加CUDA编译环境 右键工程-->生成依赖项-->生成自定义-->勾选CUDA 9.0 这时右键工程属性,发现多了两个关于CUDA的属性 点击CUDA C/C++下的Common,将默认的32-bi
阅读全文
摘要:求矩阵每行的和? 可以把每行放入一个不同线程块,这样行与行之间进行粗粒度的并行。而对于每行,其对应的线程块中分配n个线程(对应行宽),使用共享存储器,让每个线程从显存中读取一个数至shared memory中,然后使用规约算法计算和。 代码如下:
阅读全文
摘要:CUDA可以认为是一个由软件和硬件构成的并行计算系统,其依赖于GPU的并行计算单元,CUDA有类C的API,方便程序编写。其依赖于CPU和GPU的异构体系,通过在CPU上串行执行环境初始化、内存分配、数据传输,然后在GPU上执行并行计算。 内存分配 1、一维 参数1:显存中开辟的空间的指针(术语:G
阅读全文