
CUDA
木盏
坐标 北京
喜欢写博客的CV工程师
levio@pku.edu.cn
展开
-
【pytorch扩展】CUDA自定义pytorch算子(简单demo入手)
Pytorch作为一款优秀的AI开发平台,提供了完备的自定义算子的规范。我们用torch开发时,经常会因为现有算子的不足限制我们idea的迸发。众所周知,CUDA/C++都是编译性语言,编译以后再调用会比python这种解释性语言更快。所以,我们需要对CUDA有一个编译过程。直接“python setup.py install”即可完成cuda算子的编译和安装。这里的"sum_double_op"就是我们用CUDA写的算子。那这个可以直接调用,并且可以传递梯度的算子,需要怎么做呢?原创 2024-07-04 22:50:27 · 918 阅读 · 0 评论 -
【CUDA编程5】全局变量的用法
全局变量是用来串联GPU中各个单元中计算数据的方法之一。原创 2021-09-10 14:05:55 · 2245 阅读 · 0 评论 -
【CUDA编程4】获取device详细信息
CUDA编程,从某种意义而言,可以划分为异构系统编程,其实是一个CPU+GPU模式。其中,CPU被称为Host,而GPU被称为Device。#include <cuda_runtime.h>#include <stdio.h>int main(int argc,char** argv){ int deviceCount = 0; cudaError_t error_id = cudaGetDeviceCount(&deviceCount);原创 2021-09-09 23:39:52 · 1158 阅读 · 0 评论 -
【CUDA编程3】简单的矩阵乘法
CUDA的优势是并行计算,计算机中最常见的需要并行计算的地方就是矩阵运算。图像图像处理、数字信号处理、神经网络算法等等都包含大量的矩阵运算。这也是CUDA被广泛使用的原因。原创 2021-09-09 16:59:55 · 844 阅读 · 0 评论 -
【CUDA编程2】了解CUDA中的资源划分
CUDA之所以能实现并行计算,主要得益于开发人员能够对GPU计算资源有效分配。CUDA的粒度有三种,从大到小以此为: grid、block、thread三者关系如下:Grid好比一个小区,block是这个小区的每一栋房子,而thread则是每栋房子里的小隔间。我们要进行工作的最小单位就是一个小隔间,即thread。咱们可以从一个简单的cuda程序入手,了解这几个概念:#include <cuda_runtime.h>#include <stdio.h>__globa原创 2021-09-09 15:57:35 · 614 阅读 · 0 评论 -
【CUDA编程1】年轻人的第一个CUDA程序
说CUDA是人工智能算法行业的重要基石一点也不为过。老黄在图灵架构发布的时候说,图灵架构是英伟达历史上自2006年以来最伟大的飞跃。而2006年,正是CUDA发布的时间。原创 2021-09-07 14:57:13 · 1664 阅读 · 0 评论