NN CUDA Example
1.0.0

关于神经网络工具包(Pytorch,TensorFlow等)的几个简单示例,调用自定义CUDA操作员。
我们提供了几种编译CUDA内核及其CPP包装纸的方法,包括JIT,Setuptools和Cmake。
我们还提供了几种Python代码来称呼CUDA内核,包括内核时间统计和模型培训。
对于更准确的时间统计信息,您最好使用NVPROF或NSYS运行代码。
无法确保在其他环境中成功运行。
├── include
│ └── add2.h # header file of add2 cuda kernel
├── kernel
│ └── add2_kernel.cu # add2 cuda kernel
├── pytorch
│ ├── add2_ops.cpp # torch wrapper of add2 cuda kernel
│ ├── time.py # time comparison of cuda kernel and torch
│ ├── train.py # training using custom cuda kernel
│ ├── setup.py
│ └── CMakeLists.txt
├── tensorflow
│ ├── add2_ops.cpp # tensorflow wrapper of add2 cuda kernel
│ ├── time.py # time comparison of cuda kernel and tensorflow
│ ├── train.py # training using custom cuda kernel
│ └── CMakeLists.txt
├── LICENSE
└── README.md吉特
直接运行Python代码。
setuptools
python3 pytorch/setup.py installcmake
mkdir build
cd build
cmake ../pytorch
make比较内核运行时间
python3 pytorch/time.py --compiler jit
python3 pytorch/time.py --compiler setup
python3 pytorch/time.py --compiler cmake火车模型
python3 pytorch/train.py --compiler jit
python3 pytorch/train.py --compiler setup
python3 pytorch/train.py --compiler cmakecmake
mkdir build
cd build
cmake ../tensorflow
make比较内核运行时间
python3 tensorflow/time.py --compiler cmake火车模型
python3 tensorflow/train.py --compiler cmakepytorch自定义cuda算子教程与运行时间分析pytorch编译并调用自定义cuda算子的三种方式三分钟教你如何三分钟教你如何三分钟教你如何
问: Importerror:libc10.so:无法打开共享对象文件:没有此类文件或目录
答:您必须在import add2之前进行import torch。
Q. tensorflow.python.framework.errors_impl.notfounderror:build/libadd2.so:不确定的符号:_ztin10tensorflow8opkernele
答:在CmakeLists.txt中检查${TF_LFLAGS}是否正确。