ZLUDA/zluda_dnn/README
Andrzej Janik 1b9ba2b233 Nobody expects the Red Team
Too many changes to list, but broadly:
* Remove Intel GPU support from the compiler
* Add AMD GPU support to the compiler
* Remove Intel GPU host code
* Add AMD GPU host code
* More device instructions. From 40 to 68
* More host functions. From 48 to 184
* Add proof of concept implementation of OptiX framework
* Add minimal support of cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL, NVML
* Improve ZLUDA launcher for Windows
2024-02-11 20:45:51 +01:00

6 lines
1.6 KiB
Plaintext

bindgen /usr/include/x86_64-linux-gnu/cudnn_v7.h -o src/cudnn_types_v7.rs --allowlist-type="^cudnn.*reference_t$" --blocklist-function="^.*" --default-enum-style=newtype --no-layout-tests --no-derive-debug -- -I/usr/local/cuda/targets/x86_64-linux/include
bindgen /usr/include/x86_64-linux-gnu/cudnn_v8.h -o src/cudnn_types_v8.rs --allowlist-type="^libraryPropertyType$" --allowlist-type="^cudnn.*" --blocklist-function=".*" --default-enum-style=newtype --no-layout-tests --no-derive-debug -- -I/usr/local/cuda/targets/x86_64-linux/include -Ibuild
bindgen /usr/include/x86_64-linux-gnu/cudnn_v7.h -o src/cudnn_v7.rs --blocklist-type=".*" --allowlist-function="^cudnnGetConvolutionBackwardDataAlgorithm$" --allowlist-function="^cudnnGetConvolutionBackwardFilterAlgorithm$" --allowlist-function="^cudnnGetConvolutionForwardAlgorithm$" --allowlist-function="^cudnnSetRNNDescriptor$" --allowlist-function="^cudnnSetRNNDescriptor_v5$" --default-enum-style=newtype --no-layout-tests --no-derive-debug -- -I/usr/local/cuda/targets/x86_64-linux/include
bindgen /usr/include/x86_64-linux-gnu/cudnn_v8.h -o src/cudnn_v8.rs --blocklist-type=".*" --allowlist-function="^cudnn.*" --default-enum-style=newtype --no-layout-tests --no-derive-debug -- -I/usr/local/cuda/targets/x86_64-linux/include -I../zluda_dnn/build
sed -i -e 's/extern "C" {//g' -e 's/-> cudnnStatus_t;/-> cudnnStatus_t { crate::unsupported()/g' -e 's/pub fn /#[no_mangle] pub unsafe extern "system" fn /g' src/cudnn_v7.rs
sed -i -e 's/extern "C" {//g' -e 's/-> cudnnStatus_t;/-> cudnnStatus_t { crate::unsupported()/g' -e 's/pub fn /#[no_mangle] pub unsafe extern "system" fn /g' src/cudnn_v8.rs