熬了几个通宵,我写了份CUDA新手入门代码

简介: 熬了几个通宵,我写了份CUDA新手入门代码

在用PyTorch或者TensorFlow搭积木的时候,你是不是也遇到过下面这些情况:

  • 自带的算子及其组合都无法满足你超(bian)常(tai)的计算需求。
  • 自带的算子不可导,需要自己定义反向传播的梯度,例如argmax。
  • 自带的算子太慢了,严重影响了你发paper的速度。


这时候你就会想,要是能自己实现一个速度又快、又能满足需求的算子就好了。

你想到了CUDA,自己写一个CUDA算子不就完事了嘛!

然后问题又来了,写是写完了,怎么用python代码调用它呢?

还有一个问题,这个算子它没梯度啊,自动求导机制不顶用了!

你去网上各种搜索,方法倒是全有,但是源码都好复杂,你一个新手怎么可能有心思看完那么复杂的教程?


这时候,你突然看到了这篇文章,看完后你惊呼:“怎么会有这么简洁的示例代码,这就是我想要的!”

没错,这就是我熬了好几个通宵,查了无数bug后,写出来的一份示例代码。

话不多说,先上源码好吧:

https://github.com/godweiyang/NN-CUDA-Example

我给它命名为“Neural Network CUDA Example”,简称“NN CUDA Example”,意思就是神经网络调用CUDA的示例。

那么这玩意到底有啥用呢?目前为止,它可以让你学到下面这些东西:

  • 最简单的CUDA算子的写法。
  • 最简洁的PyTorch和TensorFlow封装CUDA算子的方法。
  • 几种编译CUDA算子的方法。
  • python调用CUDA算子的几种方式。
  • python中统计CUDA算子运行时间的正确方法。
  • PyTorch和TensorFlow自定义算子梯度的方法。


你直呼内行,要是早点能看到这篇文章,能多发好几篇论文啊。

看完代码,有些细节你还是懵逼了,这这这都是啥意思啊,为啥这么写啊?

这时候你又看到了几篇教程,哦原来都有讲解,那没事了。


从那以后,你代码能力飞速提升,一连发了好几篇顶会。

然后你顺手一键三连,把这篇文章转给了身边有需要的人,个个都夸你发现了宝藏。

相关文章
|
6月前
|
前端开发 JavaScript Java
童年回忆——超级玛丽(内含源码inscode一键运行)
童年回忆——超级玛丽(内含源码inscode一键运行)
|
6月前
|
移动开发 前端开发 JavaScript
童年回忆——开心消消乐(内含源码inscode一键运行)
童年回忆——开心消消乐(内含源码inscode一键运行)
|
3月前
|
存储 JSON 数据可视化
为了给七夕的女盆友挑合适的内衣,我用Python网易严选的内衣店的数据!
为了给七夕的女盆友挑合适的内衣,我用Python网易严选的内衣店的数据!
46 1
|
6月前
|
前端开发 JavaScript Java
童年回忆——捕鱼达人(内含源码inscode一键运行)
童年回忆——捕鱼达人(内含源码inscode一键运行)
|
6月前
|
存储 缓存 Unix
同事跳槽阿里,临走甩给一份上千页的Linux源码笔记,真香
UNIX操作系统以简单、-致、优雅的设计著称,这种真正非凡的特性使得UNIX系统在超过1/4世纪的时间里影响了整个世界。而且,正是由于Linux的蓬勃发展,发源于UNIX的思想才依然活力依旧,并在可预见的未来其发展势头会一直持续下去。
|
开发工具 Python
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
144 0
|
机器学习/深度学习 人工智能 自然语言处理
【paddlehubOCR项目】网课手酸酸,眼花花,救星来啦!
大家好这里是三岁,今天给大家带来的是在AiStudio项目平台的一个精选项目,虽然很短,但是效果拔群,使用到了最近特别火的paddleOCR~~~
274 0
【paddlehubOCR项目】网课手酸酸,眼花花,救星来啦!
|
Linux 网络安全 数据安全/隐私保护
【Linux复习汇总】得分秘籍,考前速看,可以多考几分
1.Linux特点 多用户、多任务、稳定性和速度好、设备独立性强、丰富的网络功能、安全性强、可移植性好、兼容性好。 2.不同用户的命令提示符 #是Linux下root用户的命令提示符; $是Linux下普通用户的命令提示符;
156 0
|
机器学习/深度学习 并行计算 PyTorch
熬了几个通宵,我写了份CUDA新手入门代码
熬了几个通宵,我写了份CUDA新手入门代码
130 0
|
索引 Python
别整天 “学妹/前女友”了,花2小时整理了Numpy测试习题100道,做个测验吧!(一)
别整天 “学妹/前女友”了,花2小时整理了Numpy测试习题100道,做个测验吧!(一)