# CUDA学习 **Repository Path**: shzhuoyu/cuda-tutorial ## Basic Information - **Project Name**: CUDA学习 - **Description**: 学习一下CUDA - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-09 - **Last Updated**: 2024-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CUDA学习 #### 介绍 学习一下CUDA ### 原理 C++本身只是一个连接python和cuda的桥梁,所有实现都是在.cu上实现的 ### 实操 #### 1.配置CPP中torch引用地址 vs code 中 cmd + shift + p 选择 "C++ Edit Configurations Json 即可出现 在添加你的torch地址 ```json "includePath": [ "${workspaceFolder}/**", "/usr/local/lib/python3.8", "/usr/local/lib/python3.8/dist-packages/torch/include", "/usr/local/lib/python3.8/dist-packages/torch/include/torch/csrc/api/include", "/usr/include/python3.8" ], ``` #### 2.配置{模块名}.cpp文件 照抄 ```python PYBIND11_MODULE(TORCH_EXTENSION_NAME, m){ m.def("trilinear_interpolation", &trilinear_interpolation); } # 这里左边是传过去之后python叫什么,右边是C++的函数名 ``` #### 3.配置CU文件 具体看interpolation_kernel.cu ```c++ AT_DISPATCH_FLOATING_TYPES(feats.type(), "trilinear_fw_cu", ([&]{ trilinear_fw_kernel<<>>( // 把tensor转成packed_accessor才能进kernel, scalar_t表示未定的数据类型 // 可填float32,3是shape的长度,RPT表示不会和其他有交集, feats.packed_accessor(), points.packed_accessor(), feat_interp.packed_accessor() ); })); ``` #### 4.安装cu程序 ```python pip install . ``` 安装完成后就可以test了