CUDA编程
文章平均质量分 69
我有一個夢想
IT
展开
-
CUDA编程之矩阵乘法
cuda编程矩阵乘法刚学 所以来个简单例子a n*n X b n * na 的每一行 * b原创 2021-06-03 16:56:49 · 646 阅读 · 0 评论 -
CUDA编程之线程管理
当内核函数开始执行,如何组织GPU的线程就变成了最主要的问题了,我们必须明确,一个核函数只能有一个grid,一个grid可以有很多个块,每个块可以有很多的线程,这种分层的组织结构使得我们的并行过程更加自如灵活:...原创 2021-05-28 11:17:43 · 587 阅读 · 0 评论 -
CUDA编程之atomic原子操作
CUDA的原子操作可以理解为对一个变量进行“读取-修改-写入”这三个操作的一个最小单位的执行过程,这个执行过程不能够再分解为更小的部分,在它执行过程中,不允许其他并行线程对该变量进行读取和写入的操作。基于这个机制,原子操作实现了对在多个线程间共享的变量的互斥保护,确保任何一次对变量的操作的结果的正确性。原子操作确保了在多个并行线程间共享的内存的读写保护,每次只能有一个线程对该变量进行读写操作,一个线程对该变量操作的时候,其他线程如果也要操作该变量,只能等待前一线程执行完成。原子操作确保了安全,代价是牺牲原创 2021-04-28 18:43:58 · 610 阅读 · 0 评论 -
CUDA编程之函数前缀:device/global/host
最近在搞TensorRT 自定义层 把一些后处理过程放在CUDA中计算加速,CUDA代码***.cu中遇到了__global__ 函数前缀百度了一下 整理CUDA C语言对C语言的扩展之一就是加入了一些函数前缀,在CUDA中有三种函数前缀:device,global,host。如下图即为Faster R-CNN代码global前缀添加后的函数定义部分:三种前缀分别用于在定义函数时限定该函数的调用和执行方式,例如:__host__ int foo(int a){}与C或者C++中的fo原创 2021-04-28 16:09:24 · 3078 阅读 · 0 评论