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}是否正確。