diff --git a/.circleci/config.yml b/.circleci/config.yml index 12138da..6f1dc3d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,7 +13,7 @@ version: 2 name: Install Rust command: | apt update - apt install -y curl + apt install -y curl clang libclang-dev curl https://sh.rustup.rs -sSf | sh -s -- -y - run: <<: *cargo @@ -24,7 +24,7 @@ version: 2 - run: name: Install Rust command: | - yum install -y curl + yum install -y curl clang-devel clang curl https://sh.rustup.rs -sSf | sh -s -- -y - run: <<: *cargo diff --git a/Cargo.toml b/Cargo.toml index 6a3ef37..f4ae4e3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,3 +13,6 @@ keywords = ["GPGPU", "CUDA", "ffi"] license = "MIT" readme = "README.md" categories = [] + +[build-dependencies] +bindgen = "~0.43" diff --git a/build.rs b/build.rs index 4ae4139..4161583 100644 --- a/build.rs +++ b/build.rs @@ -1,4 +1,7 @@ +extern crate bindgen; + use std::env; +use std::path::PathBuf; fn find_library_paths() -> Vec { match env::var("CUDA_LIBRARY_PATH") { @@ -12,6 +15,100 @@ fn find_library_paths() -> Vec { } fn main() { + let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); + + bindgen::builder() + .header("wrapper/cuda.h") + .whitelist_recursively(false) + .whitelist_type("^CU.*") + .whitelist_type("^cuuint(32|64)_t") + .whitelist_type("^cudaError_enum") + .whitelist_type("^cudaMem.*") + .whitelist_var("^CU.*") + .whitelist_function("^CU.*") + .whitelist_function("^cu.*") + .default_enum_style(bindgen::EnumVariation::Rust) + .generate() + .expect("Unable to generate CUDA bindings") + .write_to_file(out_path.join("cuda_bindings.rs")) + .expect("Unable to write CUDA bindings"); + + bindgen::builder() + .header("wrapper/cublas.h") + .whitelist_recursively(false) + .whitelist_type("^cublas.*") + .whitelist_var("^cublas.*") + .whitelist_function("^cublas.*") + .default_enum_style(bindgen::EnumVariation::Rust) + .generate() + .expect("Unable to generate CUBLAS bindings") + .write_to_file(out_path.join("cublas_bindings.rs")) + .expect("Unable to write CUBLAS bindings"); + + bindgen::builder() + .header("wrapper/cucomplex.h") + .whitelist_recursively(false) + .whitelist_type("^cu.*Complex$") + .default_enum_style(bindgen::EnumVariation::Rust) + .generate() + .expect("Unable to generate CUComplex bindings") + .write_to_file(out_path.join("cucomplex_bindings.rs")) + .expect("Unable to write CUComplex bindings"); + + bindgen::builder() + .header("wrapper/cudart.h") + .whitelist_recursively(false) + .whitelist_type("^cuda.*") + .whitelist_type("^surfaceReference") + .whitelist_type("^textureReference") + .whitelist_var("^cuda.*") + .whitelist_function("^cuda.*") + .default_enum_style(bindgen::EnumVariation::Rust) + .generate() + .expect("Unable to generate CUDA RT bindings") + .write_to_file(out_path.join("cudart_bindings.rs")) + .expect("Unable to write CUDA RT bindings"); + + bindgen::builder() + .header("wrapper/driver_types.h") + .whitelist_recursively(false) + .whitelist_type("^CU.*") + .whitelist_type("^cuda.*") + .default_enum_style(bindgen::EnumVariation::Rust) + .generate() + .expect("Unable to generate driver types bindings") + .write_to_file(out_path.join("driver_types_bindings.rs")) + .expect("Unable to write driver types bindings"); + + bindgen::builder() + .header("wrapper/library_types.h") + .whitelist_recursively(false) + .whitelist_type("^cuda.*") + .whitelist_type("^libraryPropertyType.*") + .default_enum_style(bindgen::EnumVariation::Rust) + .generate() + .expect("Unable to generate library types bindings") + .write_to_file(out_path.join("library_types_bindings.rs")) + .expect("Unable to write library types bindings"); + + bindgen::builder() + .header("wrapper/vector_types.h") + // .whitelist_recursively(false) + .whitelist_type("^u?char[0-9]$") + .whitelist_type("^dim[0-9]$") + .whitelist_type("^double[0-9]$") + .whitelist_type("^float[0-9]$") + .whitelist_type("^u?int[0-9]$") + .whitelist_type("^u?long[0-9]$") + .whitelist_type("^u?longlong[0-9]$") + .whitelist_type("^u?short[0-9]$") + .default_enum_style(bindgen::EnumVariation::Rust) + .derive_copy(true) + .generate() + .expect("Unable to generate vector types bindings") + .write_to_file(out_path.join("vector_types_bindings.rs")) + .expect("Unable to write vector types bindings"); + for p in find_library_paths() { println!("cargo:rustc-link-search=native={}", p); } diff --git a/src/cublas.rs b/src/cublas.rs index e5ad5e1..17e3056 100644 --- a/src/cublas.rs +++ b/src/cublas.rs @@ -2,2907 +2,9 @@ #![allow(non_upper_case_globals)] #![allow(non_snake_case)] +pub use cucomplex::*; +use library_types::*; use cudart::*; -use vector_types::*; +pub use cudart::cudaDataType; -pub type cuFloatComplex = float2; -pub type cuDoubleComplex = double2; -pub type cuComplex = cuFloatComplex; - -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum cublasStatus_t { - SUCCESS = 0, - NOT_INITIALIZED = 1, - ALLOC_FAILED = 3, - INVALID_VALUE = 7, - ARCH_MISMATCH = 8, - MAPPING_ERROR = 11, - EXECUTION_FAILED = 13, - INTERNAL_ERROR = 14, - NOT_SUPPORTED = 15, - LICENSE_ERROR = 16, -} - -pub const cublasFillMode_t_CUBLAS_FILL_MODE_LOWER: cublasFillMode_t = 0; -pub const cublasFillMode_t_CUBLAS_FILL_MODE_UPPER: cublasFillMode_t = 1; -pub type cublasFillMode_t = ::std::os::raw::c_uint; -pub const cublasDiagType_t_CUBLAS_DIAG_NON_UNIT: cublasDiagType_t = 0; -pub const cublasDiagType_t_CUBLAS_DIAG_UNIT: cublasDiagType_t = 1; -pub type cublasDiagType_t = ::std::os::raw::c_uint; -pub const cublasSideMode_t_CUBLAS_SIDE_LEFT: cublasSideMode_t = 0; -pub const cublasSideMode_t_CUBLAS_SIDE_RIGHT: cublasSideMode_t = 1; -pub type cublasSideMode_t = ::std::os::raw::c_uint; -pub const cublasOperation_t_CUBLAS_OP_N: cublasOperation_t = 0; -pub const cublasOperation_t_CUBLAS_OP_T: cublasOperation_t = 1; -pub const cublasOperation_t_CUBLAS_OP_C: cublasOperation_t = 2; -pub type cublasOperation_t = ::std::os::raw::c_uint; -pub const cublasPointerMode_t_CUBLAS_POINTER_MODE_HOST: cublasPointerMode_t = 0; -pub const cublasPointerMode_t_CUBLAS_POINTER_MODE_DEVICE: cublasPointerMode_t = 1; -pub type cublasPointerMode_t = ::std::os::raw::c_uint; -pub const cublasAtomicsMode_t_CUBLAS_ATOMICS_NOT_ALLOWED: cublasAtomicsMode_t = 0; -pub const cublasAtomicsMode_t_CUBLAS_ATOMICS_ALLOWED: cublasAtomicsMode_t = 1; -pub type cublasAtomicsMode_t = ::std::os::raw::c_uint; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_DFALT: cublasGemmAlgo_t = -1; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_DEFAULT: cublasGemmAlgo_t = -1; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO0: cublasGemmAlgo_t = 0; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO1: cublasGemmAlgo_t = 1; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO2: cublasGemmAlgo_t = 2; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO3: cublasGemmAlgo_t = 3; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO4: cublasGemmAlgo_t = 4; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO5: cublasGemmAlgo_t = 5; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO6: cublasGemmAlgo_t = 6; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO7: cublasGemmAlgo_t = 7; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO8: cublasGemmAlgo_t = 8; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO9: cublasGemmAlgo_t = 9; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO10: cublasGemmAlgo_t = 10; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO11: cublasGemmAlgo_t = 11; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO12: cublasGemmAlgo_t = 12; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO13: cublasGemmAlgo_t = 13; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO14: cublasGemmAlgo_t = 14; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO15: cublasGemmAlgo_t = 15; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO16: cublasGemmAlgo_t = 16; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO17: cublasGemmAlgo_t = 17; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_DEFAULT_TENSOR_OP: cublasGemmAlgo_t = 99; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_DFALT_TENSOR_OP: cublasGemmAlgo_t = 99; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO0_TENSOR_OP: cublasGemmAlgo_t = 100; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO1_TENSOR_OP: cublasGemmAlgo_t = 101; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO2_TENSOR_OP: cublasGemmAlgo_t = 102; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO3_TENSOR_OP: cublasGemmAlgo_t = 103; -pub const cublasGemmAlgo_t_CUBLAS_GEMM_ALGO4_TENSOR_OP: cublasGemmAlgo_t = 104; -pub type cublasGemmAlgo_t = ::std::os::raw::c_int; -pub const cublasMath_t_CUBLAS_DEFAULT_MATH: cublasMath_t = 0; -pub const cublasMath_t_CUBLAS_TENSOR_OP_MATH: cublasMath_t = 1; -pub type cublasMath_t = ::std::os::raw::c_uint; - -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cublasContext { - _unused: [u8; 0], -} - -pub type cublasHandle_t = *mut cublasContext; - -extern "C" { - pub fn cublasCreate_v2(handle: *mut cublasHandle_t) -> cublasStatus_t; - pub fn cublasDestroy_v2(handle: cublasHandle_t) -> cublasStatus_t; - pub fn cublasGetVersion_v2(handle: cublasHandle_t, version: *mut ::std::os::raw::c_int) -> cublasStatus_t; - pub fn cublasGetProperty(type_: libraryPropertyType, value: *mut ::std::os::raw::c_int) -> cublasStatus_t; - pub fn cublasSetStream_v2(handle: cublasHandle_t, streamId: cudaStream_t) -> cublasStatus_t; - pub fn cublasGetStream_v2(handle: cublasHandle_t, streamId: *mut cudaStream_t) -> cublasStatus_t; - pub fn cublasGetPointerMode_v2(handle: cublasHandle_t, mode: *mut cublasPointerMode_t) -> cublasStatus_t; - pub fn cublasSetPointerMode_v2(handle: cublasHandle_t, mode: cublasPointerMode_t) -> cublasStatus_t; - pub fn cublasGetAtomicsMode(handle: cublasHandle_t, mode: *mut cublasAtomicsMode_t) -> cublasStatus_t; - pub fn cublasSetAtomicsMode(handle: cublasHandle_t, mode: cublasAtomicsMode_t) -> cublasStatus_t; - pub fn cublasGetMathMode(handle: cublasHandle_t, mode: *mut cublasMath_t) -> cublasStatus_t; - pub fn cublasSetMathMode(handle: cublasHandle_t, mode: cublasMath_t) -> cublasStatus_t; - pub fn cublasSetVector( - n: ::std::os::raw::c_int, - elemSize: ::std::os::raw::c_int, - x: *const ::std::os::raw::c_void, - incx: ::std::os::raw::c_int, - devicePtr: *mut ::std::os::raw::c_void, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasGetVector( - n: ::std::os::raw::c_int, - elemSize: ::std::os::raw::c_int, - x: *const ::std::os::raw::c_void, - incx: ::std::os::raw::c_int, - y: *mut ::std::os::raw::c_void, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSetMatrix( - rows: ::std::os::raw::c_int, - cols: ::std::os::raw::c_int, - elemSize: ::std::os::raw::c_int, - A: *const ::std::os::raw::c_void, - lda: ::std::os::raw::c_int, - B: *mut ::std::os::raw::c_void, - ldb: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasGetMatrix( - rows: ::std::os::raw::c_int, - cols: ::std::os::raw::c_int, - elemSize: ::std::os::raw::c_int, - A: *const ::std::os::raw::c_void, - lda: ::std::os::raw::c_int, - B: *mut ::std::os::raw::c_void, - ldb: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSetVectorAsync( - n: ::std::os::raw::c_int, - elemSize: ::std::os::raw::c_int, - hostPtr: *const ::std::os::raw::c_void, - incx: ::std::os::raw::c_int, - devicePtr: *mut ::std::os::raw::c_void, - incy: ::std::os::raw::c_int, - stream: cudaStream_t, - ) -> cublasStatus_t; - pub fn cublasGetVectorAsync( - n: ::std::os::raw::c_int, - elemSize: ::std::os::raw::c_int, - devicePtr: *const ::std::os::raw::c_void, - incx: ::std::os::raw::c_int, - hostPtr: *mut ::std::os::raw::c_void, - incy: ::std::os::raw::c_int, - stream: cudaStream_t, - ) -> cublasStatus_t; - pub fn cublasSetMatrixAsync( - rows: ::std::os::raw::c_int, - cols: ::std::os::raw::c_int, - elemSize: ::std::os::raw::c_int, - A: *const ::std::os::raw::c_void, - lda: ::std::os::raw::c_int, - B: *mut ::std::os::raw::c_void, - ldb: ::std::os::raw::c_int, - stream: cudaStream_t, - ) -> cublasStatus_t; - pub fn cublasGetMatrixAsync( - rows: ::std::os::raw::c_int, - cols: ::std::os::raw::c_int, - elemSize: ::std::os::raw::c_int, - A: *const ::std::os::raw::c_void, - lda: ::std::os::raw::c_int, - B: *mut ::std::os::raw::c_void, - ldb: ::std::os::raw::c_int, - stream: cudaStream_t, - ) -> cublasStatus_t; - pub fn cublasXerbla(srName: *const ::std::os::raw::c_char, info: ::std::os::raw::c_int); - pub fn cublasNrm2Ex( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const ::std::os::raw::c_void, - xType: cudaDataType, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_void, - resultType: cudaDataType, - executionType: cudaDataType, - ) -> cublasStatus_t; - pub fn cublasSnrm2_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - result: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDnrm2_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - result: *mut f64, - ) -> cublasStatus_t; - pub fn cublasScnrm2_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - result: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDznrm2_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - result: *mut f64, - ) -> cublasStatus_t; - pub fn cublasDotEx( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const ::std::os::raw::c_void, - xType: cudaDataType, - incx: ::std::os::raw::c_int, - y: *const ::std::os::raw::c_void, - yType: cudaDataType, - incy: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_void, - resultType: cudaDataType, - executionType: cudaDataType, - ) -> cublasStatus_t; - pub fn cublasDotcEx( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const ::std::os::raw::c_void, - xType: cudaDataType, - incx: ::std::os::raw::c_int, - y: *const ::std::os::raw::c_void, - yType: cudaDataType, - incy: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_void, - resultType: cudaDataType, - executionType: cudaDataType, - ) -> cublasStatus_t; - pub fn cublasSdot_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - y: *const f32, - incy: ::std::os::raw::c_int, - result: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDdot_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - y: *const f64, - incy: ::std::os::raw::c_int, - result: *mut f64, - ) -> cublasStatus_t; - pub fn cublasCdotu_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *const cuComplex, - incy: ::std::os::raw::c_int, - result: *mut cuComplex, - ) -> cublasStatus_t; - pub fn cublasCdotc_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *const cuComplex, - incy: ::std::os::raw::c_int, - result: *mut cuComplex, - ) -> cublasStatus_t; - pub fn cublasZdotu_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *const cuDoubleComplex, - incy: ::std::os::raw::c_int, - result: *mut cuDoubleComplex, - ) -> cublasStatus_t; - pub fn cublasZdotc_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *const cuDoubleComplex, - incy: ::std::os::raw::c_int, - result: *mut cuDoubleComplex, - ) -> cublasStatus_t; - pub fn cublasScalEx( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const ::std::os::raw::c_void, - alphaType: cudaDataType, - x: *mut ::std::os::raw::c_void, - xType: cudaDataType, - incx: ::std::os::raw::c_int, - executionType: cudaDataType, - ) -> cublasStatus_t; - pub fn cublasSscal_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *mut f32, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDscal_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *mut f64, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCscal_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsscal_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZscal_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZdscal_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasAxpyEx( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const ::std::os::raw::c_void, - alphaType: cudaDataType, - x: *const ::std::os::raw::c_void, - xType: cudaDataType, - incx: ::std::os::raw::c_int, - y: *mut ::std::os::raw::c_void, - yType: cudaDataType, - incy: ::std::os::raw::c_int, - executiontype: cudaDataType, - ) -> cublasStatus_t; - pub fn cublasSaxpy_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *const f32, - incx: ::std::os::raw::c_int, - y: *mut f32, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDaxpy_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *const f64, - incx: ::std::os::raw::c_int, - y: *mut f64, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCaxpy_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZaxpy_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasScopy_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - y: *mut f32, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDcopy_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - y: *mut f64, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCcopy_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZcopy_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSswap_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut f32, - incx: ::std::os::raw::c_int, - y: *mut f32, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDswap_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut f64, - incx: ::std::os::raw::c_int, - y: *mut f64, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCswap_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZswap_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasIsamax_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasIdamax_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasIcamax_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasIzamax_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasIsamin_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasIdamin_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasIcamin_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasIzamin_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - result: *mut ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSasum_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - result: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDasum_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - result: *mut f64, - ) -> cublasStatus_t; - pub fn cublasScasum_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - result: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDzasum_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - result: *mut f64, - ) -> cublasStatus_t; - pub fn cublasSrot_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut f32, - incx: ::std::os::raw::c_int, - y: *mut f32, - incy: ::std::os::raw::c_int, - c: *const f32, - s: *const f32, - ) -> cublasStatus_t; - pub fn cublasDrot_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut f64, - incx: ::std::os::raw::c_int, - y: *mut f64, - incy: ::std::os::raw::c_int, - c: *const f64, - s: *const f64, - ) -> cublasStatus_t; - pub fn cublasCrot_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - c: *const f32, - s: *const cuComplex, - ) -> cublasStatus_t; - pub fn cublasCsrot_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - c: *const f32, - s: *const f32, - ) -> cublasStatus_t; - pub fn cublasZrot_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - c: *const f64, - s: *const cuDoubleComplex, - ) -> cublasStatus_t; - pub fn cublasZdrot_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - c: *const f64, - s: *const f64, - ) -> cublasStatus_t; - pub fn cublasSrotg_v2(handle: cublasHandle_t, a: *mut f32, b: *mut f32, c: *mut f32, s: *mut f32) - -> cublasStatus_t; - pub fn cublasDrotg_v2(handle: cublasHandle_t, a: *mut f64, b: *mut f64, c: *mut f64, s: *mut f64) - -> cublasStatus_t; - pub fn cublasCrotg_v2( - handle: cublasHandle_t, - a: *mut cuComplex, - b: *mut cuComplex, - c: *mut f32, - s: *mut cuComplex, - ) -> cublasStatus_t; - pub fn cublasZrotg_v2( - handle: cublasHandle_t, - a: *mut cuDoubleComplex, - b: *mut cuDoubleComplex, - c: *mut f64, - s: *mut cuDoubleComplex, - ) -> cublasStatus_t; - pub fn cublasSrotm_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut f32, - incx: ::std::os::raw::c_int, - y: *mut f32, - incy: ::std::os::raw::c_int, - param: *const f32, - ) -> cublasStatus_t; - pub fn cublasDrotm_v2( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - x: *mut f64, - incx: ::std::os::raw::c_int, - y: *mut f64, - incy: ::std::os::raw::c_int, - param: *const f64, - ) -> cublasStatus_t; - pub fn cublasSrotmg_v2( - handle: cublasHandle_t, - d1: *mut f32, - d2: *mut f32, - x1: *mut f32, - y1: *const f32, - param: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDrotmg_v2( - handle: cublasHandle_t, - d1: *mut f64, - d2: *mut f64, - x1: *mut f64, - y1: *const f64, - param: *mut f64, - ) -> cublasStatus_t; - pub fn cublasSgemv_v2( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - beta: *const f32, - y: *mut f32, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgemv_v2( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - beta: *const f64, - y: *mut f64, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgemv_v2( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - beta: *const cuComplex, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgemv_v2( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgbmv_v2( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - kl: ::std::os::raw::c_int, - ku: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - beta: *const f32, - y: *mut f32, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgbmv_v2( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - kl: ::std::os::raw::c_int, - ku: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - beta: *const f64, - y: *mut f64, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgbmv_v2( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - kl: ::std::os::raw::c_int, - ku: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - beta: *const cuComplex, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgbmv_v2( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - kl: ::std::os::raw::c_int, - ku: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStrmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *mut f32, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtrmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *mut f64, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtrmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtrmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStbmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *mut f32, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtbmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *mut f64, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtbmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtbmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStpmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - AP: *const f32, - x: *mut f32, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtpmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - AP: *const f64, - x: *mut f64, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtpmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - AP: *const cuComplex, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtpmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - AP: *const cuDoubleComplex, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStrsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *mut f32, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtrsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *mut f64, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtrsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtrsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStpsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - AP: *const f32, - x: *mut f32, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtpsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - AP: *const f64, - x: *mut f64, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtpsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - AP: *const cuComplex, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtpsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - AP: *const cuDoubleComplex, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStbsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *mut f32, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtbsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *mut f64, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtbsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *mut cuComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtbsv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *mut cuDoubleComplex, - incx: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSsymv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - beta: *const f32, - y: *mut f32, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDsymv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - beta: *const f64, - y: *mut f64, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsymv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - beta: *const cuComplex, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZsymv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasChemv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - beta: *const cuComplex, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZhemv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSsbmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - beta: *const f32, - y: *mut f32, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDsbmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - beta: *const f64, - y: *mut f64, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasChbmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - beta: *const cuComplex, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZhbmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSspmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - AP: *const f32, - x: *const f32, - incx: ::std::os::raw::c_int, - beta: *const f32, - y: *mut f32, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDspmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - AP: *const f64, - x: *const f64, - incx: ::std::os::raw::c_int, - beta: *const f64, - y: *mut f64, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasChpmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - AP: *const cuComplex, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - beta: *const cuComplex, - y: *mut cuComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZhpmv_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - AP: *const cuDoubleComplex, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - y: *mut cuDoubleComplex, - incy: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSger_v2( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *const f32, - incx: ::std::os::raw::c_int, - y: *const f32, - incy: ::std::os::raw::c_int, - A: *mut f32, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDger_v2( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *const f64, - incx: ::std::os::raw::c_int, - y: *const f64, - incy: ::std::os::raw::c_int, - A: *mut f64, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgeru_v2( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *const cuComplex, - incy: ::std::os::raw::c_int, - A: *mut cuComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgerc_v2( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *const cuComplex, - incy: ::std::os::raw::c_int, - A: *mut cuComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgeru_v2( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *const cuDoubleComplex, - incy: ::std::os::raw::c_int, - A: *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgerc_v2( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *const cuDoubleComplex, - incy: ::std::os::raw::c_int, - A: *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSsyr_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *const f32, - incx: ::std::os::raw::c_int, - A: *mut f32, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDsyr_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *const f64, - incx: ::std::os::raw::c_int, - A: *mut f64, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsyr_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - A: *mut cuComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZsyr_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - A: *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCher_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - A: *mut cuComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZher_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - A: *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSspr_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *const f32, - incx: ::std::os::raw::c_int, - AP: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDspr_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *const f64, - incx: ::std::os::raw::c_int, - AP: *mut f64, - ) -> cublasStatus_t; - pub fn cublasChpr_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - AP: *mut cuComplex, - ) -> cublasStatus_t; - pub fn cublasZhpr_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - AP: *mut cuDoubleComplex, - ) -> cublasStatus_t; - pub fn cublasSsyr2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *const f32, - incx: ::std::os::raw::c_int, - y: *const f32, - incy: ::std::os::raw::c_int, - A: *mut f32, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDsyr2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *const f64, - incx: ::std::os::raw::c_int, - y: *const f64, - incy: ::std::os::raw::c_int, - A: *mut f64, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsyr2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *const cuComplex, - incy: ::std::os::raw::c_int, - A: *mut cuComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZsyr2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *const cuDoubleComplex, - incy: ::std::os::raw::c_int, - A: *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCher2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *const cuComplex, - incy: ::std::os::raw::c_int, - A: *mut cuComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZher2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *const cuDoubleComplex, - incy: ::std::os::raw::c_int, - A: *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSspr2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f32, - x: *const f32, - incx: ::std::os::raw::c_int, - y: *const f32, - incy: ::std::os::raw::c_int, - AP: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDspr2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const f64, - x: *const f64, - incx: ::std::os::raw::c_int, - y: *const f64, - incy: ::std::os::raw::c_int, - AP: *mut f64, - ) -> cublasStatus_t; - pub fn cublasChpr2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - y: *const cuComplex, - incy: ::std::os::raw::c_int, - AP: *mut cuComplex, - ) -> cublasStatus_t; - pub fn cublasZhpr2_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - y: *const cuDoubleComplex, - incy: ::std::os::raw::c_int, - AP: *mut cuDoubleComplex, - ) -> cublasStatus_t; - pub fn cublasSgemm_v2( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - B: *const f32, - ldb: ::std::os::raw::c_int, - beta: *const f32, - C: *mut f32, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgemm_v2( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - B: *const f64, - ldb: ::std::os::raw::c_int, - beta: *const f64, - C: *mut f64, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgemm_v2( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgemm3m( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgemm3mEx( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const ::std::os::raw::c_void, - Atype: cudaDataType, - lda: ::std::os::raw::c_int, - B: *const ::std::os::raw::c_void, - Btype: cudaDataType, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut ::std::os::raw::c_void, - Ctype: cudaDataType, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgemm_v2( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgemm3m( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgemmEx( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const ::std::os::raw::c_void, - Atype: cudaDataType, - lda: ::std::os::raw::c_int, - B: *const ::std::os::raw::c_void, - Btype: cudaDataType, - ldb: ::std::os::raw::c_int, - beta: *const f32, - C: *mut ::std::os::raw::c_void, - Ctype: cudaDataType, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasGemmEx( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const ::std::os::raw::c_void, - A: *const ::std::os::raw::c_void, - Atype: cudaDataType, - lda: ::std::os::raw::c_int, - B: *const ::std::os::raw::c_void, - Btype: cudaDataType, - ldb: ::std::os::raw::c_int, - beta: *const ::std::os::raw::c_void, - C: *mut ::std::os::raw::c_void, - Ctype: cudaDataType, - ldc: ::std::os::raw::c_int, - computeType: cudaDataType, - algo: cublasGemmAlgo_t, - ) -> cublasStatus_t; - pub fn cublasCgemmEx( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const ::std::os::raw::c_void, - Atype: cudaDataType, - lda: ::std::os::raw::c_int, - B: *const ::std::os::raw::c_void, - Btype: cudaDataType, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut ::std::os::raw::c_void, - Ctype: cudaDataType, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasUint8gemmBias( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - transc: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - A: *const ::std::os::raw::c_uchar, - A_bias: ::std::os::raw::c_int, - lda: ::std::os::raw::c_int, - B: *const ::std::os::raw::c_uchar, - B_bias: ::std::os::raw::c_int, - ldb: ::std::os::raw::c_int, - C: *mut ::std::os::raw::c_uchar, - C_bias: ::std::os::raw::c_int, - ldc: ::std::os::raw::c_int, - C_mult: ::std::os::raw::c_int, - C_shift: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSsyrk_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - beta: *const f32, - C: *mut f32, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDsyrk_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - beta: *const f64, - C: *mut f64, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsyrk_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZsyrk_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsyrkEx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const ::std::os::raw::c_void, - Atype: cudaDataType, - lda: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut ::std::os::raw::c_void, - Ctype: cudaDataType, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsyrk3mEx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const ::std::os::raw::c_void, - Atype: cudaDataType, - lda: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut ::std::os::raw::c_void, - Ctype: cudaDataType, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCherk_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - beta: *const f32, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZherk_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f64, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - beta: *const f64, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCherkEx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const ::std::os::raw::c_void, - Atype: cudaDataType, - lda: ::std::os::raw::c_int, - beta: *const f32, - C: *mut ::std::os::raw::c_void, - Ctype: cudaDataType, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCherk3mEx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const ::std::os::raw::c_void, - Atype: cudaDataType, - lda: ::std::os::raw::c_int, - beta: *const f32, - C: *mut ::std::os::raw::c_void, - Ctype: cudaDataType, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSsyr2k_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - B: *const f32, - ldb: ::std::os::raw::c_int, - beta: *const f32, - C: *mut f32, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDsyr2k_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - B: *const f64, - ldb: ::std::os::raw::c_int, - beta: *const f64, - C: *mut f64, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsyr2k_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZsyr2k_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCher2k_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const f32, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZher2k_v2( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const f64, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSsyrkx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - B: *const f32, - ldb: ::std::os::raw::c_int, - beta: *const f32, - C: *mut f32, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDsyrkx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - B: *const f64, - ldb: ::std::os::raw::c_int, - beta: *const f64, - C: *mut f64, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsyrkx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZsyrkx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCherkx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const f32, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZherkx( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const f64, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSsymm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - B: *const f32, - ldb: ::std::os::raw::c_int, - beta: *const f32, - C: *mut f32, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDsymm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - B: *const f64, - ldb: ::std::os::raw::c_int, - beta: *const f64, - C: *mut f64, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCsymm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZsymm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasChemm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZhemm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStrsm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - B: *mut f32, - ldb: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtrsm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - B: *mut f64, - ldb: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtrsm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *mut cuComplex, - ldb: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtrsm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *mut cuDoubleComplex, - ldb: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStrmm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - B: *const f32, - ldb: ::std::os::raw::c_int, - C: *mut f32, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtrmm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - B: *const f64, - ldb: ::std::os::raw::c_int, - C: *mut f64, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtrmm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtrmm_v2( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgemmBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - Aarray: *mut *const f32, - lda: ::std::os::raw::c_int, - Barray: *mut *const f32, - ldb: ::std::os::raw::c_int, - beta: *const f32, - Carray: *mut *mut f32, - ldc: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgemmBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f64, - Aarray: *mut *const f64, - lda: ::std::os::raw::c_int, - Barray: *mut *const f64, - ldb: ::std::os::raw::c_int, - beta: *const f64, - Carray: *mut *mut f64, - ldc: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgemmBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - Aarray: *mut *const cuComplex, - lda: ::std::os::raw::c_int, - Barray: *mut *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - Carray: *mut *mut cuComplex, - ldc: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgemm3mBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - Aarray: *mut *const cuComplex, - lda: ::std::os::raw::c_int, - Barray: *mut *const cuComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuComplex, - Carray: *mut *mut cuComplex, - ldc: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgemmBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - Aarray: *mut *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - Barray: *mut *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - Carray: *mut *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgemmStridedBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - strideA: ::std::os::raw::c_longlong, - B: *const f32, - ldb: ::std::os::raw::c_int, - strideB: ::std::os::raw::c_longlong, - beta: *const f32, - C: *mut f32, - ldc: ::std::os::raw::c_int, - strideC: ::std::os::raw::c_longlong, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgemmStridedBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - strideA: ::std::os::raw::c_longlong, - B: *const f64, - ldb: ::std::os::raw::c_int, - strideB: ::std::os::raw::c_longlong, - beta: *const f64, - C: *mut f64, - ldc: ::std::os::raw::c_int, - strideC: ::std::os::raw::c_longlong, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgemmStridedBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - strideA: ::std::os::raw::c_longlong, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - strideB: ::std::os::raw::c_longlong, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - strideC: ::std::os::raw::c_longlong, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgemm3mStridedBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - strideA: ::std::os::raw::c_longlong, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - strideB: ::std::os::raw::c_longlong, - beta: *const cuComplex, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - strideC: ::std::os::raw::c_longlong, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgemmStridedBatched( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - k: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - strideA: ::std::os::raw::c_longlong, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - strideB: ::std::os::raw::c_longlong, - beta: *const cuDoubleComplex, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - strideC: ::std::os::raw::c_longlong, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgeam( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f32, - A: *const f32, - lda: ::std::os::raw::c_int, - beta: *const f32, - B: *const f32, - ldb: ::std::os::raw::c_int, - C: *mut f32, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgeam( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f64, - A: *const f64, - lda: ::std::os::raw::c_int, - beta: *const f64, - B: *const f64, - ldb: ::std::os::raw::c_int, - C: *mut f64, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgeam( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - beta: *const cuComplex, - B: *const cuComplex, - ldb: ::std::os::raw::c_int, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgeam( - handle: cublasHandle_t, - transa: cublasOperation_t, - transb: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - beta: *const cuDoubleComplex, - B: *const cuDoubleComplex, - ldb: ::std::os::raw::c_int, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgetrfBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *mut f32, - lda: ::std::os::raw::c_int, - P: *mut ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgetrfBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *mut f64, - lda: ::std::os::raw::c_int, - P: *mut ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgetrfBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *mut cuComplex, - lda: ::std::os::raw::c_int, - P: *mut ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgetrfBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - P: *mut ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgetriBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *const f32, - lda: ::std::os::raw::c_int, - P: *const ::std::os::raw::c_int, - C: *mut *mut f32, - ldc: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgetriBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *const f64, - lda: ::std::os::raw::c_int, - P: *const ::std::os::raw::c_int, - C: *mut *mut f64, - ldc: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgetriBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *const cuComplex, - lda: ::std::os::raw::c_int, - P: *const ::std::os::raw::c_int, - C: *mut *mut cuComplex, - ldc: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgetriBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - P: *const ::std::os::raw::c_int, - C: *mut *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgetrsBatched( - handle: cublasHandle_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - nrhs: ::std::os::raw::c_int, - Aarray: *mut *const f32, - lda: ::std::os::raw::c_int, - devIpiv: *const ::std::os::raw::c_int, - Barray: *mut *mut f32, - ldb: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgetrsBatched( - handle: cublasHandle_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - nrhs: ::std::os::raw::c_int, - Aarray: *mut *const f64, - lda: ::std::os::raw::c_int, - devIpiv: *const ::std::os::raw::c_int, - Barray: *mut *mut f64, - ldb: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgetrsBatched( - handle: cublasHandle_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - nrhs: ::std::os::raw::c_int, - Aarray: *mut *const cuComplex, - lda: ::std::os::raw::c_int, - devIpiv: *const ::std::os::raw::c_int, - Barray: *mut *mut cuComplex, - ldb: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgetrsBatched( - handle: cublasHandle_t, - trans: cublasOperation_t, - n: ::std::os::raw::c_int, - nrhs: ::std::os::raw::c_int, - Aarray: *mut *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - devIpiv: *const ::std::os::raw::c_int, - Barray: *mut *mut cuDoubleComplex, - ldb: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStrsmBatched( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f32, - A: *mut *const f32, - lda: ::std::os::raw::c_int, - B: *mut *mut f32, - ldb: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtrsmBatched( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const f64, - A: *mut *const f64, - lda: ::std::os::raw::c_int, - B: *mut *mut f64, - ldb: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtrsmBatched( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuComplex, - A: *mut *const cuComplex, - lda: ::std::os::raw::c_int, - B: *mut *mut cuComplex, - ldb: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtrsmBatched( - handle: cublasHandle_t, - side: cublasSideMode_t, - uplo: cublasFillMode_t, - trans: cublasOperation_t, - diag: cublasDiagType_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - alpha: *const cuDoubleComplex, - A: *mut *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - B: *mut *mut cuDoubleComplex, - ldb: ::std::os::raw::c_int, - batchCount: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSmatinvBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *const f32, - lda: ::std::os::raw::c_int, - Ainv: *mut *mut f32, - lda_inv: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDmatinvBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *const f64, - lda: ::std::os::raw::c_int, - Ainv: *mut *mut f64, - lda_inv: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCmatinvBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *const cuComplex, - lda: ::std::os::raw::c_int, - Ainv: *mut *mut cuComplex, - lda_inv: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZmatinvBatched( - handle: cublasHandle_t, - n: ::std::os::raw::c_int, - A: *mut *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - Ainv: *mut *mut cuDoubleComplex, - lda_inv: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgeqrfBatched( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - Aarray: *mut *mut f32, - lda: ::std::os::raw::c_int, - TauArray: *mut *mut f32, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgeqrfBatched( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - Aarray: *mut *mut f64, - lda: ::std::os::raw::c_int, - TauArray: *mut *mut f64, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgeqrfBatched( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - Aarray: *mut *mut cuComplex, - lda: ::std::os::raw::c_int, - TauArray: *mut *mut cuComplex, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgeqrfBatched( - handle: cublasHandle_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - Aarray: *mut *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - TauArray: *mut *mut cuDoubleComplex, - info: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSgelsBatched( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - nrhs: ::std::os::raw::c_int, - Aarray: *mut *mut f32, - lda: ::std::os::raw::c_int, - Carray: *mut *mut f32, - ldc: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - devInfoArray: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDgelsBatched( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - nrhs: ::std::os::raw::c_int, - Aarray: *mut *mut f64, - lda: ::std::os::raw::c_int, - Carray: *mut *mut f64, - ldc: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - devInfoArray: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCgelsBatched( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - nrhs: ::std::os::raw::c_int, - Aarray: *mut *mut cuComplex, - lda: ::std::os::raw::c_int, - Carray: *mut *mut cuComplex, - ldc: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - devInfoArray: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZgelsBatched( - handle: cublasHandle_t, - trans: cublasOperation_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - nrhs: ::std::os::raw::c_int, - Aarray: *mut *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - Carray: *mut *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - info: *mut ::std::os::raw::c_int, - devInfoArray: *mut ::std::os::raw::c_int, - batchSize: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasSdgmm( - handle: cublasHandle_t, - mode: cublasSideMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - A: *const f32, - lda: ::std::os::raw::c_int, - x: *const f32, - incx: ::std::os::raw::c_int, - C: *mut f32, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDdgmm( - handle: cublasHandle_t, - mode: cublasSideMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - A: *const f64, - lda: ::std::os::raw::c_int, - x: *const f64, - incx: ::std::os::raw::c_int, - C: *mut f64, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCdgmm( - handle: cublasHandle_t, - mode: cublasSideMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - x: *const cuComplex, - incx: ::std::os::raw::c_int, - C: *mut cuComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZdgmm( - handle: cublasHandle_t, - mode: cublasSideMode_t, - m: ::std::os::raw::c_int, - n: ::std::os::raw::c_int, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - x: *const cuDoubleComplex, - incx: ::std::os::raw::c_int, - C: *mut cuDoubleComplex, - ldc: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStpttr( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - AP: *const f32, - A: *mut f32, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasDtpttr( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - AP: *const f64, - A: *mut f64, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasCtpttr( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - AP: *const cuComplex, - A: *mut cuComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasZtpttr( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - AP: *const cuDoubleComplex, - A: *mut cuDoubleComplex, - lda: ::std::os::raw::c_int, - ) -> cublasStatus_t; - pub fn cublasStrttp( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - A: *const f32, - lda: ::std::os::raw::c_int, - AP: *mut f32, - ) -> cublasStatus_t; - pub fn cublasDtrttp( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - A: *const f64, - lda: ::std::os::raw::c_int, - AP: *mut f64, - ) -> cublasStatus_t; - pub fn cublasCtrttp( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - A: *const cuComplex, - lda: ::std::os::raw::c_int, - AP: *mut cuComplex, - ) -> cublasStatus_t; - pub fn cublasZtrttp( - handle: cublasHandle_t, - uplo: cublasFillMode_t, - n: ::std::os::raw::c_int, - A: *const cuDoubleComplex, - lda: ::std::os::raw::c_int, - AP: *mut cuDoubleComplex, - ) -> cublasStatus_t; -} +include!(concat!(env!("OUT_DIR"), "/cublas_bindings.rs")); diff --git a/src/cucomplex.rs b/src/cucomplex.rs new file mode 100644 index 0000000..d1e006f --- /dev/null +++ b/src/cucomplex.rs @@ -0,0 +1,7 @@ +#![allow(non_camel_case_types)] +#![allow(non_upper_case_globals)] +#![allow(non_snake_case)] + +use vector_types::*; + +include!(concat!(env!("OUT_DIR"), "/cucomplex_bindings.rs")); diff --git a/src/cuda.rs b/src/cuda.rs index 257b375..de14b57 100644 --- a/src/cuda.rs +++ b/src/cuda.rs @@ -1,1854 +1,7 @@ -#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] +#![allow(non_camel_case_types)] +#![allow(non_upper_case_globals)] +#![allow(non_snake_case)] -pub const __CUDA_API_VERSION: ::std::os::raw::c_uint = 8000; -pub const CUDA_VERSION: ::std::os::raw::c_uint = 8000; -pub const CU_IPC_HANDLE_SIZE: ::std::os::raw::c_uint = 64; -pub const CU_MEMHOSTALLOC_PORTABLE: ::std::os::raw::c_uint = 1; -pub const CU_MEMHOSTALLOC_DEVICEMAP: ::std::os::raw::c_uint = 2; -pub const CU_MEMHOSTALLOC_WRITECOMBINED: ::std::os::raw::c_uint = 4; -pub const CU_MEMHOSTREGISTER_PORTABLE: ::std::os::raw::c_uint = 1; -pub const CU_MEMHOSTREGISTER_DEVICEMAP: ::std::os::raw::c_uint = 2; -pub const CU_MEMHOSTREGISTER_IOMEMORY: ::std::os::raw::c_uint = 4; -pub const CUDA_ARRAY3D_LAYERED: ::std::os::raw::c_uint = 1; -pub const CUDA_ARRAY3D_2DARRAY: ::std::os::raw::c_uint = 1; -pub const CUDA_ARRAY3D_SURFACE_LDST: ::std::os::raw::c_uint = 2; -pub const CUDA_ARRAY3D_CUBEMAP: ::std::os::raw::c_uint = 4; -pub const CUDA_ARRAY3D_TEXTURE_GATHER: ::std::os::raw::c_uint = 8; -pub const CUDA_ARRAY3D_DEPTH_TEXTURE: ::std::os::raw::c_uint = 16; -pub const CU_TRSA_OVERRIDE_FORMAT: ::std::os::raw::c_uint = 1; -pub const CU_TRSF_READ_AS_INTEGER: ::std::os::raw::c_uint = 1; -pub const CU_TRSF_NORMALIZED_COORDINATES: ::std::os::raw::c_uint = 2; -pub const CU_TRSF_SRGB: ::std::os::raw::c_uint = 16; -pub const CU_PARAM_TR_DEFAULT: ::std::os::raw::c_int = -1; +pub use driver_types::cudaError_t; -pub type CUdeviceptr = ::std::os::raw::c_ulonglong; -pub type CUdevice = ::std::os::raw::c_int; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUctx_st { - pub _address: u8, -} -impl Clone for CUctx_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUcontext = *mut CUctx_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUmod_st { - pub _address: u8, -} -impl Clone for CUmod_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUmodule = *mut CUmod_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUfunc_st { - pub _address: u8, -} -impl Clone for CUfunc_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUfunction = *mut CUfunc_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUarray_st { - pub _address: u8, -} -impl Clone for CUarray_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUarray = *mut CUarray_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUmipmappedArray_st { - pub _address: u8, -} -impl Clone for CUmipmappedArray_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUmipmappedArray = *mut CUmipmappedArray_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUtexref_st { - pub _address: u8, -} -impl Clone for CUtexref_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUtexref = *mut CUtexref_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUsurfref_st { - pub _address: u8, -} -impl Clone for CUsurfref_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUsurfref = *mut CUsurfref_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUevent_st { - pub _address: u8, -} -impl Clone for CUevent_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUevent = *mut CUevent_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUstream_st { - pub _address: u8, -} -impl Clone for CUstream_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUstream = *mut CUstream_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUgraphicsResource_st { - pub _address: u8, -} -impl Clone for CUgraphicsResource_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUgraphicsResource = *mut CUgraphicsResource_st; -pub type CUtexObject = ::std::os::raw::c_ulonglong; -pub type CUsurfObject = ::std::os::raw::c_ulonglong; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUuuid_st { - pub bytes: [::std::os::raw::c_char; 16usize], -} -impl Clone for CUuuid_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUuuid = CUuuid_st; -#[repr(C)] -pub struct CUipcEventHandle_st { - pub reserved: [::std::os::raw::c_char; 64usize], -} -pub type CUipcEventHandle = CUipcEventHandle_st; -#[repr(C)] -pub struct CUipcMemHandle_st { - pub reserved: [::std::os::raw::c_char; 64usize], -} -pub type CUipcMemHandle = CUipcMemHandle_st; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUipcMem_flags_enum { - CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 1, -} -pub type CUipcMem_flags = CUipcMem_flags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUmemAttach_flags_enum { - CU_MEM_ATTACH_GLOBAL = 1, - CU_MEM_ATTACH_HOST = 2, - CU_MEM_ATTACH_SINGLE = 4, -} -pub type CUmemAttach_flags = CUmemAttach_flags_enum; -pub const CUctx_flags_enum_CU_CTX_BLOCKING_SYNC: CUctx_flags_enum = CUctx_flags_enum::CU_CTX_SCHED_BLOCKING_SYNC; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUctx_flags_enum { - CU_CTX_SCHED_AUTO = 0, - CU_CTX_SCHED_SPIN = 1, - CU_CTX_SCHED_YIELD = 2, - CU_CTX_SCHED_BLOCKING_SYNC = 4, - CU_CTX_SCHED_MASK = 7, - CU_CTX_MAP_HOST = 8, - CU_CTX_LMEM_RESIZE_TO_MAX = 16, - CU_CTX_FLAGS_MASK = 31, -} -pub type CUctx_flags = CUctx_flags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUstream_flags_enum { - CU_STREAM_DEFAULT = 0, - CU_STREAM_NON_BLOCKING = 1, -} -pub type CUstream_flags = CUstream_flags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUevent_flags_enum { - CU_EVENT_DEFAULT = 0, - CU_EVENT_BLOCKING_SYNC = 1, - CU_EVENT_DISABLE_TIMING = 2, - CU_EVENT_INTERPROCESS = 4, -} -pub type CUevent_flags = CUevent_flags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUstreamWaitValue_flags_enum { - CU_STREAM_WAIT_VALUE_GEQ = 0, - CU_STREAM_WAIT_VALUE_EQ = 1, - CU_STREAM_WAIT_VALUE_AND = 2, - CU_STREAM_WAIT_VALUE_FLUSH = 1073741824, -} -pub type CUstreamWaitValue_flags = CUstreamWaitValue_flags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUstreamWriteValue_flags_enum { - CU_STREAM_WRITE_VALUE_DEFAULT = 0, - CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 1, -} -pub type CUstreamWriteValue_flags = CUstreamWriteValue_flags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUstreamBatchMemOpType_enum { - CU_STREAM_MEM_OP_WAIT_VALUE_32 = 1, - CU_STREAM_MEM_OP_WRITE_VALUE_32 = 2, - CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES = 3, -} -pub type CUstreamBatchMemOpType = CUstreamBatchMemOpType_enum; -#[repr(C)] -#[derive(Copy)] -pub union CUstreamBatchMemOpParams_union { - pub operation: CUstreamBatchMemOpType, - pub waitValue: CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st, - pub writeValue: CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st, - pub flushRemoteWrites: CUstreamBatchMemOpParams_union_CUstreamMemOpFlushRemoteWritesParams_st, - pub pad: [u64; 6usize], -} -#[repr(C)] -#[derive(Copy)] -pub struct CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st { - pub operation: CUstreamBatchMemOpType, - pub address: CUdeviceptr, - pub __bindgen_anon_1: CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st__bindgen_ty_1, - pub flags: ::std::os::raw::c_uint, - pub alias: CUdeviceptr, -} -#[repr(C)] -#[derive(Copy)] -pub union CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st__bindgen_ty_1 { - pub value: u32, - pub pad: u64, -} -impl Clone for CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -impl Clone for CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Copy)] -pub struct CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st { - pub operation: CUstreamBatchMemOpType, - pub address: CUdeviceptr, - pub __bindgen_anon_1: CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st__bindgen_ty_1, - pub flags: ::std::os::raw::c_uint, - pub alias: CUdeviceptr, -} -#[repr(C)] -#[derive(Copy)] -pub union CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st__bindgen_ty_1 { - pub value: u32, - pub pad: u64, -} -impl Clone for CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -impl Clone for CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUstreamBatchMemOpParams_union_CUstreamMemOpFlushRemoteWritesParams_st { - pub operation: CUstreamBatchMemOpType, - pub flags: ::std::os::raw::c_uint, -} -impl Clone for CUstreamBatchMemOpParams_union_CUstreamMemOpFlushRemoteWritesParams_st { - fn clone(&self) -> Self { - *self - } -} -impl Clone for CUstreamBatchMemOpParams_union { - fn clone(&self) -> Self { - *self - } -} -pub type CUstreamBatchMemOpParams = CUstreamBatchMemOpParams_union; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUoccupancy_flags_enum { - CU_OCCUPANCY_DEFAULT = 0, - CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 1, -} -pub type CUoccupancy_flags = CUoccupancy_flags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUarray_format_enum { - CU_AD_FORMAT_UNSIGNED_INT8 = 1, - CU_AD_FORMAT_UNSIGNED_INT16 = 2, - CU_AD_FORMAT_UNSIGNED_INT32 = 3, - CU_AD_FORMAT_SIGNED_INT8 = 8, - CU_AD_FORMAT_SIGNED_INT16 = 9, - CU_AD_FORMAT_SIGNED_INT32 = 10, - CU_AD_FORMAT_HALF = 16, - CU_AD_FORMAT_FLOAT = 32, -} -pub type CUarray_format = CUarray_format_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUaddress_mode_enum { - CU_TR_ADDRESS_MODE_WRAP = 0, - CU_TR_ADDRESS_MODE_CLAMP = 1, - CU_TR_ADDRESS_MODE_MIRROR = 2, - CU_TR_ADDRESS_MODE_BORDER = 3, -} -pub type CUaddress_mode = CUaddress_mode_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUfilter_mode_enum { - CU_TR_FILTER_MODE_POINT = 0, - CU_TR_FILTER_MODE_LINEAR = 1, -} -pub type CUfilter_mode = CUfilter_mode_enum; -pub const CUdevice_attribute_enum_CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK: CUdevice_attribute_enum = - CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK; -pub const CUdevice_attribute_enum_CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK: CUdevice_attribute_enum = - CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK; -pub const CUdevice_attribute_enum_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH: CUdevice_attribute_enum = - CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH; -pub const CUdevice_attribute_enum_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT: CUdevice_attribute_enum = - CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT; -pub const CUdevice_attribute_enum_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES: CUdevice_attribute_enum = - CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUdevice_attribute_enum { - CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1, - CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2, - CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3, - CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4, - CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5, - CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6, - CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7, - CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8, - CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9, - CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10, - CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11, - CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12, - CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13, - CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14, - CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15, - CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16, - CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17, - CU_DEVICE_ATTRIBUTE_INTEGRATED = 18, - CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19, - CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29, - CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30, - CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31, - CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32, - CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33, - CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34, - CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35, - CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36, - CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37, - CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38, - CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39, - CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40, - CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43, - CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49, - CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50, - CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67, - CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74, - CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75, - CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76, - CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77, - CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78, - CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79, - CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80, - CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81, - CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82, - CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83, - CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84, - CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85, - CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86, - CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87, - CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88, - CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89, - CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90, - CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91, - CU_DEVICE_ATTRIBUTE_MAX = 92, -} -pub type CUdevice_attribute = CUdevice_attribute_enum; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUdevprop_st { - pub maxThreadsPerBlock: ::std::os::raw::c_int, - pub maxThreadsDim: [::std::os::raw::c_int; 3usize], - pub maxGridSize: [::std::os::raw::c_int; 3usize], - pub sharedMemPerBlock: ::std::os::raw::c_int, - pub totalConstantMemory: ::std::os::raw::c_int, - pub SIMDWidth: ::std::os::raw::c_int, - pub memPitch: ::std::os::raw::c_int, - pub regsPerBlock: ::std::os::raw::c_int, - pub clockRate: ::std::os::raw::c_int, - pub textureAlign: ::std::os::raw::c_int, -} -impl Clone for CUdevprop_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUdevprop = CUdevprop_st; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUpointer_attribute_enum { - CU_POINTER_ATTRIBUTE_CONTEXT = 1, - CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2, - CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3, - CU_POINTER_ATTRIBUTE_HOST_POINTER = 4, - CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5, - CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6, - CU_POINTER_ATTRIBUTE_BUFFER_ID = 7, - CU_POINTER_ATTRIBUTE_IS_MANAGED = 8, -} -pub type CUpointer_attribute = CUpointer_attribute_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUfunction_attribute_enum { - CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0, - CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1, - CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2, - CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3, - CU_FUNC_ATTRIBUTE_NUM_REGS = 4, - CU_FUNC_ATTRIBUTE_PTX_VERSION = 5, - CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6, - CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7, - CU_FUNC_ATTRIBUTE_MAX = 8, -} -pub type CUfunction_attribute = CUfunction_attribute_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUfunc_cache_enum { - CU_FUNC_CACHE_PREFER_NONE = 0, - CU_FUNC_CACHE_PREFER_SHARED = 1, - CU_FUNC_CACHE_PREFER_L1 = 2, - CU_FUNC_CACHE_PREFER_EQUAL = 3, -} -pub type CUfunc_cache = CUfunc_cache_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUsharedconfig_enum { - CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0, - CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 1, - CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 2, -} -pub type CUsharedconfig = CUsharedconfig_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUmemorytype_enum { - CU_MEMORYTYPE_HOST = 1, - CU_MEMORYTYPE_DEVICE = 2, - CU_MEMORYTYPE_ARRAY = 3, - CU_MEMORYTYPE_UNIFIED = 4, -} -pub type CUmemorytype = CUmemorytype_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUcomputemode_enum { - CU_COMPUTEMODE_DEFAULT = 0, - CU_COMPUTEMODE_PROHIBITED = 2, - CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3, -} -pub type CUcomputemode = CUcomputemode_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUmem_advise_enum { - CU_MEM_ADVISE_SET_READ_MOSTLY = 1, - CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2, - CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3, - CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4, - CU_MEM_ADVISE_SET_ACCESSED_BY = 5, - CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6, -} -pub type CUmem_advise = CUmem_advise_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUmem_range_attribute_enum { - CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = 1, - CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = 2, - CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY = 3, - CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = 4, -} -pub type CUmem_range_attribute = CUmem_range_attribute_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUjit_option_enum { - CU_JIT_MAX_REGISTERS = 0, - CU_JIT_THREADS_PER_BLOCK = 1, - CU_JIT_WALL_TIME = 2, - CU_JIT_INFO_LOG_BUFFER = 3, - CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4, - CU_JIT_ERROR_LOG_BUFFER = 5, - CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6, - CU_JIT_OPTIMIZATION_LEVEL = 7, - CU_JIT_TARGET_FROM_CUCONTEXT = 8, - CU_JIT_TARGET = 9, - CU_JIT_FALLBACK_STRATEGY = 10, - CU_JIT_GENERATE_DEBUG_INFO = 11, - CU_JIT_LOG_VERBOSE = 12, - CU_JIT_GENERATE_LINE_INFO = 13, - CU_JIT_CACHE_MODE = 14, - CU_JIT_NEW_SM3X_OPT = 15, - CU_JIT_FAST_COMPILE = 16, - CU_JIT_NUM_OPTIONS = 17, -} -pub type CUjit_option = CUjit_option_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUjit_target_enum { - CU_TARGET_COMPUTE_10 = 10, - CU_TARGET_COMPUTE_11 = 11, - CU_TARGET_COMPUTE_12 = 12, - CU_TARGET_COMPUTE_13 = 13, - CU_TARGET_COMPUTE_20 = 20, - CU_TARGET_COMPUTE_21 = 21, - CU_TARGET_COMPUTE_30 = 30, - CU_TARGET_COMPUTE_32 = 32, - CU_TARGET_COMPUTE_35 = 35, - CU_TARGET_COMPUTE_37 = 37, - CU_TARGET_COMPUTE_50 = 50, - CU_TARGET_COMPUTE_52 = 52, - CU_TARGET_COMPUTE_53 = 53, - CU_TARGET_COMPUTE_60 = 60, - CU_TARGET_COMPUTE_61 = 61, - CU_TARGET_COMPUTE_62 = 62, -} -pub type CUjit_target = CUjit_target_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUjit_fallback_enum { - CU_PREFER_PTX = 0, - CU_PREFER_BINARY = 1, -} -pub type CUjit_fallback = CUjit_fallback_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUjit_cacheMode_enum { - CU_JIT_CACHE_OPTION_NONE = 0, - CU_JIT_CACHE_OPTION_CG = 1, - CU_JIT_CACHE_OPTION_CA = 2, -} -pub type CUjit_cacheMode = CUjit_cacheMode_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUjitInputType_enum { - CU_JIT_INPUT_CUBIN = 0, - CU_JIT_INPUT_PTX = 1, - CU_JIT_INPUT_FATBINARY = 2, - CU_JIT_INPUT_OBJECT = 3, - CU_JIT_INPUT_LIBRARY = 4, - CU_JIT_NUM_INPUT_TYPES = 5, -} -pub type CUjitInputType = CUjitInputType_enum; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUlinkState_st { - pub _address: u8, -} -impl Clone for CUlinkState_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUlinkState = *mut CUlinkState_st; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUgraphicsRegisterFlags_enum { - CU_GRAPHICS_REGISTER_FLAGS_NONE = 0, - CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 1, - CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 2, - CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 4, - CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 8, -} -pub type CUgraphicsRegisterFlags = CUgraphicsRegisterFlags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUgraphicsMapResourceFlags_enum { - CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0, - CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 1, - CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2, -} -pub type CUgraphicsMapResourceFlags = CUgraphicsMapResourceFlags_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUarray_cubemap_face_enum { - CU_CUBEMAP_FACE_POSITIVE_X = 0, - CU_CUBEMAP_FACE_NEGATIVE_X = 1, - CU_CUBEMAP_FACE_POSITIVE_Y = 2, - CU_CUBEMAP_FACE_NEGATIVE_Y = 3, - CU_CUBEMAP_FACE_POSITIVE_Z = 4, - CU_CUBEMAP_FACE_NEGATIVE_Z = 5, -} -pub type CUarray_cubemap_face = CUarray_cubemap_face_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUlimit_enum { - CU_LIMIT_STACK_SIZE = 0, - CU_LIMIT_PRINTF_FIFO_SIZE = 1, - CU_LIMIT_MALLOC_HEAP_SIZE = 2, - CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3, - CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4, - CU_LIMIT_MAX = 5, -} -pub type CUlimit = CUlimit_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUresourcetype_enum { - CU_RESOURCE_TYPE_ARRAY = 0, - CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1, - CU_RESOURCE_TYPE_LINEAR = 2, - CU_RESOURCE_TYPE_PITCH2D = 3, -} -pub type CUresourcetype = CUresourcetype_enum; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum cudaError_t { - CUDA_SUCCESS = 0, - CUDA_ERROR_INVALID_VALUE = 1, - CUDA_ERROR_OUT_OF_MEMORY = 2, - CUDA_ERROR_NOT_INITIALIZED = 3, - CUDA_ERROR_DEINITIALIZED = 4, - CUDA_ERROR_PROFILER_DISABLED = 5, - CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6, - CUDA_ERROR_PROFILER_ALREADY_STARTED = 7, - CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8, - CUDA_ERROR_NO_DEVICE = 100, - CUDA_ERROR_INVALID_DEVICE = 101, - CUDA_ERROR_INVALID_IMAGE = 200, - CUDA_ERROR_INVALID_CONTEXT = 201, - CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202, - CUDA_ERROR_MAP_FAILED = 205, - CUDA_ERROR_UNMAP_FAILED = 206, - CUDA_ERROR_ARRAY_IS_MAPPED = 207, - CUDA_ERROR_ALREADY_MAPPED = 208, - CUDA_ERROR_NO_BINARY_FOR_GPU = 209, - CUDA_ERROR_ALREADY_ACQUIRED = 210, - CUDA_ERROR_NOT_MAPPED = 211, - CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212, - CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213, - CUDA_ERROR_ECC_UNCORRECTABLE = 214, - CUDA_ERROR_UNSUPPORTED_LIMIT = 215, - CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216, - CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217, - CUDA_ERROR_INVALID_PTX = 218, - CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219, - CUDA_ERROR_NVLINK_UNCORRECTABLE = 220, - CUDA_ERROR_INVALID_SOURCE = 300, - CUDA_ERROR_FILE_NOT_FOUND = 301, - CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302, - CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303, - CUDA_ERROR_OPERATING_SYSTEM = 304, - CUDA_ERROR_INVALID_HANDLE = 400, - CUDA_ERROR_NOT_FOUND = 500, - CUDA_ERROR_NOT_READY = 600, - CUDA_ERROR_ILLEGAL_ADDRESS = 700, - CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701, - CUDA_ERROR_LAUNCH_TIMEOUT = 702, - CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703, - CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704, - CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705, - CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708, - CUDA_ERROR_CONTEXT_IS_DESTROYED = 709, - CUDA_ERROR_ASSERT = 710, - CUDA_ERROR_TOO_MANY_PEERS = 711, - CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712, - CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713, - CUDA_ERROR_HARDWARE_STACK_ERROR = 714, - CUDA_ERROR_ILLEGAL_INSTRUCTION = 715, - CUDA_ERROR_MISALIGNED_ADDRESS = 716, - CUDA_ERROR_INVALID_ADDRESS_SPACE = 717, - CUDA_ERROR_INVALID_PC = 718, - CUDA_ERROR_LAUNCH_FAILED = 719, - CUDA_ERROR_NOT_PERMITTED = 800, - CUDA_ERROR_NOT_SUPPORTED = 801, - CUDA_ERROR_UNKNOWN = 999, -} -pub type CUresult = cudaError_t; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUdevice_P2PAttribute_enum { - CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1, - CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2, - CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3, -} -pub type CUdevice_P2PAttribute = CUdevice_P2PAttribute_enum; -pub type CUstreamCallback = ::std::option::Option< - unsafe extern "C" fn(hStream: CUstream, status: CUresult, userData: *mut ::std::os::raw::c_void), ->; -pub type CUoccupancyB2DSize = - ::std::option::Option ::std::os::raw::c_ulong>; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_MEMCPY2D_st { - pub srcXInBytes: usize, - pub srcY: usize, - pub srcMemoryType: CUmemorytype, - pub srcHost: *const ::std::os::raw::c_void, - pub srcDevice: CUdeviceptr, - pub srcArray: CUarray, - pub srcPitch: usize, - pub dstXInBytes: usize, - pub dstY: usize, - pub dstMemoryType: CUmemorytype, - pub dstHost: *mut ::std::os::raw::c_void, - pub dstDevice: CUdeviceptr, - pub dstArray: CUarray, - pub dstPitch: usize, - pub WidthInBytes: usize, - pub Height: usize, -} -impl Clone for CUDA_MEMCPY2D_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_MEMCPY2D = CUDA_MEMCPY2D_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_MEMCPY3D_st { - pub srcXInBytes: usize, - pub srcY: usize, - pub srcZ: usize, - pub srcLOD: usize, - pub srcMemoryType: CUmemorytype, - pub srcHost: *const ::std::os::raw::c_void, - pub srcDevice: CUdeviceptr, - pub srcArray: CUarray, - pub reserved0: *mut ::std::os::raw::c_void, - pub srcPitch: usize, - pub srcHeight: usize, - pub dstXInBytes: usize, - pub dstY: usize, - pub dstZ: usize, - pub dstLOD: usize, - pub dstMemoryType: CUmemorytype, - pub dstHost: *mut ::std::os::raw::c_void, - pub dstDevice: CUdeviceptr, - pub dstArray: CUarray, - pub reserved1: *mut ::std::os::raw::c_void, - pub dstPitch: usize, - pub dstHeight: usize, - pub WidthInBytes: usize, - pub Height: usize, - pub Depth: usize, -} -impl Clone for CUDA_MEMCPY3D_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_MEMCPY3D = CUDA_MEMCPY3D_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_MEMCPY3D_PEER_st { - pub srcXInBytes: usize, - pub srcY: usize, - pub srcZ: usize, - pub srcLOD: usize, - pub srcMemoryType: CUmemorytype, - pub srcHost: *const ::std::os::raw::c_void, - pub srcDevice: CUdeviceptr, - pub srcArray: CUarray, - pub srcContext: CUcontext, - pub srcPitch: usize, - pub srcHeight: usize, - pub dstXInBytes: usize, - pub dstY: usize, - pub dstZ: usize, - pub dstLOD: usize, - pub dstMemoryType: CUmemorytype, - pub dstHost: *mut ::std::os::raw::c_void, - pub dstDevice: CUdeviceptr, - pub dstArray: CUarray, - pub dstContext: CUcontext, - pub dstPitch: usize, - pub dstHeight: usize, - pub WidthInBytes: usize, - pub Height: usize, - pub Depth: usize, -} -impl Clone for CUDA_MEMCPY3D_PEER_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_MEMCPY3D_PEER = CUDA_MEMCPY3D_PEER_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_ARRAY_DESCRIPTOR_st { - pub Width: usize, - pub Height: usize, - pub Format: CUarray_format, - pub NumChannels: ::std::os::raw::c_uint, -} -impl Clone for CUDA_ARRAY_DESCRIPTOR_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_ARRAY_DESCRIPTOR = CUDA_ARRAY_DESCRIPTOR_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_ARRAY3D_DESCRIPTOR_st { - pub Width: usize, - pub Height: usize, - pub Depth: usize, - pub Format: CUarray_format, - pub NumChannels: ::std::os::raw::c_uint, - pub Flags: ::std::os::raw::c_uint, -} -impl Clone for CUDA_ARRAY3D_DESCRIPTOR_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_ARRAY3D_DESCRIPTOR = CUDA_ARRAY3D_DESCRIPTOR_st; -#[repr(C)] -#[derive(Copy)] -pub struct CUDA_RESOURCE_DESC_st { - pub resType: CUresourcetype, - pub res: CUDA_RESOURCE_DESC_st__bindgen_ty_1, - pub flags: ::std::os::raw::c_uint, -} -#[repr(C)] -#[derive(Copy)] -pub union CUDA_RESOURCE_DESC_st__bindgen_ty_1 { - pub array: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_1, - pub mipmap: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_2, - pub linear: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_3, - pub pitch2D: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_4, - pub reserved: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_5, -} -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_1 { - pub hArray: CUarray, -} -impl Clone for CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_2 { - pub hMipmappedArray: CUmipmappedArray, -} -impl Clone for CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_2 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_3 { - pub devPtr: CUdeviceptr, - pub format: CUarray_format, - pub numChannels: ::std::os::raw::c_uint, - pub sizeInBytes: usize, -} -impl Clone for CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_3 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_4 { - pub devPtr: CUdeviceptr, - pub format: CUarray_format, - pub numChannels: ::std::os::raw::c_uint, - pub width: usize, - pub height: usize, - pub pitchInBytes: usize, -} -impl Clone for CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_4 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_5 { - pub reserved: [::std::os::raw::c_int; 32usize], -} -impl Clone for CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_5 { - fn clone(&self) -> Self { - *self - } -} -impl Clone for CUDA_RESOURCE_DESC_st__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -impl Clone for CUDA_RESOURCE_DESC_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_RESOURCE_DESC = CUDA_RESOURCE_DESC_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_TEXTURE_DESC_st { - pub addressMode: [CUaddress_mode; 3usize], - pub filterMode: CUfilter_mode, - pub flags: ::std::os::raw::c_uint, - pub maxAnisotropy: ::std::os::raw::c_uint, - pub mipmapFilterMode: CUfilter_mode, - pub mipmapLevelBias: f32, - pub minMipmapLevelClamp: f32, - pub maxMipmapLevelClamp: f32, - pub borderColor: [f32; 4usize], - pub reserved: [::std::os::raw::c_int; 12usize], -} -impl Clone for CUDA_TEXTURE_DESC_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_TEXTURE_DESC = CUDA_TEXTURE_DESC_st; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum CUresourceViewFormat_enum { - CU_RES_VIEW_FORMAT_NONE = 0, - CU_RES_VIEW_FORMAT_UINT_1X8 = 1, - CU_RES_VIEW_FORMAT_UINT_2X8 = 2, - CU_RES_VIEW_FORMAT_UINT_4X8 = 3, - CU_RES_VIEW_FORMAT_SINT_1X8 = 4, - CU_RES_VIEW_FORMAT_SINT_2X8 = 5, - CU_RES_VIEW_FORMAT_SINT_4X8 = 6, - CU_RES_VIEW_FORMAT_UINT_1X16 = 7, - CU_RES_VIEW_FORMAT_UINT_2X16 = 8, - CU_RES_VIEW_FORMAT_UINT_4X16 = 9, - CU_RES_VIEW_FORMAT_SINT_1X16 = 10, - CU_RES_VIEW_FORMAT_SINT_2X16 = 11, - CU_RES_VIEW_FORMAT_SINT_4X16 = 12, - CU_RES_VIEW_FORMAT_UINT_1X32 = 13, - CU_RES_VIEW_FORMAT_UINT_2X32 = 14, - CU_RES_VIEW_FORMAT_UINT_4X32 = 15, - CU_RES_VIEW_FORMAT_SINT_1X32 = 16, - CU_RES_VIEW_FORMAT_SINT_2X32 = 17, - CU_RES_VIEW_FORMAT_SINT_4X32 = 18, - CU_RES_VIEW_FORMAT_FLOAT_1X16 = 19, - CU_RES_VIEW_FORMAT_FLOAT_2X16 = 20, - CU_RES_VIEW_FORMAT_FLOAT_4X16 = 21, - CU_RES_VIEW_FORMAT_FLOAT_1X32 = 22, - CU_RES_VIEW_FORMAT_FLOAT_2X32 = 23, - CU_RES_VIEW_FORMAT_FLOAT_4X32 = 24, - CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25, - CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26, - CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27, - CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28, - CU_RES_VIEW_FORMAT_SIGNED_BC4 = 29, - CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30, - CU_RES_VIEW_FORMAT_SIGNED_BC5 = 31, - CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32, - CU_RES_VIEW_FORMAT_SIGNED_BC6H = 33, - CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34, -} -pub type CUresourceViewFormat = CUresourceViewFormat_enum; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_RESOURCE_VIEW_DESC_st { - pub format: CUresourceViewFormat, - pub width: usize, - pub height: usize, - pub depth: usize, - pub firstMipmapLevel: ::std::os::raw::c_uint, - pub lastMipmapLevel: ::std::os::raw::c_uint, - pub firstLayer: ::std::os::raw::c_uint, - pub lastLayer: ::std::os::raw::c_uint, - pub reserved: [::std::os::raw::c_uint; 16usize], -} -impl Clone for CUDA_RESOURCE_VIEW_DESC_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_RESOURCE_VIEW_DESC = CUDA_RESOURCE_VIEW_DESC_st; -#[repr(C)] -#[derive(Debug, Copy)] -pub struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st { - pub p2pToken: ::std::os::raw::c_ulonglong, - pub vaSpaceToken: ::std::os::raw::c_uint, -} -impl Clone for CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st { - fn clone(&self) -> Self { - *self - } -} -pub type CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st; -extern "C" { - pub fn cuGetErrorString(error: CUresult, pStr: *mut *const ::std::os::raw::c_char) -> CUresult; - - pub fn cuGetErrorName(error: CUresult, pStr: *mut *const ::std::os::raw::c_char) -> CUresult; - - pub fn cuInit(Flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuDriverGetVersion(driverVersion: *mut ::std::os::raw::c_int) -> CUresult; - - pub fn cuDeviceGet(device: *mut CUdevice, ordinal: ::std::os::raw::c_int) -> CUresult; - - pub fn cuDeviceGetCount(count: *mut ::std::os::raw::c_int) -> CUresult; - - pub fn cuDeviceGetName(name: *mut ::std::os::raw::c_char, len: ::std::os::raw::c_int, dev: CUdevice) -> CUresult; - - pub fn cuDeviceTotalMem_v2(bytes: *mut usize, dev: CUdevice) -> CUresult; - - pub fn cuDeviceGetAttribute(pi: *mut ::std::os::raw::c_int, attrib: CUdevice_attribute, dev: CUdevice) -> CUresult; - - pub fn cuDeviceGetProperties(prop: *mut CUdevprop, dev: CUdevice) -> CUresult; - - pub fn cuDeviceComputeCapability( - major: *mut ::std::os::raw::c_int, - minor: *mut ::std::os::raw::c_int, - dev: CUdevice, - ) -> CUresult; - - pub fn cuDevicePrimaryCtxRetain(pctx: *mut CUcontext, dev: CUdevice) -> CUresult; - - pub fn cuDevicePrimaryCtxRelease(dev: CUdevice) -> CUresult; - - pub fn cuDevicePrimaryCtxSetFlags(dev: CUdevice, flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuDevicePrimaryCtxGetState( - dev: CUdevice, - flags: *mut ::std::os::raw::c_uint, - active: *mut ::std::os::raw::c_int, - ) -> CUresult; - - pub fn cuDevicePrimaryCtxReset(dev: CUdevice) -> CUresult; - - pub fn cuCtxCreate_v2(pctx: *mut CUcontext, flags: ::std::os::raw::c_uint, dev: CUdevice) -> CUresult; - - pub fn cuCtxDestroy_v2(ctx: CUcontext) -> CUresult; - - pub fn cuCtxPushCurrent_v2(ctx: CUcontext) -> CUresult; - - pub fn cuCtxPopCurrent_v2(pctx: *mut CUcontext) -> CUresult; - - pub fn cuCtxSetCurrent(ctx: CUcontext) -> CUresult; - - pub fn cuCtxGetCurrent(pctx: *mut CUcontext) -> CUresult; - - pub fn cuCtxGetDevice(device: *mut CUdevice) -> CUresult; - - pub fn cuCtxGetFlags(flags: *mut ::std::os::raw::c_uint) -> CUresult; - - pub fn cuCtxSynchronize() -> CUresult; - - pub fn cuCtxSetLimit(limit: CUlimit, value: usize) -> CUresult; - - pub fn cuCtxGetLimit(pvalue: *mut usize, limit: CUlimit) -> CUresult; - - pub fn cuCtxGetCacheConfig(pconfig: *mut CUfunc_cache) -> CUresult; - - pub fn cuCtxSetCacheConfig(config: CUfunc_cache) -> CUresult; - - pub fn cuCtxGetSharedMemConfig(pConfig: *mut CUsharedconfig) -> CUresult; - - pub fn cuCtxSetSharedMemConfig(config: CUsharedconfig) -> CUresult; - - pub fn cuCtxGetApiVersion(ctx: CUcontext, version: *mut ::std::os::raw::c_uint) -> CUresult; - - pub fn cuCtxGetStreamPriorityRange( - leastPriority: *mut ::std::os::raw::c_int, - greatestPriority: *mut ::std::os::raw::c_int, - ) -> CUresult; - - pub fn cuCtxAttach(pctx: *mut CUcontext, flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuCtxDetach(ctx: CUcontext) -> CUresult; - - pub fn cuModuleLoad(module: *mut CUmodule, fname: *const ::std::os::raw::c_char) -> CUresult; - - pub fn cuModuleLoadData(module: *mut CUmodule, image: *const ::std::os::raw::c_void) -> CUresult; - - pub fn cuModuleLoadDataEx( - module: *mut CUmodule, - image: *const ::std::os::raw::c_void, - numOptions: ::std::os::raw::c_uint, - options: *mut CUjit_option, - optionValues: *mut *mut ::std::os::raw::c_void, - ) -> CUresult; - - pub fn cuModuleLoadFatBinary(module: *mut CUmodule, fatCubin: *const ::std::os::raw::c_void) -> CUresult; - - pub fn cuModuleUnload(hmod: CUmodule) -> CUresult; - - pub fn cuModuleGetFunction(hfunc: *mut CUfunction, hmod: CUmodule, name: *const ::std::os::raw::c_char) - -> CUresult; - - pub fn cuModuleGetGlobal_v2( - dptr: *mut CUdeviceptr, - bytes: *mut usize, - hmod: CUmodule, - name: *const ::std::os::raw::c_char, - ) -> CUresult; - - pub fn cuModuleGetTexRef(pTexRef: *mut CUtexref, hmod: CUmodule, name: *const ::std::os::raw::c_char) -> CUresult; - - pub fn cuModuleGetSurfRef( - pSurfRef: *mut CUsurfref, - hmod: CUmodule, - name: *const ::std::os::raw::c_char, - ) -> CUresult; - - pub fn cuLinkCreate_v2( - numOptions: ::std::os::raw::c_uint, - options: *mut CUjit_option, - optionValues: *mut *mut ::std::os::raw::c_void, - stateOut: *mut CUlinkState, - ) -> CUresult; - - pub fn cuLinkAddData_v2( - state: CUlinkState, - type_: CUjitInputType, - data: *mut ::std::os::raw::c_void, - size: usize, - name: *const ::std::os::raw::c_char, - numOptions: ::std::os::raw::c_uint, - options: *mut CUjit_option, - optionValues: *mut *mut ::std::os::raw::c_void, - ) -> CUresult; - - pub fn cuLinkAddFile_v2( - state: CUlinkState, - type_: CUjitInputType, - path: *const ::std::os::raw::c_char, - numOptions: ::std::os::raw::c_uint, - options: *mut CUjit_option, - optionValues: *mut *mut ::std::os::raw::c_void, - ) -> CUresult; - - pub fn cuLinkComplete( - state: CUlinkState, - cubinOut: *mut *mut ::std::os::raw::c_void, - sizeOut: *mut usize, - ) -> CUresult; - - pub fn cuLinkDestroy(state: CUlinkState) -> CUresult; - - pub fn cuMemGetInfo_v2(free: *mut usize, total: *mut usize) -> CUresult; - - pub fn cuMemAlloc_v2(dptr: *mut CUdeviceptr, bytesize: usize) -> CUresult; - - pub fn cuMemAllocPitch_v2( - dptr: *mut CUdeviceptr, - pPitch: *mut usize, - WidthInBytes: usize, - Height: usize, - ElementSizeBytes: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuMemFree_v2(dptr: CUdeviceptr) -> CUresult; - - pub fn cuMemGetAddressRange_v2(pbase: *mut CUdeviceptr, psize: *mut usize, dptr: CUdeviceptr) -> CUresult; - - pub fn cuMemAllocHost_v2(pp: *mut *mut ::std::os::raw::c_void, bytesize: usize) -> CUresult; - - pub fn cuMemFreeHost(p: *mut ::std::os::raw::c_void) -> CUresult; - - pub fn cuMemHostAlloc( - pp: *mut *mut ::std::os::raw::c_void, - bytesize: usize, - Flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuMemHostGetDevicePointer_v2( - pdptr: *mut CUdeviceptr, - p: *mut ::std::os::raw::c_void, - Flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuMemHostGetFlags(pFlags: *mut ::std::os::raw::c_uint, p: *mut ::std::os::raw::c_void) -> CUresult; - - pub fn cuMemAllocManaged(dptr: *mut CUdeviceptr, bytesize: usize, flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuDeviceGetByPCIBusId(dev: *mut CUdevice, pciBusId: *const ::std::os::raw::c_char) -> CUresult; - - pub fn cuDeviceGetPCIBusId( - pciBusId: *mut ::std::os::raw::c_char, - len: ::std::os::raw::c_int, - dev: CUdevice, - ) -> CUresult; - - pub fn cuIpcGetEventHandle(pHandle: *mut CUipcEventHandle, event: CUevent) -> CUresult; - - pub fn cuIpcOpenEventHandle(phEvent: *mut CUevent, handle: CUipcEventHandle) -> CUresult; - - pub fn cuIpcGetMemHandle(pHandle: *mut CUipcMemHandle, dptr: CUdeviceptr) -> CUresult; - - pub fn cuIpcOpenMemHandle( - pdptr: *mut CUdeviceptr, - handle: CUipcMemHandle, - Flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuIpcCloseMemHandle(dptr: CUdeviceptr) -> CUresult; - - pub fn cuMemHostRegister_v2( - p: *mut ::std::os::raw::c_void, - bytesize: usize, - Flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuMemHostUnregister(p: *mut ::std::os::raw::c_void) -> CUresult; - - pub fn cuMemcpy(dst: CUdeviceptr, src: CUdeviceptr, ByteCount: usize) -> CUresult; - - pub fn cuMemcpyPeer( - dstDevice: CUdeviceptr, - dstContext: CUcontext, - srcDevice: CUdeviceptr, - srcContext: CUcontext, - ByteCount: usize, - ) -> CUresult; - - pub fn cuMemcpyHtoD_v2( - dstDevice: CUdeviceptr, - srcHost: *const ::std::os::raw::c_void, - ByteCount: usize, - ) -> CUresult; - - pub fn cuMemcpyDtoH_v2(dstHost: *mut ::std::os::raw::c_void, srcDevice: CUdeviceptr, ByteCount: usize) -> CUresult; - - pub fn cuMemcpyDtoD_v2(dstDevice: CUdeviceptr, srcDevice: CUdeviceptr, ByteCount: usize) -> CUresult; - - pub fn cuMemcpyDtoA_v2(dstArray: CUarray, dstOffset: usize, srcDevice: CUdeviceptr, ByteCount: usize) -> CUresult; - - pub fn cuMemcpyAtoD_v2(dstDevice: CUdeviceptr, srcArray: CUarray, srcOffset: usize, ByteCount: usize) -> CUresult; - - pub fn cuMemcpyHtoA_v2( - dstArray: CUarray, - dstOffset: usize, - srcHost: *const ::std::os::raw::c_void, - ByteCount: usize, - ) -> CUresult; - - pub fn cuMemcpyAtoH_v2( - dstHost: *mut ::std::os::raw::c_void, - srcArray: CUarray, - srcOffset: usize, - ByteCount: usize, - ) -> CUresult; - - pub fn cuMemcpyAtoA_v2( - dstArray: CUarray, - dstOffset: usize, - srcArray: CUarray, - srcOffset: usize, - ByteCount: usize, - ) -> CUresult; - - pub fn cuMemcpy2D_v2(pCopy: *const CUDA_MEMCPY2D) -> CUresult; - - pub fn cuMemcpy2DUnaligned_v2(pCopy: *const CUDA_MEMCPY2D) -> CUresult; - - pub fn cuMemcpy3D_v2(pCopy: *const CUDA_MEMCPY3D) -> CUresult; - - pub fn cuMemcpy3DPeer(pCopy: *const CUDA_MEMCPY3D_PEER) -> CUresult; - - pub fn cuMemcpyAsync(dst: CUdeviceptr, src: CUdeviceptr, ByteCount: usize, hStream: CUstream) -> CUresult; - - pub fn cuMemcpyPeerAsync( - dstDevice: CUdeviceptr, - dstContext: CUcontext, - srcDevice: CUdeviceptr, - srcContext: CUcontext, - ByteCount: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemcpyHtoDAsync_v2( - dstDevice: CUdeviceptr, - srcHost: *const ::std::os::raw::c_void, - ByteCount: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemcpyDtoHAsync_v2( - dstHost: *mut ::std::os::raw::c_void, - srcDevice: CUdeviceptr, - ByteCount: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemcpyDtoDAsync_v2( - dstDevice: CUdeviceptr, - srcDevice: CUdeviceptr, - ByteCount: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemcpyHtoAAsync_v2( - dstArray: CUarray, - dstOffset: usize, - srcHost: *const ::std::os::raw::c_void, - ByteCount: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemcpyAtoHAsync_v2( - dstHost: *mut ::std::os::raw::c_void, - srcArray: CUarray, - srcOffset: usize, - ByteCount: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemcpy2DAsync_v2(pCopy: *const CUDA_MEMCPY2D, hStream: CUstream) -> CUresult; - - pub fn cuMemcpy3DAsync_v2(pCopy: *const CUDA_MEMCPY3D, hStream: CUstream) -> CUresult; - - pub fn cuMemcpy3DPeerAsync(pCopy: *const CUDA_MEMCPY3D_PEER, hStream: CUstream) -> CUresult; - - pub fn cuMemsetD8_v2(dstDevice: CUdeviceptr, uc: ::std::os::raw::c_uchar, N: usize) -> CUresult; - - pub fn cuMemsetD16_v2(dstDevice: CUdeviceptr, us: ::std::os::raw::c_ushort, N: usize) -> CUresult; - - pub fn cuMemsetD32_v2(dstDevice: CUdeviceptr, ui: ::std::os::raw::c_uint, N: usize) -> CUresult; - - pub fn cuMemsetD2D8_v2( - dstDevice: CUdeviceptr, - dstPitch: usize, - uc: ::std::os::raw::c_uchar, - Width: usize, - Height: usize, - ) -> CUresult; - - pub fn cuMemsetD2D16_v2( - dstDevice: CUdeviceptr, - dstPitch: usize, - us: ::std::os::raw::c_ushort, - Width: usize, - Height: usize, - ) -> CUresult; - - pub fn cuMemsetD2D32_v2( - dstDevice: CUdeviceptr, - dstPitch: usize, - ui: ::std::os::raw::c_uint, - Width: usize, - Height: usize, - ) -> CUresult; - - pub fn cuMemsetD8Async( - dstDevice: CUdeviceptr, - uc: ::std::os::raw::c_uchar, - N: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemsetD16Async( - dstDevice: CUdeviceptr, - us: ::std::os::raw::c_ushort, - N: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemsetD32Async( - dstDevice: CUdeviceptr, - ui: ::std::os::raw::c_uint, - N: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemsetD2D8Async( - dstDevice: CUdeviceptr, - dstPitch: usize, - uc: ::std::os::raw::c_uchar, - Width: usize, - Height: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemsetD2D16Async( - dstDevice: CUdeviceptr, - dstPitch: usize, - us: ::std::os::raw::c_ushort, - Width: usize, - Height: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuMemsetD2D32Async( - dstDevice: CUdeviceptr, - dstPitch: usize, - ui: ::std::os::raw::c_uint, - Width: usize, - Height: usize, - hStream: CUstream, - ) -> CUresult; - - pub fn cuArrayCreate_v2(pHandle: *mut CUarray, pAllocateArray: *const CUDA_ARRAY_DESCRIPTOR) -> CUresult; - - pub fn cuArrayGetDescriptor_v2(pArrayDescriptor: *mut CUDA_ARRAY_DESCRIPTOR, hArray: CUarray) -> CUresult; - - pub fn cuArrayDestroy(hArray: CUarray) -> CUresult; - - pub fn cuArray3DCreate_v2(pHandle: *mut CUarray, pAllocateArray: *const CUDA_ARRAY3D_DESCRIPTOR) -> CUresult; - - pub fn cuArray3DGetDescriptor_v2(pArrayDescriptor: *mut CUDA_ARRAY3D_DESCRIPTOR, hArray: CUarray) -> CUresult; - - pub fn cuMipmappedArrayCreate( - pHandle: *mut CUmipmappedArray, - pMipmappedArrayDesc: *const CUDA_ARRAY3D_DESCRIPTOR, - numMipmapLevels: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuMipmappedArrayGetLevel( - pLevelArray: *mut CUarray, - hMipmappedArray: CUmipmappedArray, - level: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuMipmappedArrayDestroy(hMipmappedArray: CUmipmappedArray) -> CUresult; - - pub fn cuPointerGetAttribute( - data: *mut ::std::os::raw::c_void, - attribute: CUpointer_attribute, - ptr: CUdeviceptr, - ) -> CUresult; - - pub fn cuMemPrefetchAsync(devPtr: CUdeviceptr, count: usize, dstDevice: CUdevice, hStream: CUstream) -> CUresult; - - pub fn cuMemAdvise(devPtr: CUdeviceptr, count: usize, advice: CUmem_advise, device: CUdevice) -> CUresult; - - pub fn cuMemRangeGetAttribute( - data: *mut ::std::os::raw::c_void, - dataSize: usize, - attribute: CUmem_range_attribute, - devPtr: CUdeviceptr, - count: usize, - ) -> CUresult; - - pub fn cuMemRangeGetAttributes( - data: *mut *mut ::std::os::raw::c_void, - dataSizes: *mut usize, - attributes: *mut CUmem_range_attribute, - numAttributes: usize, - devPtr: CUdeviceptr, - count: usize, - ) -> CUresult; - - pub fn cuPointerSetAttribute( - value: *const ::std::os::raw::c_void, - attribute: CUpointer_attribute, - ptr: CUdeviceptr, - ) -> CUresult; - - pub fn cuPointerGetAttributes( - numAttributes: ::std::os::raw::c_uint, - attributes: *mut CUpointer_attribute, - data: *mut *mut ::std::os::raw::c_void, - ptr: CUdeviceptr, - ) -> CUresult; - - pub fn cuStreamCreate(phStream: *mut CUstream, Flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuStreamCreateWithPriority( - phStream: *mut CUstream, - flags: ::std::os::raw::c_uint, - priority: ::std::os::raw::c_int, - ) -> CUresult; - - pub fn cuStreamGetPriority(hStream: CUstream, priority: *mut ::std::os::raw::c_int) -> CUresult; - - pub fn cuStreamGetFlags(hStream: CUstream, flags: *mut ::std::os::raw::c_uint) -> CUresult; - - pub fn cuStreamWaitEvent(hStream: CUstream, hEvent: CUevent, Flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuStreamAddCallback( - hStream: CUstream, - callback: CUstreamCallback, - userData: *mut ::std::os::raw::c_void, - flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuStreamAttachMemAsync( - hStream: CUstream, - dptr: CUdeviceptr, - length: usize, - flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuStreamQuery(hStream: CUstream) -> CUresult; - - pub fn cuStreamSynchronize(hStream: CUstream) -> CUresult; - - pub fn cuStreamDestroy_v2(hStream: CUstream) -> CUresult; - - pub fn cuEventCreate(phEvent: *mut CUevent, Flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuEventRecord(hEvent: CUevent, hStream: CUstream) -> CUresult; - - pub fn cuEventQuery(hEvent: CUevent) -> CUresult; - - pub fn cuEventSynchronize(hEvent: CUevent) -> CUresult; - - pub fn cuEventDestroy_v2(hEvent: CUevent) -> CUresult; - - pub fn cuEventElapsedTime(pMilliseconds: *mut f32, hStart: CUevent, hEnd: CUevent) -> CUresult; - - pub fn cuStreamWaitValue32( - stream: CUstream, - addr: CUdeviceptr, - value: u32, - flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuStreamWriteValue32( - stream: CUstream, - addr: CUdeviceptr, - value: u32, - flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuStreamBatchMemOp( - stream: CUstream, - count: ::std::os::raw::c_uint, - paramArray: *mut CUstreamBatchMemOpParams, - flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuFuncGetAttribute( - pi: *mut ::std::os::raw::c_int, - attrib: CUfunction_attribute, - hfunc: CUfunction, - ) -> CUresult; - - pub fn cuFuncSetCacheConfig(hfunc: CUfunction, config: CUfunc_cache) -> CUresult; - - pub fn cuFuncSetSharedMemConfig(hfunc: CUfunction, config: CUsharedconfig) -> CUresult; - - pub fn cuLaunchKernel( - f: CUfunction, - gridDimX: ::std::os::raw::c_uint, - gridDimY: ::std::os::raw::c_uint, - gridDimZ: ::std::os::raw::c_uint, - blockDimX: ::std::os::raw::c_uint, - blockDimY: ::std::os::raw::c_uint, - blockDimZ: ::std::os::raw::c_uint, - sharedMemBytes: ::std::os::raw::c_uint, - hStream: CUstream, - kernelParams: *mut *mut ::std::os::raw::c_void, - extra: *mut *mut ::std::os::raw::c_void, - ) -> CUresult; - - pub fn cuFuncSetBlockShape( - hfunc: CUfunction, - x: ::std::os::raw::c_int, - y: ::std::os::raw::c_int, - z: ::std::os::raw::c_int, - ) -> CUresult; - - pub fn cuFuncSetSharedSize(hfunc: CUfunction, bytes: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuParamSetSize(hfunc: CUfunction, numbytes: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuParamSeti(hfunc: CUfunction, offset: ::std::os::raw::c_int, value: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuParamSetf(hfunc: CUfunction, offset: ::std::os::raw::c_int, value: f32) -> CUresult; - - pub fn cuParamSetv( - hfunc: CUfunction, - offset: ::std::os::raw::c_int, - ptr: *mut ::std::os::raw::c_void, - numbytes: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuLaunch(f: CUfunction) -> CUresult; - - pub fn cuLaunchGrid( - f: CUfunction, - grid_width: ::std::os::raw::c_int, - grid_height: ::std::os::raw::c_int, - ) -> CUresult; - - pub fn cuLaunchGridAsync( - f: CUfunction, - grid_width: ::std::os::raw::c_int, - grid_height: ::std::os::raw::c_int, - hStream: CUstream, - ) -> CUresult; - - pub fn cuParamSetTexRef(hfunc: CUfunction, texunit: ::std::os::raw::c_int, hTexRef: CUtexref) -> CUresult; - - pub fn cuOccupancyMaxActiveBlocksPerMultiprocessor( - numBlocks: *mut ::std::os::raw::c_int, - func: CUfunction, - blockSize: ::std::os::raw::c_int, - dynamicSMemSize: usize, - ) -> CUresult; - - pub fn cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags( - numBlocks: *mut ::std::os::raw::c_int, - func: CUfunction, - blockSize: ::std::os::raw::c_int, - dynamicSMemSize: usize, - flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuOccupancyMaxPotentialBlockSize( - minGridSize: *mut ::std::os::raw::c_int, - blockSize: *mut ::std::os::raw::c_int, - func: CUfunction, - blockSizeToDynamicSMemSize: CUoccupancyB2DSize, - dynamicSMemSize: usize, - blockSizeLimit: ::std::os::raw::c_int, - ) -> CUresult; - - pub fn cuOccupancyMaxPotentialBlockSizeWithFlags( - minGridSize: *mut ::std::os::raw::c_int, - blockSize: *mut ::std::os::raw::c_int, - func: CUfunction, - blockSizeToDynamicSMemSize: CUoccupancyB2DSize, - dynamicSMemSize: usize, - blockSizeLimit: ::std::os::raw::c_int, - flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuTexRefSetArray(hTexRef: CUtexref, hArray: CUarray, Flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuTexRefSetMipmappedArray( - hTexRef: CUtexref, - hMipmappedArray: CUmipmappedArray, - Flags: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuTexRefSetAddress_v2( - ByteOffset: *mut usize, - hTexRef: CUtexref, - dptr: CUdeviceptr, - bytes: usize, - ) -> CUresult; - - pub fn cuTexRefSetAddress2D_v3( - hTexRef: CUtexref, - desc: *const CUDA_ARRAY_DESCRIPTOR, - dptr: CUdeviceptr, - Pitch: usize, - ) -> CUresult; - - pub fn cuTexRefSetFormat( - hTexRef: CUtexref, - fmt: CUarray_format, - NumPackedComponents: ::std::os::raw::c_int, - ) -> CUresult; - - pub fn cuTexRefSetAddressMode(hTexRef: CUtexref, dim: ::std::os::raw::c_int, am: CUaddress_mode) -> CUresult; - - pub fn cuTexRefSetFilterMode(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult; - - pub fn cuTexRefSetMipmapFilterMode(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult; - - pub fn cuTexRefSetMipmapLevelBias(hTexRef: CUtexref, bias: f32) -> CUresult; - - pub fn cuTexRefSetMipmapLevelClamp( - hTexRef: CUtexref, - minMipmapLevelClamp: f32, - maxMipmapLevelClamp: f32, - ) -> CUresult; - - pub fn cuTexRefSetMaxAnisotropy(hTexRef: CUtexref, maxAniso: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuTexRefSetBorderColor(hTexRef: CUtexref, pBorderColor: *mut f32) -> CUresult; - - pub fn cuTexRefSetFlags(hTexRef: CUtexref, Flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuTexRefGetAddress_v2(pdptr: *mut CUdeviceptr, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefGetArray(phArray: *mut CUarray, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefGetMipmappedArray(phMipmappedArray: *mut CUmipmappedArray, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefGetAddressMode(pam: *mut CUaddress_mode, hTexRef: CUtexref, dim: ::std::os::raw::c_int) -> CUresult; - - pub fn cuTexRefGetFilterMode(pfm: *mut CUfilter_mode, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefGetFormat( - pFormat: *mut CUarray_format, - pNumChannels: *mut ::std::os::raw::c_int, - hTexRef: CUtexref, - ) -> CUresult; - - pub fn cuTexRefGetMipmapFilterMode(pfm: *mut CUfilter_mode, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefGetMipmapLevelBias(pbias: *mut f32, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefGetMipmapLevelClamp( - pminMipmapLevelClamp: *mut f32, - pmaxMipmapLevelClamp: *mut f32, - hTexRef: CUtexref, - ) -> CUresult; - - pub fn cuTexRefGetMaxAnisotropy(pmaxAniso: *mut ::std::os::raw::c_int, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefGetBorderColor(pBorderColor: *mut f32, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefGetFlags(pFlags: *mut ::std::os::raw::c_uint, hTexRef: CUtexref) -> CUresult; - - pub fn cuTexRefCreate(pTexRef: *mut CUtexref) -> CUresult; - - pub fn cuTexRefDestroy(hTexRef: CUtexref) -> CUresult; - - pub fn cuSurfRefSetArray(hSurfRef: CUsurfref, hArray: CUarray, Flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuSurfRefGetArray(phArray: *mut CUarray, hSurfRef: CUsurfref) -> CUresult; - - pub fn cuTexObjectCreate( - pTexObject: *mut CUtexObject, - pResDesc: *const CUDA_RESOURCE_DESC, - pTexDesc: *const CUDA_TEXTURE_DESC, - pResViewDesc: *const CUDA_RESOURCE_VIEW_DESC, - ) -> CUresult; - - pub fn cuTexObjectDestroy(texObject: CUtexObject) -> CUresult; - - pub fn cuTexObjectGetResourceDesc(pResDesc: *mut CUDA_RESOURCE_DESC, texObject: CUtexObject) -> CUresult; - - pub fn cuTexObjectGetTextureDesc(pTexDesc: *mut CUDA_TEXTURE_DESC, texObject: CUtexObject) -> CUresult; - - pub fn cuTexObjectGetResourceViewDesc( - pResViewDesc: *mut CUDA_RESOURCE_VIEW_DESC, - texObject: CUtexObject, - ) -> CUresult; - - pub fn cuSurfObjectCreate(pSurfObject: *mut CUsurfObject, pResDesc: *const CUDA_RESOURCE_DESC) -> CUresult; - - pub fn cuSurfObjectDestroy(surfObject: CUsurfObject) -> CUresult; - - pub fn cuSurfObjectGetResourceDesc(pResDesc: *mut CUDA_RESOURCE_DESC, surfObject: CUsurfObject) -> CUresult; - - pub fn cuDeviceCanAccessPeer( - canAccessPeer: *mut ::std::os::raw::c_int, - dev: CUdevice, - peerDev: CUdevice, - ) -> CUresult; - - pub fn cuDeviceGetP2PAttribute( - value: *mut ::std::os::raw::c_int, - attrib: CUdevice_P2PAttribute, - srcDevice: CUdevice, - dstDevice: CUdevice, - ) -> CUresult; - - pub fn cuCtxEnablePeerAccess(peerContext: CUcontext, Flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuCtxDisablePeerAccess(peerContext: CUcontext) -> CUresult; - - pub fn cuGraphicsUnregisterResource(resource: CUgraphicsResource) -> CUresult; - - pub fn cuGraphicsSubResourceGetMappedArray( - pArray: *mut CUarray, - resource: CUgraphicsResource, - arrayIndex: ::std::os::raw::c_uint, - mipLevel: ::std::os::raw::c_uint, - ) -> CUresult; - - pub fn cuGraphicsResourceGetMappedMipmappedArray( - pMipmappedArray: *mut CUmipmappedArray, - resource: CUgraphicsResource, - ) -> CUresult; - - pub fn cuGraphicsResourceGetMappedPointer_v2( - pDevPtr: *mut CUdeviceptr, - pSize: *mut usize, - resource: CUgraphicsResource, - ) -> CUresult; - - pub fn cuGraphicsResourceSetMapFlags_v2(resource: CUgraphicsResource, flags: ::std::os::raw::c_uint) -> CUresult; - - pub fn cuGraphicsMapResources( - count: ::std::os::raw::c_uint, - resources: *mut CUgraphicsResource, - hStream: CUstream, - ) -> CUresult; - - pub fn cuGraphicsUnmapResources( - count: ::std::os::raw::c_uint, - resources: *mut CUgraphicsResource, - hStream: CUstream, - ) -> CUresult; - - pub fn cuGetExportTable( - ppExportTable: *mut *const ::std::os::raw::c_void, - pExportTableId: *const CUuuid, - ) -> CUresult; -} +include!(concat!(env!("OUT_DIR"), "/cuda_bindings.rs")); diff --git a/src/cuda_tests.rs b/src/cuda_tests.rs deleted file mode 100644 index 2d3e57b..0000000 --- a/src/cuda_tests.rs +++ /dev/null @@ -1,190 +0,0 @@ -#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] -#![cfg(test)] - -use super::cuda::*; - -#[test] -fn bindgen_test_layout_CUuuid_st() { - assert_eq!(::std::mem::size_of::(), 16usize); - assert_eq!(::std::mem::align_of::(), 1usize); -} -#[test] -fn bindgen_test_layout_CUipcEventHandle_st() { - assert_eq!(::std::mem::size_of::(), 64usize); - assert_eq!(::std::mem::align_of::(), 1usize); -} -#[test] -fn bindgen_test_layout_CUipcMemHandle_st() { - assert_eq!(::std::mem::size_of::(), 64usize); - assert_eq!(::std::mem::align_of::(), 1usize); -} -#[test] -fn bindgen_test_layout_CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize - ); -} -#[test] -fn bindgen_test_layout_CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st() { - assert_eq!( - ::std::mem::size_of::(), - 40usize - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize - ); -} -#[test] -fn bindgen_test_layout_CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize - ); -} -#[test] -fn bindgen_test_layout_CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st() { - assert_eq!( - ::std::mem::size_of::(), - 40usize - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize - ); -} -#[test] -fn bindgen_test_layout_CUstreamBatchMemOpParams_union_CUstreamMemOpFlushRemoteWritesParams_st() { - assert_eq!( - ::std::mem::size_of::(), - 8usize - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize - ); -} -#[test] -fn bindgen_test_layout_CUstreamBatchMemOpParams_union() { - assert_eq!(::std::mem::size_of::(), 48usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUdevprop_st() { - assert_eq!(::std::mem::size_of::(), 56usize); - assert_eq!(::std::mem::align_of::(), 4usize); -} -#[test] -fn bindgen_test_layout_CUDA_MEMCPY2D_st() { - assert_eq!(::std::mem::size_of::(), 128usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUDA_MEMCPY3D_st() { - assert_eq!(::std::mem::size_of::(), 200usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUDA_MEMCPY3D_PEER_st() { - assert_eq!(::std::mem::size_of::(), 200usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUDA_ARRAY_DESCRIPTOR_st() { - assert_eq!(::std::mem::size_of::(), 24usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUDA_ARRAY3D_DESCRIPTOR_st() { - assert_eq!(::std::mem::size_of::(), 40usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize - ); -} -#[test] -fn bindgen_test_layout_CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_2() { - assert_eq!( - ::std::mem::size_of::(), - 8usize - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize - ); -} -#[test] -fn bindgen_test_layout_CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_3() { - assert_eq!( - ::std::mem::size_of::(), - 24usize - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize - ); -} -#[test] -fn bindgen_test_layout_CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_4() { - assert_eq!( - ::std::mem::size_of::(), - 40usize - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize - ); -} -#[test] -fn bindgen_test_layout_CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_5() { - assert_eq!( - ::std::mem::size_of::(), - 128usize - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize - ); -} -#[test] -fn bindgen_test_layout_CUDA_RESOURCE_DESC_st__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::(), 128usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUDA_RESOURCE_DESC_st() { - assert_eq!(::std::mem::size_of::(), 144usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUDA_TEXTURE_DESC_st() { - assert_eq!(::std::mem::size_of::(), 104usize); - assert_eq!(::std::mem::align_of::(), 4usize); -} -#[test] -fn bindgen_test_layout_CUDA_RESOURCE_VIEW_DESC_st() { - assert_eq!(::std::mem::size_of::(), 112usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} -#[test] -fn bindgen_test_layout_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st() { - assert_eq!(::std::mem::size_of::(), 16usize); - assert_eq!(::std::mem::align_of::(), 8usize); -} diff --git a/src/cudart.rs b/src/cudart.rs index da1f7fb..fb48993 100644 --- a/src/cudart.rs +++ b/src/cudart.rs @@ -2,1455 +2,8 @@ #![allow(non_upper_case_globals)] #![allow(non_snake_case)] +pub use driver_types::*; +pub use library_types::*; use vector_types::*; -#[repr(u32)] -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum cudaError_t { - Success = 0, - MissingConfiguration = 1, - MemoryAllocation = 2, - InitializationError = 3, - LaunchFailure = 4, - PriorLaunchFailure = 5, - LaunchTimeout = 6, - LaunchOutOfResources = 7, - InvalidDeviceFunction = 8, - InvalidConfiguration = 9, - InvalidDevice = 10, - InvalidValue = 11, - InvalidPitchValue = 12, - InvalidSymbol = 13, - MapBufferObjectFailed = 14, - UnmapBufferObjectFailed = 15, - InvalidHostPointer = 16, - InvalidDevicePointer = 17, - InvalidTexture = 18, - InvalidTextureBinding = 19, - InvalidChannelDescriptor = 20, - InvalidMemcpyDirection = 21, - AddressOfConstant = 22, - TextureFetchFailed = 23, - TextureNotBound = 24, - SynchronizationError = 25, - InvalidFilterSetting = 26, - InvalidNormSetting = 27, - MixedDeviceExecution = 28, - CudartUnloading = 29, - Unknown = 30, - NotYetImplemented = 31, - MemoryValueTooLarge = 32, - InvalidResourceHandle = 33, - NotReady = 34, - InsufficientDriver = 35, - SetOnActiveProcess = 36, - InvalidSurface = 37, - NoDevice = 38, - ECCUncorrectable = 39, - SharedObjectSymbolNotFound = 40, - SharedObjectInitFailed = 41, - UnsupportedLimit = 42, - DuplicateVariableName = 43, - DuplicateTextureName = 44, - DuplicateSurfaceName = 45, - DevicesUnavailable = 46, - InvalidKernelImage = 47, - NoKernelImageForDevice = 48, - IncompatibleDriverContext = 49, - PeerAccessAlreadyEnabled = 50, - PeerAccessNotEnabled = 51, - DeviceAlreadyInUse = 54, - ProfilerDisabled = 55, - ProfilerNotInitialized = 56, - ProfilerAlreadyStarted = 57, - ProfilerAlreadyStopped = 58, - Assert = 59, - TooManyPeers = 60, - HostMemoryAlreadyRegistered = 61, - HostMemoryNotRegistered = 62, - OperatingSystem = 63, - PeerAccessUnsupported = 64, - LaunchMaxDepthExceeded = 65, - LaunchFileScopedTex = 66, - LaunchFileScopedSurf = 67, - SyncDepthExceeded = 68, - LaunchPendingCountExceeded = 69, - NotPermitted = 70, - NotSupported = 71, - HardwareStackError = 72, - IllegalInstruction = 73, - MisalignedAddress = 74, - InvalidAddressSpace = 75, - InvalidPc = 76, - IllegalAddress = 77, - InvalidPtx = 78, - InvalidGraphicsContext = 79, - NvlinkUncorrectable = 80, - JitCompilerNotFound = 81, - CooperativeLaunchTooLarge = 82, - StartupFailure = 127, - ApiFailureBase = 10000, -} - -pub const cudaHostAllocDefault: ::std::os::raw::c_uint = 0; -pub const cudaHostAllocPortable: ::std::os::raw::c_uint = 1; -pub const cudaHostAllocMapped: ::std::os::raw::c_uint = 2; -pub const cudaHostAllocWriteCombined: ::std::os::raw::c_uint = 4; -pub const cudaHostRegisterDefault: ::std::os::raw::c_uint = 0; -pub const cudaHostRegisterPortable: ::std::os::raw::c_uint = 1; -pub const cudaHostRegisterMapped: ::std::os::raw::c_uint = 2; -pub const cudaHostRegisterIoMemory: ::std::os::raw::c_uint = 4; -pub const cudaPeerAccessDefault: ::std::os::raw::c_uint = 0; -pub const cudaStreamDefault: ::std::os::raw::c_uint = 0; -pub const cudaStreamNonBlocking: ::std::os::raw::c_uint = 1; -pub const cudaEventDefault: ::std::os::raw::c_uint = 0; -pub const cudaEventBlockingSync: ::std::os::raw::c_uint = 1; -pub const cudaEventDisableTiming: ::std::os::raw::c_uint = 2; -pub const cudaEventInterprocess: ::std::os::raw::c_uint = 4; -pub const cudaDeviceScheduleAuto: ::std::os::raw::c_uint = 0; -pub const cudaDeviceScheduleSpin: ::std::os::raw::c_uint = 1; -pub const cudaDeviceScheduleYield: ::std::os::raw::c_uint = 2; -pub const cudaDeviceScheduleBlockingSync: ::std::os::raw::c_uint = 4; -pub const cudaDeviceBlockingSync: ::std::os::raw::c_uint = 4; -pub const cudaDeviceScheduleMask: ::std::os::raw::c_uint = 7; -pub const cudaDeviceMapHost: ::std::os::raw::c_uint = 8; -pub const cudaDeviceLmemResizeToMax: ::std::os::raw::c_uint = 16; -pub const cudaDeviceMask: ::std::os::raw::c_uint = 31; -pub const cudaArrayDefault: ::std::os::raw::c_uint = 0; -pub const cudaArrayLayered: ::std::os::raw::c_uint = 1; -pub const cudaArraySurfaceLoadStore: ::std::os::raw::c_uint = 2; -pub const cudaArrayCubemap: ::std::os::raw::c_uint = 4; -pub const cudaArrayTextureGather: ::std::os::raw::c_uint = 8; -pub const cudaIpcMemLazyEnablePeerAccess: ::std::os::raw::c_uint = 1; -pub const cudaMemAttachGlobal: ::std::os::raw::c_uint = 1; -pub const cudaMemAttachHost: ::std::os::raw::c_uint = 2; -pub const cudaMemAttachSingle: ::std::os::raw::c_uint = 4; -pub const cudaOccupancyDefault: ::std::os::raw::c_uint = 0; -pub const cudaOccupancyDisableCachingOverride: ::std::os::raw::c_uint = 1; -pub const cudaCooperativeLaunchMultiDeviceNoPreSync: ::std::os::raw::c_uint = 1; -pub const cudaCooperativeLaunchMultiDeviceNoPostSync: ::std::os::raw::c_uint = 2; -pub const CUDA_IPC_HANDLE_SIZE: ::std::os::raw::c_uint = 64; -pub const cudaSurfaceType1D: ::std::os::raw::c_uint = 1; -pub const cudaSurfaceType2D: ::std::os::raw::c_uint = 2; -pub const cudaSurfaceType3D: ::std::os::raw::c_uint = 3; -pub const cudaSurfaceTypeCubemap: ::std::os::raw::c_uint = 12; -pub const cudaSurfaceType1DLayered: ::std::os::raw::c_uint = 241; -pub const cudaSurfaceType2DLayered: ::std::os::raw::c_uint = 242; -pub const cudaSurfaceTypeCubemapLayered: ::std::os::raw::c_uint = 252; -pub const cudaTextureType1D: ::std::os::raw::c_uint = 1; -pub const cudaTextureType2D: ::std::os::raw::c_uint = 2; -pub const cudaTextureType3D: ::std::os::raw::c_uint = 3; -pub const cudaTextureTypeCubemap: ::std::os::raw::c_uint = 12; -pub const cudaTextureType1DLayered: ::std::os::raw::c_uint = 241; -pub const cudaTextureType2DLayered: ::std::os::raw::c_uint = 242; -pub const cudaTextureTypeCubemapLayered: ::std::os::raw::c_uint = 252; -pub const CUDART_VERSION: ::std::os::raw::c_uint = 9000; -pub const cudaRoundMode_cudaRoundNearest: cudaRoundMode = 0; -pub const cudaRoundMode_cudaRoundZero: cudaRoundMode = 1; -pub const cudaRoundMode_cudaRoundPosInf: cudaRoundMode = 2; -pub const cudaRoundMode_cudaRoundMinInf: cudaRoundMode = 3; -pub type cudaRoundMode = ::std::os::raw::c_uint; -pub const cudaChannelFormatKind_cudaChannelFormatKindSigned: cudaChannelFormatKind = 0; -pub const cudaChannelFormatKind_cudaChannelFormatKindUnsigned: cudaChannelFormatKind = 1; -pub const cudaChannelFormatKind_cudaChannelFormatKindFloat: cudaChannelFormatKind = 2; -pub const cudaChannelFormatKind_cudaChannelFormatKindNone: cudaChannelFormatKind = 3; -pub type cudaChannelFormatKind = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaChannelFormatDesc { - pub x: ::std::os::raw::c_int, - pub y: ::std::os::raw::c_int, - pub z: ::std::os::raw::c_int, - pub w: ::std::os::raw::c_int, - pub f: cudaChannelFormatKind, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaArray { - _unused: [u8; 0], -} -pub type cudaArray_t = *mut cudaArray; -pub type cudaArray_const_t = *const cudaArray; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaMipmappedArray { - _unused: [u8; 0], -} -pub type cudaMipmappedArray_t = *mut cudaMipmappedArray; -pub type cudaMipmappedArray_const_t = *const cudaMipmappedArray; -pub const cudaMemoryType_cudaMemoryTypeHost: cudaMemoryType = 1; -pub const cudaMemoryType_cudaMemoryTypeDevice: cudaMemoryType = 2; -pub type cudaMemoryType = ::std::os::raw::c_uint; -pub const cudaMemcpyKind_cudaMemcpyHostToHost: cudaMemcpyKind = 0; -pub const cudaMemcpyKind_cudaMemcpyHostToDevice: cudaMemcpyKind = 1; -pub const cudaMemcpyKind_cudaMemcpyDeviceToHost: cudaMemcpyKind = 2; -pub const cudaMemcpyKind_cudaMemcpyDeviceToDevice: cudaMemcpyKind = 3; -pub const cudaMemcpyKind_cudaMemcpyDefault: cudaMemcpyKind = 4; -pub type cudaMemcpyKind = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaPitchedPtr { - pub ptr: *mut ::std::os::raw::c_void, - pub pitch: usize, - pub xsize: usize, - pub ysize: usize, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaExtent { - pub width: usize, - pub height: usize, - pub depth: usize, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaPos { - pub x: usize, - pub y: usize, - pub z: usize, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaMemcpy3DParms { - pub srcArray: cudaArray_t, - pub srcPos: cudaPos, - pub srcPtr: cudaPitchedPtr, - pub dstArray: cudaArray_t, - pub dstPos: cudaPos, - pub dstPtr: cudaPitchedPtr, - pub extent: cudaExtent, - pub kind: cudaMemcpyKind, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaMemcpy3DPeerParms { - pub srcArray: cudaArray_t, - pub srcPos: cudaPos, - pub srcPtr: cudaPitchedPtr, - pub srcDevice: ::std::os::raw::c_int, - pub dstArray: cudaArray_t, - pub dstPos: cudaPos, - pub dstPtr: cudaPitchedPtr, - pub dstDevice: ::std::os::raw::c_int, - pub extent: cudaExtent, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaGraphicsResource { - _unused: [u8; 0], -} -pub const cudaGraphicsRegisterFlags_cudaGraphicsRegisterFlagsNone: cudaGraphicsRegisterFlags = 0; -pub const cudaGraphicsRegisterFlags_cudaGraphicsRegisterFlagsReadOnly: cudaGraphicsRegisterFlags = 1; -pub const cudaGraphicsRegisterFlags_cudaGraphicsRegisterFlagsWriteDiscard: cudaGraphicsRegisterFlags = 2; -pub const cudaGraphicsRegisterFlags_cudaGraphicsRegisterFlagsSurfaceLoadStore: cudaGraphicsRegisterFlags = 4; -pub const cudaGraphicsRegisterFlags_cudaGraphicsRegisterFlagsTextureGather: cudaGraphicsRegisterFlags = 8; -pub type cudaGraphicsRegisterFlags = ::std::os::raw::c_uint; -pub const cudaGraphicsMapFlags_cudaGraphicsMapFlagsNone: cudaGraphicsMapFlags = 0; -pub const cudaGraphicsMapFlags_cudaGraphicsMapFlagsReadOnly: cudaGraphicsMapFlags = 1; -pub const cudaGraphicsMapFlags_cudaGraphicsMapFlagsWriteDiscard: cudaGraphicsMapFlags = 2; -pub type cudaGraphicsMapFlags = ::std::os::raw::c_uint; -pub const cudaGraphicsCubeFace_cudaGraphicsCubeFacePositiveX: cudaGraphicsCubeFace = 0; -pub const cudaGraphicsCubeFace_cudaGraphicsCubeFaceNegativeX: cudaGraphicsCubeFace = 1; -pub const cudaGraphicsCubeFace_cudaGraphicsCubeFacePositiveY: cudaGraphicsCubeFace = 2; -pub const cudaGraphicsCubeFace_cudaGraphicsCubeFaceNegativeY: cudaGraphicsCubeFace = 3; -pub const cudaGraphicsCubeFace_cudaGraphicsCubeFacePositiveZ: cudaGraphicsCubeFace = 4; -pub const cudaGraphicsCubeFace_cudaGraphicsCubeFaceNegativeZ: cudaGraphicsCubeFace = 5; -pub type cudaGraphicsCubeFace = ::std::os::raw::c_uint; -pub const cudaResourceType_cudaResourceTypeArray: cudaResourceType = 0; -pub const cudaResourceType_cudaResourceTypeMipmappedArray: cudaResourceType = 1; -pub const cudaResourceType_cudaResourceTypeLinear: cudaResourceType = 2; -pub const cudaResourceType_cudaResourceTypePitch2D: cudaResourceType = 3; -pub type cudaResourceType = ::std::os::raw::c_uint; -pub const cudaResourceViewFormat_cudaResViewFormatNone: cudaResourceViewFormat = 0; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedChar1: cudaResourceViewFormat = 1; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedChar2: cudaResourceViewFormat = 2; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedChar4: cudaResourceViewFormat = 3; -pub const cudaResourceViewFormat_cudaResViewFormatSignedChar1: cudaResourceViewFormat = 4; -pub const cudaResourceViewFormat_cudaResViewFormatSignedChar2: cudaResourceViewFormat = 5; -pub const cudaResourceViewFormat_cudaResViewFormatSignedChar4: cudaResourceViewFormat = 6; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedShort1: cudaResourceViewFormat = 7; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedShort2: cudaResourceViewFormat = 8; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedShort4: cudaResourceViewFormat = 9; -pub const cudaResourceViewFormat_cudaResViewFormatSignedShort1: cudaResourceViewFormat = 10; -pub const cudaResourceViewFormat_cudaResViewFormatSignedShort2: cudaResourceViewFormat = 11; -pub const cudaResourceViewFormat_cudaResViewFormatSignedShort4: cudaResourceViewFormat = 12; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedInt1: cudaResourceViewFormat = 13; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedInt2: cudaResourceViewFormat = 14; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedInt4: cudaResourceViewFormat = 15; -pub const cudaResourceViewFormat_cudaResViewFormatSignedInt1: cudaResourceViewFormat = 16; -pub const cudaResourceViewFormat_cudaResViewFormatSignedInt2: cudaResourceViewFormat = 17; -pub const cudaResourceViewFormat_cudaResViewFormatSignedInt4: cudaResourceViewFormat = 18; -pub const cudaResourceViewFormat_cudaResViewFormatHalf1: cudaResourceViewFormat = 19; -pub const cudaResourceViewFormat_cudaResViewFormatHalf2: cudaResourceViewFormat = 20; -pub const cudaResourceViewFormat_cudaResViewFormatHalf4: cudaResourceViewFormat = 21; -pub const cudaResourceViewFormat_cudaResViewFormatFloat1: cudaResourceViewFormat = 22; -pub const cudaResourceViewFormat_cudaResViewFormatFloat2: cudaResourceViewFormat = 23; -pub const cudaResourceViewFormat_cudaResViewFormatFloat4: cudaResourceViewFormat = 24; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedBlockCompressed1: cudaResourceViewFormat = 25; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedBlockCompressed2: cudaResourceViewFormat = 26; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedBlockCompressed3: cudaResourceViewFormat = 27; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedBlockCompressed4: cudaResourceViewFormat = 28; -pub const cudaResourceViewFormat_cudaResViewFormatSignedBlockCompressed4: cudaResourceViewFormat = 29; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedBlockCompressed5: cudaResourceViewFormat = 30; -pub const cudaResourceViewFormat_cudaResViewFormatSignedBlockCompressed5: cudaResourceViewFormat = 31; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedBlockCompressed6H: cudaResourceViewFormat = 32; -pub const cudaResourceViewFormat_cudaResViewFormatSignedBlockCompressed6H: cudaResourceViewFormat = 33; -pub const cudaResourceViewFormat_cudaResViewFormatUnsignedBlockCompressed7: cudaResourceViewFormat = 34; -pub type cudaResourceViewFormat = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Copy, Clone)] -pub struct cudaResourceDesc { - pub resType: cudaResourceType, - pub res: cudaResourceDesc__bindgen_ty_1, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union cudaResourceDesc__bindgen_ty_1 { - pub array: cudaResourceDesc__bindgen_ty_1__bindgen_ty_1, - pub mipmap: cudaResourceDesc__bindgen_ty_1__bindgen_ty_2, - pub linear: cudaResourceDesc__bindgen_ty_1__bindgen_ty_3, - pub pitch2D: cudaResourceDesc__bindgen_ty_1__bindgen_ty_4, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_1 { - pub array: cudaArray_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_2 { - pub mipmap: cudaMipmappedArray_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_3 { - pub devPtr: *mut ::std::os::raw::c_void, - pub desc: cudaChannelFormatDesc, - pub sizeInBytes: usize, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_4 { - pub devPtr: *mut ::std::os::raw::c_void, - pub desc: cudaChannelFormatDesc, - pub width: usize, - pub height: usize, - pub pitchInBytes: usize, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaResourceViewDesc { - pub format: cudaResourceViewFormat, - pub width: usize, - pub height: usize, - pub depth: usize, - pub firstMipmapLevel: ::std::os::raw::c_uint, - pub lastMipmapLevel: ::std::os::raw::c_uint, - pub firstLayer: ::std::os::raw::c_uint, - pub lastLayer: ::std::os::raw::c_uint, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaPointerAttributes { - pub memoryType: cudaMemoryType, - pub device: ::std::os::raw::c_int, - pub devicePointer: *mut ::std::os::raw::c_void, - pub hostPointer: *mut ::std::os::raw::c_void, - pub isManaged: ::std::os::raw::c_int, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaFuncAttributes { - pub sharedSizeBytes: usize, - pub constSizeBytes: usize, - pub localSizeBytes: usize, - pub maxThreadsPerBlock: ::std::os::raw::c_int, - pub numRegs: ::std::os::raw::c_int, - pub ptxVersion: ::std::os::raw::c_int, - pub binaryVersion: ::std::os::raw::c_int, - pub cacheModeCA: ::std::os::raw::c_int, - pub maxDynamicSharedSizeBytes: ::std::os::raw::c_int, - pub preferredShmemCarveout: ::std::os::raw::c_int, -} -pub const cudaFuncAttribute_cudaFuncAttributeMaxDynamicSharedMemorySize: cudaFuncAttribute = 8; -pub const cudaFuncAttribute_cudaFuncAttributePreferredSharedMemoryCarveout: cudaFuncAttribute = 9; -pub const cudaFuncAttribute_cudaFuncAttributeMax: cudaFuncAttribute = 10; -pub type cudaFuncAttribute = ::std::os::raw::c_uint; -pub const cudaFuncCache_cudaFuncCachePreferNone: cudaFuncCache = 0; -pub const cudaFuncCache_cudaFuncCachePreferShared: cudaFuncCache = 1; -pub const cudaFuncCache_cudaFuncCachePreferL1: cudaFuncCache = 2; -pub const cudaFuncCache_cudaFuncCachePreferEqual: cudaFuncCache = 3; -pub type cudaFuncCache = ::std::os::raw::c_uint; -pub const cudaSharedMemConfig_cudaSharedMemBankSizeDefault: cudaSharedMemConfig = 0; -pub const cudaSharedMemConfig_cudaSharedMemBankSizeFourByte: cudaSharedMemConfig = 1; -pub const cudaSharedMemConfig_cudaSharedMemBankSizeEightByte: cudaSharedMemConfig = 2; -pub type cudaSharedMemConfig = ::std::os::raw::c_uint; -pub const cudaSharedCarveout_cudaSharedmemCarveoutDefault: cudaSharedCarveout = -1; -pub const cudaSharedCarveout_cudaSharedmemCarveoutMaxShared: cudaSharedCarveout = 100; -pub const cudaSharedCarveout_cudaSharedmemCarveoutMaxL1: cudaSharedCarveout = 0; -pub type cudaSharedCarveout = ::std::os::raw::c_int; - -#[repr(i32)] -#[derive(PartialEq, Eq, Clone, Copy, Debug)] -pub enum cudaComputeMode { - Default = 0, - Exclusive = 1, - Prohibited = 2, - ExclusiveProcess = 3, -} - -pub const cudaLimit_cudaLimitStackSize: cudaLimit = 0; -pub const cudaLimit_cudaLimitPrintfFifoSize: cudaLimit = 1; -pub const cudaLimit_cudaLimitMallocHeapSize: cudaLimit = 2; -pub const cudaLimit_cudaLimitDevRuntimeSyncDepth: cudaLimit = 3; -pub const cudaLimit_cudaLimitDevRuntimePendingLaunchCount: cudaLimit = 4; -pub type cudaLimit = ::std::os::raw::c_uint; -pub const cudaMemoryAdvise_cudaMemAdviseSetReadMostly: cudaMemoryAdvise = 1; -pub const cudaMemoryAdvise_cudaMemAdviseUnsetReadMostly: cudaMemoryAdvise = 2; -pub const cudaMemoryAdvise_cudaMemAdviseSetPreferredLocation: cudaMemoryAdvise = 3; -pub const cudaMemoryAdvise_cudaMemAdviseUnsetPreferredLocation: cudaMemoryAdvise = 4; -pub const cudaMemoryAdvise_cudaMemAdviseSetAccessedBy: cudaMemoryAdvise = 5; -pub const cudaMemoryAdvise_cudaMemAdviseUnsetAccessedBy: cudaMemoryAdvise = 6; -pub type cudaMemoryAdvise = ::std::os::raw::c_uint; -pub const cudaMemRangeAttribute_cudaMemRangeAttributeReadMostly: cudaMemRangeAttribute = 1; -pub const cudaMemRangeAttribute_cudaMemRangeAttributePreferredLocation: cudaMemRangeAttribute = 2; -pub const cudaMemRangeAttribute_cudaMemRangeAttributeAccessedBy: cudaMemRangeAttribute = 3; -pub const cudaMemRangeAttribute_cudaMemRangeAttributeLastPrefetchLocation: cudaMemRangeAttribute = 4; -pub type cudaMemRangeAttribute = ::std::os::raw::c_uint; -pub const cudaOutputMode_cudaKeyValuePair: cudaOutputMode = 0; -pub const cudaOutputMode_cudaCSV: cudaOutputMode = 1; -pub type cudaOutputMode = ::std::os::raw::c_uint; -pub const cudaDeviceP2PAttr_cudaDevP2PAttrPerformanceRank: cudaDeviceP2PAttr = 1; -pub const cudaDeviceP2PAttr_cudaDevP2PAttrAccessSupported: cudaDeviceP2PAttr = 2; -pub const cudaDeviceP2PAttr_cudaDevP2PAttrNativeAtomicSupported: cudaDeviceP2PAttr = 3; -pub type cudaDeviceP2PAttr = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Copy, Clone)] -pub struct cudaDeviceProp { - pub name: [::std::os::raw::c_char; 256usize], - pub totalGlobalMem: usize, - pub sharedMemPerBlock: usize, - pub regsPerBlock: ::std::os::raw::c_int, - pub warpSize: ::std::os::raw::c_int, - pub memPitch: usize, - pub maxThreadsPerBlock: ::std::os::raw::c_int, - pub maxThreadsDim: [::std::os::raw::c_int; 3usize], - pub maxGridSize: [::std::os::raw::c_int; 3usize], - pub clockRate: ::std::os::raw::c_int, - pub totalConstMem: usize, - pub major: ::std::os::raw::c_int, - pub minor: ::std::os::raw::c_int, - pub textureAlignment: usize, - pub texturePitchAlignment: usize, - pub deviceOverlap: ::std::os::raw::c_int, - pub multiProcessorCount: ::std::os::raw::c_int, - pub kernelExecTimeoutEnabled: ::std::os::raw::c_int, - pub integrated: ::std::os::raw::c_int, - pub canMapHostMemory: ::std::os::raw::c_int, - pub computeMode: cudaComputeMode, - pub maxTexture1D: ::std::os::raw::c_int, - pub maxTexture1DMipmap: ::std::os::raw::c_int, - pub maxTexture1DLinear: ::std::os::raw::c_int, - pub maxTexture2D: [::std::os::raw::c_int; 2usize], - pub maxTexture2DMipmap: [::std::os::raw::c_int; 2usize], - pub maxTexture2DLinear: [::std::os::raw::c_int; 3usize], - pub maxTexture2DGather: [::std::os::raw::c_int; 2usize], - pub maxTexture3D: [::std::os::raw::c_int; 3usize], - pub maxTexture3DAlt: [::std::os::raw::c_int; 3usize], - pub maxTextureCubemap: ::std::os::raw::c_int, - pub maxTexture1DLayered: [::std::os::raw::c_int; 2usize], - pub maxTexture2DLayered: [::std::os::raw::c_int; 3usize], - pub maxTextureCubemapLayered: [::std::os::raw::c_int; 2usize], - pub maxSurface1D: ::std::os::raw::c_int, - pub maxSurface2D: [::std::os::raw::c_int; 2usize], - pub maxSurface3D: [::std::os::raw::c_int; 3usize], - pub maxSurface1DLayered: [::std::os::raw::c_int; 2usize], - pub maxSurface2DLayered: [::std::os::raw::c_int; 3usize], - pub maxSurfaceCubemap: ::std::os::raw::c_int, - pub maxSurfaceCubemapLayered: [::std::os::raw::c_int; 2usize], - pub surfaceAlignment: usize, - pub concurrentKernels: ::std::os::raw::c_int, - pub ECCEnabled: ::std::os::raw::c_int, - pub pciBusID: ::std::os::raw::c_int, - pub pciDeviceID: ::std::os::raw::c_int, - pub pciDomainID: ::std::os::raw::c_int, - pub tccDriver: ::std::os::raw::c_int, - pub asyncEngineCount: ::std::os::raw::c_int, - pub unifiedAddressing: ::std::os::raw::c_int, - pub memoryClockRate: ::std::os::raw::c_int, - pub memoryBusWidth: ::std::os::raw::c_int, - pub l2CacheSize: ::std::os::raw::c_int, - pub maxThreadsPerMultiProcessor: ::std::os::raw::c_int, - pub streamPrioritiesSupported: ::std::os::raw::c_int, - pub globalL1CacheSupported: ::std::os::raw::c_int, - pub localL1CacheSupported: ::std::os::raw::c_int, - pub sharedMemPerMultiprocessor: usize, - pub regsPerMultiprocessor: ::std::os::raw::c_int, - pub managedMemory: ::std::os::raw::c_int, - pub isMultiGpuBoard: ::std::os::raw::c_int, - pub multiGpuBoardGroupID: ::std::os::raw::c_int, - pub hostNativeAtomicSupported: ::std::os::raw::c_int, - pub singleToDoublePrecisionPerfRatio: ::std::os::raw::c_int, - pub pageableMemoryAccess: ::std::os::raw::c_int, - pub concurrentManagedAccess: ::std::os::raw::c_int, - pub computePreemptionSupported: ::std::os::raw::c_int, - pub canUseHostPointerForRegisteredMem: ::std::os::raw::c_int, - pub cooperativeLaunch: ::std::os::raw::c_int, - pub cooperativeMultiDeviceLaunch: ::std::os::raw::c_int, - pub sharedMemPerBlockOptin: usize, -} - -#[repr(u32)] -#[derive(Copy, Clone)] -pub enum cudaDeviceAttr { - MaxThreadsPerBlock = 1, - MaxBlockDimX = 2, - MaxBlockDimY = 3, - MaxBlockDimZ = 4, - MaxGridDimX = 5, - MaxGridDimY = 6, - MaxGridDimZ = 7, - MaxSharedMemoryPerBlock = 8, - TotalConstantMemory = 9, - WarpSize = 10, - MaxPitch = 11, - MaxRegistersPerBlock = 12, - ClockRate = 13, - TextureAlignment = 14, - GpuOverlap = 15, - MultiProcessorCount = 16, - KernelExecTimeout = 17, - Integrated = 18, - CanMapHostMemory = 19, - ComputeMode = 20, - MaxTexture1DWidth = 21, - MaxTexture2DWidth = 22, - MaxTexture2DHeight = 23, - MaxTexture3DWidth = 24, - MaxTexture3DHeight = 25, - MaxTexture3DDepth = 26, - MaxTexture2DLayeredWidth = 27, - MaxTexture2DLayeredHeight = 28, - MaxTexture2DLayeredLayers = 29, - SurfaceAlignment = 30, - ConcurrentKernels = 31, - EccEnabled = 32, - PciBusId = 33, - PciDeviceId = 34, - TccDriver = 35, - MemoryClockRate = 36, - GlobalMemoryBusWidth = 37, - L2CacheSize = 38, - MaxThreadsPerMultiProcessor = 39, - AsyncEngineCount = 40, - UnifiedAddressing = 41, - MaxTexture1DLayeredWidth = 42, - MaxTexture1DLayeredLayers = 43, - MaxTexture2DGatherWidth = 45, - MaxTexture2DGatherHeight = 46, - MaxTexture3DWidthAlt = 47, - MaxTexture3DHeightAlt = 48, - MaxTexture3DDepthAlt = 49, - PciDomainId = 50, - TexturePitchAlignment = 51, - MaxTextureCubemapWidth = 52, - MaxTextureCubemapLayeredWidth = 53, - MaxTextureCubemapLayeredLayers = 54, - MaxSurface1DWidth = 55, - MaxSurface2DWidth = 56, - MaxSurface2DHeight = 57, - MaxSurface3DWidth = 58, - MaxSurface3DHeight = 59, - MaxSurface3DDepth = 60, - MaxSurface1DLayeredWidth = 61, - MaxSurface1DLayeredLayers = 62, - MaxSurface2DLayeredWidth = 63, - MaxSurface2DLayeredHeight = 64, - MaxSurface2DLayeredLayers = 65, - MaxSurfaceCubemapWidth = 66, - MaxSurfaceCubemapLayeredWidth = 67, - MaxSurfaceCubemapLayeredLayers = 68, - MaxTexture1DLinearWidth = 69, - MaxTexture2DLinearWidth = 70, - MaxTexture2DLinearHeight = 71, - MaxTexture2DLinearPitch = 72, - MaxTexture2DMipmappedWidth = 73, - MaxTexture2DMipmappedHeight = 74, - ComputeCapabilityMajor = 75, - ComputeCapabilityMinor = 76, - MaxTexture1DMipmappedWidth = 77, - StreamPrioritiesSupported = 78, - GlobalL1CacheSupported = 79, - LocalL1CacheSupported = 80, - MaxSharedMemoryPerMultiprocessor = 81, - MaxRegistersPerMultiprocessor = 82, - ManagedMemory = 83, - IsMultiGpuBoard = 84, - MultiGpuBoardGroupID = 85, - HostNativeAtomicSupported = 86, - SingleToDoublePrecisionPerfRatio = 87, - PageableMemoryAccess = 88, - ConcurrentManagedAccess = 89, - ComputePreemptionSupported = 90, - CanUseHostPointerForRegisteredMem = 91, - Reserved92 = 92, - Reserved93 = 93, - Reserved94 = 94, - CooperativeLaunch = 95, - CooperativeMultiDeviceLaunch = 96, - MaxSharedMemoryPerBlockOptin = 97, -} - -#[repr(C)] -#[derive(Copy, Clone)] -pub struct cudaIpcEventHandle_st { - pub reserved: [::std::os::raw::c_char; 64usize], -} -pub type cudaIpcEventHandle_t = cudaIpcEventHandle_st; -#[repr(C)] -#[derive(Copy, Clone)] -pub struct cudaIpcMemHandle_st { - pub reserved: [::std::os::raw::c_char; 64usize], -} -pub type cudaIpcMemHandle_t = cudaIpcMemHandle_st; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct CUstream_st { - _unused: [u8; 0], -} -pub type cudaStream_t = *mut CUstream_st; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct CUevent_st { - _unused: [u8; 0], -} -pub type cudaEvent_t = *mut CUevent_st; -pub type cudaGraphicsResource_t = *mut cudaGraphicsResource; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct CUuuid_st { - _unused: [u8; 0], -} -pub type cudaUUID_t = CUuuid_st; -pub use self::cudaOutputMode as cudaOutputMode_t; -pub const cudaCGScope_cudaCGScopeInvalid: cudaCGScope = 0; -pub const cudaCGScope_cudaCGScopeGrid: cudaCGScope = 1; -pub const cudaCGScope_cudaCGScopeMultiGrid: cudaCGScope = 2; -pub type cudaCGScope = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaLaunchParams { - pub func: *mut ::std::os::raw::c_void, - pub gridDim: dim3, - pub blockDim: dim3, - pub args: *mut *mut ::std::os::raw::c_void, - pub sharedMem: usize, - pub stream: cudaStream_t, -} -pub const cudaSurfaceBoundaryMode_cudaBoundaryModeZero: cudaSurfaceBoundaryMode = 0; -pub const cudaSurfaceBoundaryMode_cudaBoundaryModeClamp: cudaSurfaceBoundaryMode = 1; -pub const cudaSurfaceBoundaryMode_cudaBoundaryModeTrap: cudaSurfaceBoundaryMode = 2; -pub type cudaSurfaceBoundaryMode = ::std::os::raw::c_uint; -pub const cudaSurfaceFormatMode_cudaFormatModeForced: cudaSurfaceFormatMode = 0; -pub const cudaSurfaceFormatMode_cudaFormatModeAuto: cudaSurfaceFormatMode = 1; -pub type cudaSurfaceFormatMode = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct surfaceReference { - pub channelDesc: cudaChannelFormatDesc, -} -pub type cudaSurfaceObject_t = ::std::os::raw::c_ulonglong; -pub const cudaTextureAddressMode_cudaAddressModeWrap: cudaTextureAddressMode = 0; -pub const cudaTextureAddressMode_cudaAddressModeClamp: cudaTextureAddressMode = 1; -pub const cudaTextureAddressMode_cudaAddressModeMirror: cudaTextureAddressMode = 2; -pub const cudaTextureAddressMode_cudaAddressModeBorder: cudaTextureAddressMode = 3; -pub type cudaTextureAddressMode = ::std::os::raw::c_uint; -pub const cudaTextureFilterMode_cudaFilterModePoint: cudaTextureFilterMode = 0; -pub const cudaTextureFilterMode_cudaFilterModeLinear: cudaTextureFilterMode = 1; -pub type cudaTextureFilterMode = ::std::os::raw::c_uint; -pub const cudaTextureReadMode_cudaReadModeElementType: cudaTextureReadMode = 0; -pub const cudaTextureReadMode_cudaReadModeNormalizedFloat: cudaTextureReadMode = 1; -pub type cudaTextureReadMode = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct textureReference { - pub normalized: ::std::os::raw::c_int, - pub filterMode: cudaTextureFilterMode, - pub addressMode: [cudaTextureAddressMode; 3usize], - pub channelDesc: cudaChannelFormatDesc, - pub sRGB: ::std::os::raw::c_int, - pub maxAnisotropy: ::std::os::raw::c_uint, - pub mipmapFilterMode: cudaTextureFilterMode, - pub mipmapLevelBias: f32, - pub minMipmapLevelClamp: f32, - pub maxMipmapLevelClamp: f32, - pub __cudaReserved: [::std::os::raw::c_int; 15usize], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cudaTextureDesc { - pub addressMode: [cudaTextureAddressMode; 3usize], - pub filterMode: cudaTextureFilterMode, - pub readMode: cudaTextureReadMode, - pub sRGB: ::std::os::raw::c_int, - pub borderColor: [f32; 4usize], - pub normalizedCoords: ::std::os::raw::c_int, - pub maxAnisotropy: ::std::os::raw::c_uint, - pub mipmapFilterMode: cudaTextureFilterMode, - pub mipmapLevelBias: f32, - pub minMipmapLevelClamp: f32, - pub maxMipmapLevelClamp: f32, -} -pub type cudaTextureObject_t = ::std::os::raw::c_ulonglong; -pub const cudaDataType_t_CUDA_R_16F: cudaDataType_t = 2; -pub const cudaDataType_t_CUDA_C_16F: cudaDataType_t = 6; -pub const cudaDataType_t_CUDA_R_32F: cudaDataType_t = 0; -pub const cudaDataType_t_CUDA_C_32F: cudaDataType_t = 4; -pub const cudaDataType_t_CUDA_R_64F: cudaDataType_t = 1; -pub const cudaDataType_t_CUDA_C_64F: cudaDataType_t = 5; -pub const cudaDataType_t_CUDA_R_8I: cudaDataType_t = 3; -pub const cudaDataType_t_CUDA_C_8I: cudaDataType_t = 7; -pub const cudaDataType_t_CUDA_R_8U: cudaDataType_t = 8; -pub const cudaDataType_t_CUDA_C_8U: cudaDataType_t = 9; -pub const cudaDataType_t_CUDA_R_32I: cudaDataType_t = 10; -pub const cudaDataType_t_CUDA_C_32I: cudaDataType_t = 11; -pub const cudaDataType_t_CUDA_R_32U: cudaDataType_t = 12; -pub const cudaDataType_t_CUDA_C_32U: cudaDataType_t = 13; -pub type cudaDataType_t = ::std::os::raw::c_uint; -pub use self::cudaDataType_t as cudaDataType; -pub const libraryPropertyType_t_MAJOR_VERSION: libraryPropertyType_t = 0; -pub const libraryPropertyType_t_MINOR_VERSION: libraryPropertyType_t = 1; -pub const libraryPropertyType_t_PATCH_LEVEL: libraryPropertyType_t = 2; -pub type libraryPropertyType_t = ::std::os::raw::c_uint; -pub use self::libraryPropertyType_t as libraryPropertyType; -extern "C" { - pub fn cudaDeviceReset() -> cudaError_t; - - pub fn cudaDeviceSynchronize() -> cudaError_t; - - pub fn cudaDeviceSetLimit(limit: cudaLimit, value: usize) -> cudaError_t; - - pub fn cudaDeviceGetLimit(pValue: *mut usize, limit: cudaLimit) -> cudaError_t; - - pub fn cudaDeviceGetCacheConfig(pCacheConfig: *mut cudaFuncCache) -> cudaError_t; - - pub fn cudaDeviceGetStreamPriorityRange( - leastPriority: *mut ::std::os::raw::c_int, - greatestPriority: *mut ::std::os::raw::c_int, - ) -> cudaError_t; - - pub fn cudaDeviceSetCacheConfig(cacheConfig: cudaFuncCache) -> cudaError_t; - - pub fn cudaDeviceGetSharedMemConfig(pConfig: *mut cudaSharedMemConfig) -> cudaError_t; - - pub fn cudaDeviceSetSharedMemConfig(config: cudaSharedMemConfig) -> cudaError_t; - - pub fn cudaDeviceGetByPCIBusId( - device: *mut ::std::os::raw::c_int, - pciBusId: *const ::std::os::raw::c_char, - ) -> cudaError_t; - - pub fn cudaDeviceGetPCIBusId( - pciBusId: *mut ::std::os::raw::c_char, - len: ::std::os::raw::c_int, - device: ::std::os::raw::c_int, - ) -> cudaError_t; - - pub fn cudaIpcGetEventHandle(handle: *mut cudaIpcEventHandle_t, event: cudaEvent_t) -> cudaError_t; - - pub fn cudaIpcOpenEventHandle(event: *mut cudaEvent_t, handle: cudaIpcEventHandle_t) -> cudaError_t; - - pub fn cudaIpcGetMemHandle(handle: *mut cudaIpcMemHandle_t, devPtr: *mut ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaIpcOpenMemHandle( - devPtr: *mut *mut ::std::os::raw::c_void, - handle: cudaIpcMemHandle_t, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaIpcCloseMemHandle(devPtr: *mut ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaThreadExit() -> cudaError_t; - - pub fn cudaThreadSynchronize() -> cudaError_t; - - pub fn cudaThreadSetLimit(limit: cudaLimit, value: usize) -> cudaError_t; - - pub fn cudaThreadGetLimit(pValue: *mut usize, limit: cudaLimit) -> cudaError_t; - - pub fn cudaThreadGetCacheConfig(pCacheConfig: *mut cudaFuncCache) -> cudaError_t; - - pub fn cudaThreadSetCacheConfig(cacheConfig: cudaFuncCache) -> cudaError_t; - - pub fn cudaGetLastError() -> cudaError_t; - - pub fn cudaPeekAtLastError() -> cudaError_t; - - pub fn cudaGetErrorName(error: cudaError_t) -> *const ::std::os::raw::c_char; - - pub fn cudaGetErrorString(error: cudaError_t) -> *const ::std::os::raw::c_char; - - pub fn cudaGetDeviceCount(count: *mut ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaGetDeviceProperties(prop: *mut cudaDeviceProp, device: ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaDeviceGetAttribute( - value: *mut ::std::os::raw::c_int, - attr: cudaDeviceAttr, - device: ::std::os::raw::c_int, - ) -> cudaError_t; - - pub fn cudaDeviceGetP2PAttribute( - value: *mut ::std::os::raw::c_int, - attr: cudaDeviceP2PAttr, - srcDevice: ::std::os::raw::c_int, - dstDevice: ::std::os::raw::c_int, - ) -> cudaError_t; - - pub fn cudaChooseDevice(device: *mut ::std::os::raw::c_int, prop: *const cudaDeviceProp) -> cudaError_t; - - pub fn cudaSetDevice(device: ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaGetDevice(device: *mut ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaSetValidDevices(device_arr: *mut ::std::os::raw::c_int, len: ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaSetDeviceFlags(flags: ::std::os::raw::c_uint) -> cudaError_t; - - pub fn cudaGetDeviceFlags(flags: *mut ::std::os::raw::c_uint) -> cudaError_t; - - pub fn cudaStreamCreate(pStream: *mut cudaStream_t) -> cudaError_t; - - pub fn cudaStreamCreateWithFlags(pStream: *mut cudaStream_t, flags: ::std::os::raw::c_uint) -> cudaError_t; - - pub fn cudaStreamCreateWithPriority( - pStream: *mut cudaStream_t, - flags: ::std::os::raw::c_uint, - priority: ::std::os::raw::c_int, - ) -> cudaError_t; - - pub fn cudaStreamGetPriority(hStream: cudaStream_t, priority: *mut ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaStreamGetFlags(hStream: cudaStream_t, flags: *mut ::std::os::raw::c_uint) -> cudaError_t; - - pub fn cudaStreamDestroy(stream: cudaStream_t) -> cudaError_t; - - pub fn cudaStreamWaitEvent(stream: cudaStream_t, event: cudaEvent_t, flags: ::std::os::raw::c_uint) -> cudaError_t; -} -pub type cudaStreamCallback_t = ::std::option::Option< - unsafe extern "C" fn(stream: cudaStream_t, status: cudaError_t, userData: *mut ::std::os::raw::c_void), ->; -extern "C" { - pub fn cudaStreamAddCallback( - stream: cudaStream_t, - callback: cudaStreamCallback_t, - userData: *mut ::std::os::raw::c_void, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaStreamSynchronize(stream: cudaStream_t) -> cudaError_t; - - pub fn cudaStreamQuery(stream: cudaStream_t) -> cudaError_t; - - pub fn cudaStreamAttachMemAsync( - stream: cudaStream_t, - devPtr: *mut ::std::os::raw::c_void, - length: usize, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaEventCreate(event: *mut cudaEvent_t) -> cudaError_t; - - pub fn cudaEventCreateWithFlags(event: *mut cudaEvent_t, flags: ::std::os::raw::c_uint) -> cudaError_t; - - pub fn cudaEventRecord(event: cudaEvent_t, stream: cudaStream_t) -> cudaError_t; - - pub fn cudaEventQuery(event: cudaEvent_t) -> cudaError_t; - - pub fn cudaEventSynchronize(event: cudaEvent_t) -> cudaError_t; - - pub fn cudaEventDestroy(event: cudaEvent_t) -> cudaError_t; - - pub fn cudaEventElapsedTime(ms: *mut f32, start: cudaEvent_t, end: cudaEvent_t) -> cudaError_t; - - pub fn cudaLaunchKernel( - func: *const ::std::os::raw::c_void, - gridDim: dim3, - blockDim: dim3, - args: *mut *mut ::std::os::raw::c_void, - sharedMem: usize, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaLaunchCooperativeKernel( - func: *const ::std::os::raw::c_void, - gridDim: dim3, - blockDim: dim3, - args: *mut *mut ::std::os::raw::c_void, - sharedMem: usize, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaLaunchCooperativeKernelMultiDevice( - launchParamsList: *mut cudaLaunchParams, - numDevices: ::std::os::raw::c_uint, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaFuncSetCacheConfig(func: *const ::std::os::raw::c_void, cacheConfig: cudaFuncCache) -> cudaError_t; - - pub fn cudaFuncSetSharedMemConfig(func: *const ::std::os::raw::c_void, config: cudaSharedMemConfig) -> cudaError_t; - - pub fn cudaFuncGetAttributes(attr: *mut cudaFuncAttributes, func: *const ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaFuncSetAttribute( - func: *const ::std::os::raw::c_void, - attr: cudaFuncAttribute, - value: ::std::os::raw::c_int, - ) -> cudaError_t; - - pub fn cudaSetDoubleForDevice(d: *mut f64) -> cudaError_t; - - pub fn cudaSetDoubleForHost(d: *mut f64) -> cudaError_t; - - pub fn cudaOccupancyMaxActiveBlocksPerMultiprocessor( - numBlocks: *mut ::std::os::raw::c_int, - func: *const ::std::os::raw::c_void, - blockSize: ::std::os::raw::c_int, - dynamicSMemSize: usize, - ) -> cudaError_t; - - pub fn cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags( - numBlocks: *mut ::std::os::raw::c_int, - func: *const ::std::os::raw::c_void, - blockSize: ::std::os::raw::c_int, - dynamicSMemSize: usize, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaConfigureCall(gridDim: dim3, blockDim: dim3, sharedMem: usize, stream: cudaStream_t) -> cudaError_t; - - pub fn cudaSetupArgument(arg: *const ::std::os::raw::c_void, size: usize, offset: usize) -> cudaError_t; - - pub fn cudaLaunch(func: *const ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaMallocManaged( - devPtr: *mut *mut ::std::os::raw::c_void, - size: usize, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaMalloc(devPtr: *mut *mut ::std::os::raw::c_void, size: usize) -> cudaError_t; - - pub fn cudaMallocHost(ptr: *mut *mut ::std::os::raw::c_void, size: usize) -> cudaError_t; - - pub fn cudaMallocPitch( - devPtr: *mut *mut ::std::os::raw::c_void, - pitch: *mut usize, - width: usize, - height: usize, - ) -> cudaError_t; - - pub fn cudaMallocArray( - array: *mut cudaArray_t, - desc: *const cudaChannelFormatDesc, - width: usize, - height: usize, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaFree(devPtr: *mut ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaFreeHost(ptr: *mut ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaFreeArray(array: cudaArray_t) -> cudaError_t; - - pub fn cudaFreeMipmappedArray(mipmappedArray: cudaMipmappedArray_t) -> cudaError_t; - - pub fn cudaHostAlloc( - pHost: *mut *mut ::std::os::raw::c_void, - size: usize, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaHostRegister( - ptr: *mut ::std::os::raw::c_void, - size: usize, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaHostUnregister(ptr: *mut ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaHostGetDevicePointer( - pDevice: *mut *mut ::std::os::raw::c_void, - pHost: *mut ::std::os::raw::c_void, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaHostGetFlags(pFlags: *mut ::std::os::raw::c_uint, pHost: *mut ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaMalloc3D(pitchedDevPtr: *mut cudaPitchedPtr, extent: cudaExtent) -> cudaError_t; - - pub fn cudaMalloc3DArray( - array: *mut cudaArray_t, - desc: *const cudaChannelFormatDesc, - extent: cudaExtent, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaMallocMipmappedArray( - mipmappedArray: *mut cudaMipmappedArray_t, - desc: *const cudaChannelFormatDesc, - extent: cudaExtent, - numLevels: ::std::os::raw::c_uint, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaGetMipmappedArrayLevel( - levelArray: *mut cudaArray_t, - mipmappedArray: cudaMipmappedArray_const_t, - level: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaMemcpy3D(p: *const cudaMemcpy3DParms) -> cudaError_t; - - pub fn cudaMemcpy3DPeer(p: *const cudaMemcpy3DPeerParms) -> cudaError_t; - - pub fn cudaMemcpy3DAsync(p: *const cudaMemcpy3DParms, stream: cudaStream_t) -> cudaError_t; - - pub fn cudaMemcpy3DPeerAsync(p: *const cudaMemcpy3DPeerParms, stream: cudaStream_t) -> cudaError_t; - - pub fn cudaMemGetInfo(free: *mut usize, total: *mut usize) -> cudaError_t; - - pub fn cudaArrayGetInfo( - desc: *mut cudaChannelFormatDesc, - extent: *mut cudaExtent, - flags: *mut ::std::os::raw::c_uint, - array: cudaArray_t, - ) -> cudaError_t; - - pub fn cudaMemcpy( - dst: *mut ::std::os::raw::c_void, - src: *const ::std::os::raw::c_void, - count: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpyPeer( - dst: *mut ::std::os::raw::c_void, - dstDevice: ::std::os::raw::c_int, - src: *const ::std::os::raw::c_void, - srcDevice: ::std::os::raw::c_int, - count: usize, - ) -> cudaError_t; - - pub fn cudaMemcpyToArray( - dst: cudaArray_t, - wOffset: usize, - hOffset: usize, - src: *const ::std::os::raw::c_void, - count: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpyFromArray( - dst: *mut ::std::os::raw::c_void, - src: cudaArray_const_t, - wOffset: usize, - hOffset: usize, - count: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpyArrayToArray( - dst: cudaArray_t, - wOffsetDst: usize, - hOffsetDst: usize, - src: cudaArray_const_t, - wOffsetSrc: usize, - hOffsetSrc: usize, - count: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpy2D( - dst: *mut ::std::os::raw::c_void, - dpitch: usize, - src: *const ::std::os::raw::c_void, - spitch: usize, - width: usize, - height: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpy2DToArray( - dst: cudaArray_t, - wOffset: usize, - hOffset: usize, - src: *const ::std::os::raw::c_void, - spitch: usize, - width: usize, - height: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpy2DFromArray( - dst: *mut ::std::os::raw::c_void, - dpitch: usize, - src: cudaArray_const_t, - wOffset: usize, - hOffset: usize, - width: usize, - height: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpy2DArrayToArray( - dst: cudaArray_t, - wOffsetDst: usize, - hOffsetDst: usize, - src: cudaArray_const_t, - wOffsetSrc: usize, - hOffsetSrc: usize, - width: usize, - height: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpyToSymbol( - symbol: *const ::std::os::raw::c_void, - src: *const ::std::os::raw::c_void, - count: usize, - offset: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpyFromSymbol( - dst: *mut ::std::os::raw::c_void, - symbol: *const ::std::os::raw::c_void, - count: usize, - offset: usize, - kind: cudaMemcpyKind, - ) -> cudaError_t; - - pub fn cudaMemcpyAsync( - dst: *mut ::std::os::raw::c_void, - src: *const ::std::os::raw::c_void, - count: usize, - kind: cudaMemcpyKind, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemcpyPeerAsync( - dst: *mut ::std::os::raw::c_void, - dstDevice: ::std::os::raw::c_int, - src: *const ::std::os::raw::c_void, - srcDevice: ::std::os::raw::c_int, - count: usize, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemcpyToArrayAsync( - dst: cudaArray_t, - wOffset: usize, - hOffset: usize, - src: *const ::std::os::raw::c_void, - count: usize, - kind: cudaMemcpyKind, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemcpyFromArrayAsync( - dst: *mut ::std::os::raw::c_void, - src: cudaArray_const_t, - wOffset: usize, - hOffset: usize, - count: usize, - kind: cudaMemcpyKind, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemcpy2DAsync( - dst: *mut ::std::os::raw::c_void, - dpitch: usize, - src: *const ::std::os::raw::c_void, - spitch: usize, - width: usize, - height: usize, - kind: cudaMemcpyKind, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemcpy2DToArrayAsync( - dst: cudaArray_t, - wOffset: usize, - hOffset: usize, - src: *const ::std::os::raw::c_void, - spitch: usize, - width: usize, - height: usize, - kind: cudaMemcpyKind, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemcpy2DFromArrayAsync( - dst: *mut ::std::os::raw::c_void, - dpitch: usize, - src: cudaArray_const_t, - wOffset: usize, - hOffset: usize, - width: usize, - height: usize, - kind: cudaMemcpyKind, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemcpyToSymbolAsync( - symbol: *const ::std::os::raw::c_void, - src: *const ::std::os::raw::c_void, - count: usize, - offset: usize, - kind: cudaMemcpyKind, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemcpyFromSymbolAsync( - dst: *mut ::std::os::raw::c_void, - symbol: *const ::std::os::raw::c_void, - count: usize, - offset: usize, - kind: cudaMemcpyKind, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemset(devPtr: *mut ::std::os::raw::c_void, value: ::std::os::raw::c_int, count: usize) -> cudaError_t; - - pub fn cudaMemset2D( - devPtr: *mut ::std::os::raw::c_void, - pitch: usize, - value: ::std::os::raw::c_int, - width: usize, - height: usize, - ) -> cudaError_t; - - pub fn cudaMemset3D(pitchedDevPtr: cudaPitchedPtr, value: ::std::os::raw::c_int, extent: cudaExtent) - -> cudaError_t; - - pub fn cudaMemsetAsync( - devPtr: *mut ::std::os::raw::c_void, - value: ::std::os::raw::c_int, - count: usize, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemset2DAsync( - devPtr: *mut ::std::os::raw::c_void, - pitch: usize, - value: ::std::os::raw::c_int, - width: usize, - height: usize, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemset3DAsync( - pitchedDevPtr: cudaPitchedPtr, - value: ::std::os::raw::c_int, - extent: cudaExtent, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaGetSymbolAddress( - devPtr: *mut *mut ::std::os::raw::c_void, - symbol: *const ::std::os::raw::c_void, - ) -> cudaError_t; - - pub fn cudaGetSymbolSize(size: *mut usize, symbol: *const ::std::os::raw::c_void) -> cudaError_t; - - pub fn cudaMemPrefetchAsync( - devPtr: *const ::std::os::raw::c_void, - count: usize, - dstDevice: ::std::os::raw::c_int, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaMemAdvise( - devPtr: *const ::std::os::raw::c_void, - count: usize, - advice: cudaMemoryAdvise, - device: ::std::os::raw::c_int, - ) -> cudaError_t; - - pub fn cudaMemRangeGetAttribute( - data: *mut ::std::os::raw::c_void, - dataSize: usize, - attribute: cudaMemRangeAttribute, - devPtr: *const ::std::os::raw::c_void, - count: usize, - ) -> cudaError_t; - - pub fn cudaMemRangeGetAttributes( - data: *mut *mut ::std::os::raw::c_void, - dataSizes: *mut usize, - attributes: *mut cudaMemRangeAttribute, - numAttributes: usize, - devPtr: *const ::std::os::raw::c_void, - count: usize, - ) -> cudaError_t; - - pub fn cudaPointerGetAttributes( - attributes: *mut cudaPointerAttributes, - ptr: *const ::std::os::raw::c_void, - ) -> cudaError_t; - - pub fn cudaDeviceCanAccessPeer( - canAccessPeer: *mut ::std::os::raw::c_int, - device: ::std::os::raw::c_int, - peerDevice: ::std::os::raw::c_int, - ) -> cudaError_t; - - pub fn cudaDeviceEnablePeerAccess(peerDevice: ::std::os::raw::c_int, flags: ::std::os::raw::c_uint) -> cudaError_t; - - pub fn cudaDeviceDisablePeerAccess(peerDevice: ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaGraphicsUnregisterResource(resource: cudaGraphicsResource_t) -> cudaError_t; - - pub fn cudaGraphicsResourceSetMapFlags( - resource: cudaGraphicsResource_t, - flags: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaGraphicsMapResources( - count: ::std::os::raw::c_int, - resources: *mut cudaGraphicsResource_t, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaGraphicsUnmapResources( - count: ::std::os::raw::c_int, - resources: *mut cudaGraphicsResource_t, - stream: cudaStream_t, - ) -> cudaError_t; - - pub fn cudaGraphicsResourceGetMappedPointer( - devPtr: *mut *mut ::std::os::raw::c_void, - size: *mut usize, - resource: cudaGraphicsResource_t, - ) -> cudaError_t; - - pub fn cudaGraphicsSubResourceGetMappedArray( - array: *mut cudaArray_t, - resource: cudaGraphicsResource_t, - arrayIndex: ::std::os::raw::c_uint, - mipLevel: ::std::os::raw::c_uint, - ) -> cudaError_t; - - pub fn cudaGraphicsResourceGetMappedMipmappedArray( - mipmappedArray: *mut cudaMipmappedArray_t, - resource: cudaGraphicsResource_t, - ) -> cudaError_t; - - pub fn cudaGetChannelDesc(desc: *mut cudaChannelFormatDesc, array: cudaArray_const_t) -> cudaError_t; - - pub fn cudaCreateChannelDesc( - x: ::std::os::raw::c_int, - y: ::std::os::raw::c_int, - z: ::std::os::raw::c_int, - w: ::std::os::raw::c_int, - f: cudaChannelFormatKind, - ) -> cudaChannelFormatDesc; - - pub fn cudaBindTexture( - offset: *mut usize, - texref: *const textureReference, - devPtr: *const ::std::os::raw::c_void, - desc: *const cudaChannelFormatDesc, - size: usize, - ) -> cudaError_t; - - pub fn cudaBindTexture2D( - offset: *mut usize, - texref: *const textureReference, - devPtr: *const ::std::os::raw::c_void, - desc: *const cudaChannelFormatDesc, - width: usize, - height: usize, - pitch: usize, - ) -> cudaError_t; - - pub fn cudaBindTextureToArray( - texref: *const textureReference, - array: cudaArray_const_t, - desc: *const cudaChannelFormatDesc, - ) -> cudaError_t; - - pub fn cudaBindTextureToMipmappedArray( - texref: *const textureReference, - mipmappedArray: cudaMipmappedArray_const_t, - desc: *const cudaChannelFormatDesc, - ) -> cudaError_t; - - pub fn cudaUnbindTexture(texref: *const textureReference) -> cudaError_t; - - pub fn cudaGetTextureAlignmentOffset(offset: *mut usize, texref: *const textureReference) -> cudaError_t; - - pub fn cudaGetTextureReference( - texref: *mut *const textureReference, - symbol: *const ::std::os::raw::c_void, - ) -> cudaError_t; - - pub fn cudaBindSurfaceToArray( - surfref: *const surfaceReference, - array: cudaArray_const_t, - desc: *const cudaChannelFormatDesc, - ) -> cudaError_t; - - pub fn cudaGetSurfaceReference( - surfref: *mut *const surfaceReference, - symbol: *const ::std::os::raw::c_void, - ) -> cudaError_t; - - pub fn cudaCreateTextureObject( - pTexObject: *mut cudaTextureObject_t, - pResDesc: *const cudaResourceDesc, - pTexDesc: *const cudaTextureDesc, - pResViewDesc: *const cudaResourceViewDesc, - ) -> cudaError_t; - - pub fn cudaDestroyTextureObject(texObject: cudaTextureObject_t) -> cudaError_t; - - pub fn cudaGetTextureObjectResourceDesc( - pResDesc: *mut cudaResourceDesc, - texObject: cudaTextureObject_t, - ) -> cudaError_t; - - pub fn cudaGetTextureObjectTextureDesc( - pTexDesc: *mut cudaTextureDesc, - texObject: cudaTextureObject_t, - ) -> cudaError_t; - - pub fn cudaGetTextureObjectResourceViewDesc( - pResViewDesc: *mut cudaResourceViewDesc, - texObject: cudaTextureObject_t, - ) -> cudaError_t; - - pub fn cudaCreateSurfaceObject( - pSurfObject: *mut cudaSurfaceObject_t, - pResDesc: *const cudaResourceDesc, - ) -> cudaError_t; - - pub fn cudaDestroySurfaceObject(surfObject: cudaSurfaceObject_t) -> cudaError_t; - - pub fn cudaGetSurfaceObjectResourceDesc( - pResDesc: *mut cudaResourceDesc, - surfObject: cudaSurfaceObject_t, - ) -> cudaError_t; - - pub fn cudaDriverGetVersion(driverVersion: *mut ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaRuntimeGetVersion(runtimeVersion: *mut ::std::os::raw::c_int) -> cudaError_t; - - pub fn cudaGetExportTable( - ppExportTable: *mut *const ::std::os::raw::c_void, - pExportTableId: *const cudaUUID_t, - ) -> cudaError_t; -} +include!(concat!(env!("OUT_DIR"), "/cudart_bindings.rs")); diff --git a/src/cudart_tests.rs b/src/cudart_tests.rs deleted file mode 100644 index 20045d6..0000000 --- a/src/cudart_tests.rs +++ /dev/null @@ -1,1958 +0,0 @@ -#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] -#![cfg(test)] - -use super::cudart::*; - -#[test] -fn bindgen_test_layout_cudaChannelFormatDesc() { - assert_eq!( - ::std::mem::size_of::(), - 20usize, - concat!("Size of: ", stringify!(cudaChannelFormatDesc)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(cudaChannelFormatDesc)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaChannelFormatDesc)).x as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaChannelFormatDesc), - "::", - stringify!(x) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaChannelFormatDesc)).y as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(cudaChannelFormatDesc), - "::", - stringify!(y) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaChannelFormatDesc)).z as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaChannelFormatDesc), - "::", - stringify!(z) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaChannelFormatDesc)).w as *const _ as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(cudaChannelFormatDesc), - "::", - stringify!(w) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaChannelFormatDesc)).f as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(cudaChannelFormatDesc), - "::", - stringify!(f) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaPitchedPtr() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(cudaPitchedPtr)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaPitchedPtr)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPitchedPtr)).ptr as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(cudaPitchedPtr), "::", stringify!(ptr)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPitchedPtr)).pitch as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(cudaPitchedPtr), "::", stringify!(pitch)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPitchedPtr)).xsize as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(cudaPitchedPtr), "::", stringify!(xsize)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPitchedPtr)).ysize as *const _ as usize }, - 24usize, - concat!("Offset of field: ", stringify!(cudaPitchedPtr), "::", stringify!(ysize)) - ); -} -#[test] -fn bindgen_test_layout_cudaExtent() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(cudaExtent)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaExtent)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaExtent)).width as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(cudaExtent), "::", stringify!(width)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaExtent)).height as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(cudaExtent), "::", stringify!(height)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaExtent)).depth as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(cudaExtent), "::", stringify!(depth)) - ); -} -#[test] -fn bindgen_test_layout_cudaPos() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(cudaPos)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaPos)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPos)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(cudaPos), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPos)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(cudaPos), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPos)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(cudaPos), "::", stringify!(z)) - ); -} -#[test] -fn bindgen_test_layout_cudaMemcpy3DParms() { - assert_eq!( - ::std::mem::size_of::(), - 160usize, - concat!("Size of: ", stringify!(cudaMemcpy3DParms)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaMemcpy3DParms)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DParms)).srcArray as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DParms), - "::", - stringify!(srcArray) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DParms)).srcPos as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DParms), - "::", - stringify!(srcPos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DParms)).srcPtr as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DParms), - "::", - stringify!(srcPtr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DParms)).dstArray as *const _ as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DParms), - "::", - stringify!(dstArray) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DParms)).dstPos as *const _ as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DParms), - "::", - stringify!(dstPos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DParms)).dstPtr as *const _ as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DParms), - "::", - stringify!(dstPtr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DParms)).extent as *const _ as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DParms), - "::", - stringify!(extent) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DParms)).kind as *const _ as usize }, - 152usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DParms), - "::", - stringify!(kind) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaMemcpy3DPeerParms() { - assert_eq!( - ::std::mem::size_of::(), - 168usize, - concat!("Size of: ", stringify!(cudaMemcpy3DPeerParms)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaMemcpy3DPeerParms)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).srcArray as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(srcArray) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).srcPos as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(srcPos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).srcPtr as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(srcPtr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).srcDevice as *const _ as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(srcDevice) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).dstArray as *const _ as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(dstArray) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).dstPos as *const _ as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(dstPos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).dstPtr as *const _ as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(dstPtr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).dstDevice as *const _ as usize }, - 136usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(dstDevice) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaMemcpy3DPeerParms)).extent as *const _ as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(cudaMemcpy3DPeerParms), - "::", - stringify!(extent) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaResourceDesc__bindgen_ty_1__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!( - "Alignment of ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_1)).array as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(array) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaResourceDesc__bindgen_ty_1__bindgen_ty_2() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!( - "Alignment of ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_2) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_2)).mipmap as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(mipmap) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaResourceDesc__bindgen_ty_1__bindgen_ty_3() { - assert_eq!( - ::std::mem::size_of::(), - 40usize, - concat!("Size of: ", stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!( - "Alignment of ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_3) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_3)).devPtr as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_3), - "::", - stringify!(devPtr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_3)).desc as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_3), - "::", - stringify!(desc) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_3)).sizeInBytes as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_3), - "::", - stringify!(sizeInBytes) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaResourceDesc__bindgen_ty_1__bindgen_ty_4() { - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_4)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!( - "Alignment of ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_4) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_4)).devPtr as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_4), - "::", - stringify!(devPtr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_4)).desc as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_4), - "::", - stringify!(desc) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_4)).width as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_4), - "::", - stringify!(width) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_4)).height as *const _ as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_4), - "::", - stringify!(height) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1__bindgen_ty_4)).pitchInBytes as *const _ as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1__bindgen_ty_4), - "::", - stringify!(pitchInBytes) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaResourceDesc__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(cudaResourceDesc__bindgen_ty_1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaResourceDesc__bindgen_ty_1)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1)).array as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1), - "::", - stringify!(array) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1)).mipmap as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1), - "::", - stringify!(mipmap) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1)).linear as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1), - "::", - stringify!(linear) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc__bindgen_ty_1)).pitch2D as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc__bindgen_ty_1), - "::", - stringify!(pitch2D) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaResourceDesc() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(cudaResourceDesc)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaResourceDesc)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc)).resType as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceDesc), - "::", - stringify!(resType) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceDesc)).res as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(cudaResourceDesc), "::", stringify!(res)) - ); -} -#[test] -fn bindgen_test_layout_cudaResourceViewDesc() { - assert_eq!( - ::std::mem::size_of::(), - 48usize, - concat!("Size of: ", stringify!(cudaResourceViewDesc)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaResourceViewDesc)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceViewDesc)).format as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceViewDesc), - "::", - stringify!(format) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceViewDesc)).width as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceViewDesc), - "::", - stringify!(width) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceViewDesc)).height as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceViewDesc), - "::", - stringify!(height) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceViewDesc)).depth as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceViewDesc), - "::", - stringify!(depth) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceViewDesc)).firstMipmapLevel as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceViewDesc), - "::", - stringify!(firstMipmapLevel) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceViewDesc)).lastMipmapLevel as *const _ as usize }, - 36usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceViewDesc), - "::", - stringify!(lastMipmapLevel) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceViewDesc)).firstLayer as *const _ as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceViewDesc), - "::", - stringify!(firstLayer) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaResourceViewDesc)).lastLayer as *const _ as usize }, - 44usize, - concat!( - "Offset of field: ", - stringify!(cudaResourceViewDesc), - "::", - stringify!(lastLayer) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaPointerAttributes() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(cudaPointerAttributes)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaPointerAttributes)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPointerAttributes)).memoryType as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaPointerAttributes), - "::", - stringify!(memoryType) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPointerAttributes)).device as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(cudaPointerAttributes), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPointerAttributes)).devicePointer as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaPointerAttributes), - "::", - stringify!(devicePointer) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPointerAttributes)).hostPointer as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(cudaPointerAttributes), - "::", - stringify!(hostPointer) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaPointerAttributes)).isManaged as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(cudaPointerAttributes), - "::", - stringify!(isManaged) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaFuncAttributes() { - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(cudaFuncAttributes)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaFuncAttributes)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).sharedSizeBytes as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(sharedSizeBytes) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).constSizeBytes as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(constSizeBytes) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).localSizeBytes as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(localSizeBytes) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).maxThreadsPerBlock as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(maxThreadsPerBlock) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).numRegs as *const _ as usize }, - 28usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(numRegs) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).ptxVersion as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(ptxVersion) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).binaryVersion as *const _ as usize }, - 36usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(binaryVersion) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).cacheModeCA as *const _ as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(cacheModeCA) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).maxDynamicSharedSizeBytes as *const _ as usize }, - 44usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(maxDynamicSharedSizeBytes) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaFuncAttributes)).preferredShmemCarveout as *const _ as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(cudaFuncAttributes), - "::", - stringify!(preferredShmemCarveout) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaDeviceProp() { - assert_eq!( - ::std::mem::size_of::(), - 672usize, - concat!("Size of: ", stringify!(cudaDeviceProp)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaDeviceProp)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).name as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(cudaDeviceProp), "::", stringify!(name)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).totalGlobalMem as *const _ as usize }, - 256usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(totalGlobalMem) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).sharedMemPerBlock as *const _ as usize }, - 264usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(sharedMemPerBlock) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).regsPerBlock as *const _ as usize }, - 272usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(regsPerBlock) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).warpSize as *const _ as usize }, - 276usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(warpSize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).memPitch as *const _ as usize }, - 280usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(memPitch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxThreadsPerBlock as *const _ as usize }, - 288usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxThreadsPerBlock) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxThreadsDim as *const _ as usize }, - 292usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxThreadsDim) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxGridSize as *const _ as usize }, - 304usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxGridSize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).clockRate as *const _ as usize }, - 316usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(clockRate) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).totalConstMem as *const _ as usize }, - 320usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(totalConstMem) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).major as *const _ as usize }, - 328usize, - concat!("Offset of field: ", stringify!(cudaDeviceProp), "::", stringify!(major)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).minor as *const _ as usize }, - 332usize, - concat!("Offset of field: ", stringify!(cudaDeviceProp), "::", stringify!(minor)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).textureAlignment as *const _ as usize }, - 336usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(textureAlignment) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).texturePitchAlignment as *const _ as usize }, - 344usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(texturePitchAlignment) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).deviceOverlap as *const _ as usize }, - 352usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(deviceOverlap) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).multiProcessorCount as *const _ as usize }, - 356usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(multiProcessorCount) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).kernelExecTimeoutEnabled as *const _ as usize }, - 360usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(kernelExecTimeoutEnabled) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).integrated as *const _ as usize }, - 364usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(integrated) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).canMapHostMemory as *const _ as usize }, - 368usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(canMapHostMemory) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).computeMode as *const _ as usize }, - 372usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(computeMode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture1D as *const _ as usize }, - 376usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture1D) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture1DMipmap as *const _ as usize }, - 380usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture1DMipmap) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture1DLinear as *const _ as usize }, - 384usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture1DLinear) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture2D as *const _ as usize }, - 388usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture2D) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture2DMipmap as *const _ as usize }, - 396usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture2DMipmap) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture2DLinear as *const _ as usize }, - 404usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture2DLinear) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture2DGather as *const _ as usize }, - 416usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture2DGather) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture3D as *const _ as usize }, - 424usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture3D) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture3DAlt as *const _ as usize }, - 436usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture3DAlt) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTextureCubemap as *const _ as usize }, - 448usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTextureCubemap) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture1DLayered as *const _ as usize }, - 452usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture1DLayered) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTexture2DLayered as *const _ as usize }, - 460usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTexture2DLayered) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxTextureCubemapLayered as *const _ as usize }, - 472usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxTextureCubemapLayered) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxSurface1D as *const _ as usize }, - 480usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxSurface1D) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxSurface2D as *const _ as usize }, - 484usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxSurface2D) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxSurface3D as *const _ as usize }, - 492usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxSurface3D) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxSurface1DLayered as *const _ as usize }, - 504usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxSurface1DLayered) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxSurface2DLayered as *const _ as usize }, - 512usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxSurface2DLayered) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxSurfaceCubemap as *const _ as usize }, - 524usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxSurfaceCubemap) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxSurfaceCubemapLayered as *const _ as usize }, - 528usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxSurfaceCubemapLayered) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).surfaceAlignment as *const _ as usize }, - 536usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(surfaceAlignment) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).concurrentKernels as *const _ as usize }, - 544usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(concurrentKernels) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).ECCEnabled as *const _ as usize }, - 548usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(ECCEnabled) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).pciBusID as *const _ as usize }, - 552usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(pciBusID) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).pciDeviceID as *const _ as usize }, - 556usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(pciDeviceID) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).pciDomainID as *const _ as usize }, - 560usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(pciDomainID) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).tccDriver as *const _ as usize }, - 564usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(tccDriver) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).asyncEngineCount as *const _ as usize }, - 568usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(asyncEngineCount) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).unifiedAddressing as *const _ as usize }, - 572usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(unifiedAddressing) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).memoryClockRate as *const _ as usize }, - 576usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(memoryClockRate) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).memoryBusWidth as *const _ as usize }, - 580usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(memoryBusWidth) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).l2CacheSize as *const _ as usize }, - 584usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(l2CacheSize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).maxThreadsPerMultiProcessor as *const _ as usize }, - 588usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(maxThreadsPerMultiProcessor) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).streamPrioritiesSupported as *const _ as usize }, - 592usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(streamPrioritiesSupported) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).globalL1CacheSupported as *const _ as usize }, - 596usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(globalL1CacheSupported) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).localL1CacheSupported as *const _ as usize }, - 600usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(localL1CacheSupported) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).sharedMemPerMultiprocessor as *const _ as usize }, - 608usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(sharedMemPerMultiprocessor) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).regsPerMultiprocessor as *const _ as usize }, - 616usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(regsPerMultiprocessor) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).managedMemory as *const _ as usize }, - 620usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(managedMemory) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).isMultiGpuBoard as *const _ as usize }, - 624usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(isMultiGpuBoard) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).multiGpuBoardGroupID as *const _ as usize }, - 628usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(multiGpuBoardGroupID) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).hostNativeAtomicSupported as *const _ as usize }, - 632usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(hostNativeAtomicSupported) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).singleToDoublePrecisionPerfRatio as *const _ as usize }, - 636usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(singleToDoublePrecisionPerfRatio) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).pageableMemoryAccess as *const _ as usize }, - 640usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(pageableMemoryAccess) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).concurrentManagedAccess as *const _ as usize }, - 644usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(concurrentManagedAccess) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).computePreemptionSupported as *const _ as usize }, - 648usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(computePreemptionSupported) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).canUseHostPointerForRegisteredMem as *const _ as usize }, - 652usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(canUseHostPointerForRegisteredMem) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).cooperativeLaunch as *const _ as usize }, - 656usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(cooperativeLaunch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).cooperativeMultiDeviceLaunch as *const _ as usize }, - 660usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(cooperativeMultiDeviceLaunch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaDeviceProp)).sharedMemPerBlockOptin as *const _ as usize }, - 664usize, - concat!( - "Offset of field: ", - stringify!(cudaDeviceProp), - "::", - stringify!(sharedMemPerBlockOptin) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaIpcEventHandle_st() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(cudaIpcEventHandle_st)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(cudaIpcEventHandle_st)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaIpcEventHandle_st)).reserved as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaIpcEventHandle_st), - "::", - stringify!(reserved) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaIpcMemHandle_st() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(cudaIpcMemHandle_st)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(cudaIpcMemHandle_st)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaIpcMemHandle_st)).reserved as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaIpcMemHandle_st), - "::", - stringify!(reserved) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaLaunchParams() { - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(cudaLaunchParams)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(cudaLaunchParams)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaLaunchParams)).func as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaLaunchParams), - "::", - stringify!(func) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaLaunchParams)).gridDim as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cudaLaunchParams), - "::", - stringify!(gridDim) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaLaunchParams)).blockDim as *const _ as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(cudaLaunchParams), - "::", - stringify!(blockDim) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaLaunchParams)).args as *const _ as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(cudaLaunchParams), - "::", - stringify!(args) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaLaunchParams)).sharedMem as *const _ as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(cudaLaunchParams), - "::", - stringify!(sharedMem) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaLaunchParams)).stream as *const _ as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(cudaLaunchParams), - "::", - stringify!(stream) - ) - ); -} -#[test] -fn bindgen_test_layout_surfaceReference() { - assert_eq!( - ::std::mem::size_of::(), - 20usize, - concat!("Size of: ", stringify!(surfaceReference)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(surfaceReference)) - ); - assert_eq!( - unsafe { &(*(0 as *const surfaceReference)).channelDesc as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(surfaceReference), - "::", - stringify!(channelDesc) - ) - ); -} -#[test] -fn bindgen_test_layout_textureReference() { - assert_eq!( - ::std::mem::size_of::(), - 124usize, - concat!("Size of: ", stringify!(textureReference)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(textureReference)) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).normalized as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(normalized) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).filterMode as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(filterMode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).addressMode as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(addressMode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).channelDesc as *const _ as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(channelDesc) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).sRGB as *const _ as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(sRGB) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).maxAnisotropy as *const _ as usize }, - 44usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(maxAnisotropy) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).mipmapFilterMode as *const _ as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(mipmapFilterMode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).mipmapLevelBias as *const _ as usize }, - 52usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(mipmapLevelBias) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).minMipmapLevelClamp as *const _ as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(minMipmapLevelClamp) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).maxMipmapLevelClamp as *const _ as usize }, - 60usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(maxMipmapLevelClamp) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const textureReference)).__cudaReserved as *const _ as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(textureReference), - "::", - stringify!(__cudaReserved) - ) - ); -} -#[test] -fn bindgen_test_layout_cudaTextureDesc() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(cudaTextureDesc)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(cudaTextureDesc)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).addressMode as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(addressMode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).filterMode as *const _ as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(filterMode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).readMode as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(readMode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).sRGB as *const _ as usize }, - 20usize, - concat!("Offset of field: ", stringify!(cudaTextureDesc), "::", stringify!(sRGB)) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).borderColor as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(borderColor) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).normalizedCoords as *const _ as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(normalizedCoords) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).maxAnisotropy as *const _ as usize }, - 44usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(maxAnisotropy) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).mipmapFilterMode as *const _ as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(mipmapFilterMode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).mipmapLevelBias as *const _ as usize }, - 52usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(mipmapLevelBias) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).minMipmapLevelClamp as *const _ as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(minMipmapLevelClamp) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const cudaTextureDesc)).maxMipmapLevelClamp as *const _ as usize }, - 60usize, - concat!( - "Offset of field: ", - stringify!(cudaTextureDesc), - "::", - stringify!(maxMipmapLevelClamp) - ) - ); -} diff --git a/src/driver_types.rs b/src/driver_types.rs new file mode 100644 index 0000000..346985a --- /dev/null +++ b/src/driver_types.rs @@ -0,0 +1,8 @@ +#![allow(non_camel_case_types)] +#![allow(non_upper_case_globals)] +#![allow(non_snake_case)] +#![allow(dead_code)] + +use vector_types::dim3; + +include!(concat!(env!("OUT_DIR"), "/driver_types_bindings.rs")); diff --git a/src/lib.rs b/src/lib.rs index 68a42f1..75e7dd2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,9 @@ pub mod cublas; +mod cucomplex; pub mod cuda; pub mod cudart; +mod driver_types; +mod library_types; pub mod vector_types; #[test] @@ -11,6 +14,3 @@ fn cuda_version() { } println!("driver version = {}", d_ver); } - -mod cuda_tests; -mod cudart_tests; diff --git a/src/library_types.rs b/src/library_types.rs new file mode 100644 index 0000000..352af40 --- /dev/null +++ b/src/library_types.rs @@ -0,0 +1,5 @@ +#![allow(non_camel_case_types)] +#![allow(non_upper_case_globals)] +#![allow(non_snake_case)] + +include!(concat!(env!("OUT_DIR"), "/library_types_bindings.rs")); diff --git a/src/vector_types.rs b/src/vector_types.rs index 0484a58..b6dc608 100644 --- a/src/vector_types.rs +++ b/src/vector_types.rs @@ -1,1519 +1,5 @@ -// automatically generated by rust-bindgen +#![allow(non_camel_case_types)] +#![allow(non_upper_case_globals)] +#![allow(non_snake_case)] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct char1 { - pub x: ::std::os::raw::c_schar, -} -#[test] -fn bindgen_test_layout_char1() { - assert_eq!( - ::std::mem::size_of::(), - 1usize, - concat!("Size of: ", stringify!(char1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(char1)) - ); - assert_eq!( - unsafe { &(*(0 as *const char1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(char1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uchar1 { - pub x: ::std::os::raw::c_uchar, -} -#[test] -fn bindgen_test_layout_uchar1() { - assert_eq!( - ::std::mem::size_of::(), - 1usize, - concat!("Size of: ", stringify!(uchar1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(uchar1)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(uchar1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct char2 { - pub x: ::std::os::raw::c_schar, - pub y: ::std::os::raw::c_schar, - pub __bindgen_align: [u16; 0usize], -} -#[test] -fn bindgen_test_layout_char2() { - assert_eq!( - ::std::mem::size_of::(), - 2usize, - concat!("Size of: ", stringify!(char2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(char2)) - ); - assert_eq!( - unsafe { &(*(0 as *const char2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(char2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const char2)).y as *const _ as usize }, - 1usize, - concat!("Offset of field: ", stringify!(char2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uchar2 { - pub x: ::std::os::raw::c_uchar, - pub y: ::std::os::raw::c_uchar, - pub __bindgen_align: [u16; 0usize], -} -#[test] -fn bindgen_test_layout_uchar2() { - assert_eq!( - ::std::mem::size_of::(), - 2usize, - concat!("Size of: ", stringify!(uchar2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(uchar2)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(uchar2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar2)).y as *const _ as usize }, - 1usize, - concat!("Offset of field: ", stringify!(uchar2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct char3 { - pub x: ::std::os::raw::c_schar, - pub y: ::std::os::raw::c_schar, - pub z: ::std::os::raw::c_schar, -} -#[test] -fn bindgen_test_layout_char3() { - assert_eq!( - ::std::mem::size_of::(), - 3usize, - concat!("Size of: ", stringify!(char3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(char3)) - ); - assert_eq!( - unsafe { &(*(0 as *const char3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(char3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const char3)).y as *const _ as usize }, - 1usize, - concat!("Offset of field: ", stringify!(char3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const char3)).z as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(char3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uchar3 { - pub x: ::std::os::raw::c_uchar, - pub y: ::std::os::raw::c_uchar, - pub z: ::std::os::raw::c_uchar, -} -#[test] -fn bindgen_test_layout_uchar3() { - assert_eq!( - ::std::mem::size_of::(), - 3usize, - concat!("Size of: ", stringify!(uchar3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(uchar3)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(uchar3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar3)).y as *const _ as usize }, - 1usize, - concat!("Offset of field: ", stringify!(uchar3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar3)).z as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(uchar3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct char4 { - pub x: ::std::os::raw::c_schar, - pub y: ::std::os::raw::c_schar, - pub z: ::std::os::raw::c_schar, - pub w: ::std::os::raw::c_schar, - pub __bindgen_align: [u32; 0usize], -} -#[test] -fn bindgen_test_layout_char4() { - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(char4)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(char4)) - ); - assert_eq!( - unsafe { &(*(0 as *const char4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(char4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const char4)).y as *const _ as usize }, - 1usize, - concat!("Offset of field: ", stringify!(char4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const char4)).z as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(char4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const char4)).w as *const _ as usize }, - 3usize, - concat!("Offset of field: ", stringify!(char4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uchar4 { - pub x: ::std::os::raw::c_uchar, - pub y: ::std::os::raw::c_uchar, - pub z: ::std::os::raw::c_uchar, - pub w: ::std::os::raw::c_uchar, - pub __bindgen_align: [u32; 0usize], -} -#[test] -fn bindgen_test_layout_uchar4() { - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(uchar4)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(uchar4)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(uchar4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar4)).y as *const _ as usize }, - 1usize, - concat!("Offset of field: ", stringify!(uchar4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar4)).z as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(uchar4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const uchar4)).w as *const _ as usize }, - 3usize, - concat!("Offset of field: ", stringify!(uchar4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct short1 { - pub x: ::std::os::raw::c_short, -} -#[test] -fn bindgen_test_layout_short1() { - assert_eq!( - ::std::mem::size_of::(), - 2usize, - concat!("Size of: ", stringify!(short1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(short1)) - ); - assert_eq!( - unsafe { &(*(0 as *const short1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(short1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ushort1 { - pub x: ::std::os::raw::c_ushort, -} -#[test] -fn bindgen_test_layout_ushort1() { - assert_eq!( - ::std::mem::size_of::(), - 2usize, - concat!("Size of: ", stringify!(ushort1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(ushort1)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ushort1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct short2 { - pub x: ::std::os::raw::c_short, - pub y: ::std::os::raw::c_short, - pub __bindgen_align: [u32; 0usize], -} -#[test] -fn bindgen_test_layout_short2() { - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(short2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(short2)) - ); - assert_eq!( - unsafe { &(*(0 as *const short2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(short2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const short2)).y as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(short2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ushort2 { - pub x: ::std::os::raw::c_ushort, - pub y: ::std::os::raw::c_ushort, - pub __bindgen_align: [u32; 0usize], -} -#[test] -fn bindgen_test_layout_ushort2() { - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(ushort2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ushort2)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ushort2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort2)).y as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(ushort2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct short3 { - pub x: ::std::os::raw::c_short, - pub y: ::std::os::raw::c_short, - pub z: ::std::os::raw::c_short, -} -#[test] -fn bindgen_test_layout_short3() { - assert_eq!( - ::std::mem::size_of::(), - 6usize, - concat!("Size of: ", stringify!(short3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(short3)) - ); - assert_eq!( - unsafe { &(*(0 as *const short3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(short3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const short3)).y as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(short3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const short3)).z as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(short3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ushort3 { - pub x: ::std::os::raw::c_ushort, - pub y: ::std::os::raw::c_ushort, - pub z: ::std::os::raw::c_ushort, -} -#[test] -fn bindgen_test_layout_ushort3() { - assert_eq!( - ::std::mem::size_of::(), - 6usize, - concat!("Size of: ", stringify!(ushort3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(ushort3)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ushort3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort3)).y as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(ushort3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort3)).z as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(ushort3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct short4 { - pub x: ::std::os::raw::c_short, - pub y: ::std::os::raw::c_short, - pub z: ::std::os::raw::c_short, - pub w: ::std::os::raw::c_short, - pub __bindgen_align: [u64; 0usize], -} -#[test] -fn bindgen_test_layout_short4() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(short4)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(short4)) - ); - assert_eq!( - unsafe { &(*(0 as *const short4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(short4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const short4)).y as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(short4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const short4)).z as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(short4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const short4)).w as *const _ as usize }, - 6usize, - concat!("Offset of field: ", stringify!(short4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ushort4 { - pub x: ::std::os::raw::c_ushort, - pub y: ::std::os::raw::c_ushort, - pub z: ::std::os::raw::c_ushort, - pub w: ::std::os::raw::c_ushort, - pub __bindgen_align: [u64; 0usize], -} -#[test] -fn bindgen_test_layout_ushort4() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(ushort4)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(ushort4)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ushort4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort4)).y as *const _ as usize }, - 2usize, - concat!("Offset of field: ", stringify!(ushort4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort4)).z as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(ushort4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const ushort4)).w as *const _ as usize }, - 6usize, - concat!("Offset of field: ", stringify!(ushort4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct int1 { - pub x: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout_int1() { - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(int1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(int1)) - ); - assert_eq!( - unsafe { &(*(0 as *const int1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(int1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uint1 { - pub x: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout_uint1() { - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(uint1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(uint1)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(uint1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct int2 { - pub x: ::std::os::raw::c_int, - pub y: ::std::os::raw::c_int, - pub __bindgen_align: [u64; 0usize], -} -#[test] -fn bindgen_test_layout_int2() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(int2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(int2)) - ); - assert_eq!( - unsafe { &(*(0 as *const int2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(int2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const int2)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(int2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uint2 { - pub x: ::std::os::raw::c_uint, - pub y: ::std::os::raw::c_uint, - pub __bindgen_align: [u64; 0usize], -} -#[test] -fn bindgen_test_layout_uint2() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(uint2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(uint2)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(uint2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint2)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(uint2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct int3 { - pub x: ::std::os::raw::c_int, - pub y: ::std::os::raw::c_int, - pub z: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout_int3() { - assert_eq!( - ::std::mem::size_of::(), - 12usize, - concat!("Size of: ", stringify!(int3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(int3)) - ); - assert_eq!( - unsafe { &(*(0 as *const int3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(int3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const int3)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(int3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const int3)).z as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(int3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uint3 { - pub x: ::std::os::raw::c_uint, - pub y: ::std::os::raw::c_uint, - pub z: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout_uint3() { - assert_eq!( - ::std::mem::size_of::(), - 12usize, - concat!("Size of: ", stringify!(uint3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(uint3)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(uint3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint3)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(uint3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint3)).z as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(uint3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct int4 { - pub x: ::std::os::raw::c_int, - pub y: ::std::os::raw::c_int, - pub z: ::std::os::raw::c_int, - pub w: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout_int4() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(int4)) - ); - assert_eq!( - unsafe { &(*(0 as *const int4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(int4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const int4)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(int4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const int4)).z as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(int4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const int4)).w as *const _ as usize }, - 12usize, - concat!("Offset of field: ", stringify!(int4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uint4 { - pub x: ::std::os::raw::c_uint, - pub y: ::std::os::raw::c_uint, - pub z: ::std::os::raw::c_uint, - pub w: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout_uint4() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(uint4)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(uint4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint4)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(uint4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint4)).z as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(uint4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const uint4)).w as *const _ as usize }, - 12usize, - concat!("Offset of field: ", stringify!(uint4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct long1 { - pub x: ::std::os::raw::c_long, -} -#[test] -fn bindgen_test_layout_long1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(long1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(long1)) - ); - assert_eq!( - unsafe { &(*(0 as *const long1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(long1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ulong1 { - pub x: ::std::os::raw::c_ulong, -} -#[test] -fn bindgen_test_layout_ulong1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(ulong1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(ulong1)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ulong1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct long2 { - pub x: ::std::os::raw::c_long, - pub y: ::std::os::raw::c_long, -} -#[test] -fn bindgen_test_layout_long2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(long2)) - ); - assert_eq!( - unsafe { &(*(0 as *const long2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(long2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const long2)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(long2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ulong2 { - pub x: ::std::os::raw::c_ulong, - pub y: ::std::os::raw::c_ulong, -} -#[test] -fn bindgen_test_layout_ulong2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(ulong2)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ulong2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong2)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(ulong2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct long3 { - pub x: ::std::os::raw::c_long, - pub y: ::std::os::raw::c_long, - pub z: ::std::os::raw::c_long, -} -#[test] -fn bindgen_test_layout_long3() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(long3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(long3)) - ); - assert_eq!( - unsafe { &(*(0 as *const long3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(long3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const long3)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(long3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const long3)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(long3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ulong3 { - pub x: ::std::os::raw::c_ulong, - pub y: ::std::os::raw::c_ulong, - pub z: ::std::os::raw::c_ulong, -} -#[test] -fn bindgen_test_layout_ulong3() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(ulong3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(ulong3)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ulong3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong3)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(ulong3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong3)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(ulong3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct long4 { - pub x: ::std::os::raw::c_long, - pub y: ::std::os::raw::c_long, - pub z: ::std::os::raw::c_long, - pub w: ::std::os::raw::c_long, -} -#[test] -fn bindgen_test_layout_long4() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(long4)) - ); - assert_eq!( - unsafe { &(*(0 as *const long4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(long4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const long4)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(long4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const long4)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(long4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const long4)).w as *const _ as usize }, - 24usize, - concat!("Offset of field: ", stringify!(long4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ulong4 { - pub x: ::std::os::raw::c_ulong, - pub y: ::std::os::raw::c_ulong, - pub z: ::std::os::raw::c_ulong, - pub w: ::std::os::raw::c_ulong, -} -#[test] -fn bindgen_test_layout_ulong4() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(ulong4)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ulong4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong4)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(ulong4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong4)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(ulong4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulong4)).w as *const _ as usize }, - 24usize, - concat!("Offset of field: ", stringify!(ulong4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct float1 { - pub x: f32, -} -#[test] -fn bindgen_test_layout_float1() { - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(float1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(float1)) - ); - assert_eq!( - unsafe { &(*(0 as *const float1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(float1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct float2 { - pub x: f32, - pub y: f32, - pub __bindgen_align: [u64; 0usize], -} -#[test] -fn bindgen_test_layout_float2() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(float2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(float2)) - ); - assert_eq!( - unsafe { &(*(0 as *const float2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(float2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const float2)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(float2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct float3 { - pub x: f32, - pub y: f32, - pub z: f32, -} -#[test] -fn bindgen_test_layout_float3() { - assert_eq!( - ::std::mem::size_of::(), - 12usize, - concat!("Size of: ", stringify!(float3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(float3)) - ); - assert_eq!( - unsafe { &(*(0 as *const float3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(float3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const float3)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(float3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const float3)).z as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(float3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct float4 { - pub x: f32, - pub y: f32, - pub z: f32, - pub w: f32, -} -#[test] -fn bindgen_test_layout_float4() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(float4)) - ); - assert_eq!( - unsafe { &(*(0 as *const float4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(float4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const float4)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(float4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const float4)).z as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(float4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const float4)).w as *const _ as usize }, - 12usize, - concat!("Offset of field: ", stringify!(float4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct longlong1 { - pub x: ::std::os::raw::c_longlong, -} -#[test] -fn bindgen_test_layout_longlong1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(longlong1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(longlong1)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(longlong1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ulonglong1 { - pub x: ::std::os::raw::c_ulonglong, -} -#[test] -fn bindgen_test_layout_ulonglong1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(ulonglong1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(ulonglong1)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ulonglong1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct longlong2 { - pub x: ::std::os::raw::c_longlong, - pub y: ::std::os::raw::c_longlong, -} -#[test] -fn bindgen_test_layout_longlong2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(longlong2)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(longlong2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong2)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(longlong2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ulonglong2 { - pub x: ::std::os::raw::c_ulonglong, - pub y: ::std::os::raw::c_ulonglong, -} -#[test] -fn bindgen_test_layout_ulonglong2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(ulonglong2)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ulonglong2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong2)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(ulonglong2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct longlong3 { - pub x: ::std::os::raw::c_longlong, - pub y: ::std::os::raw::c_longlong, - pub z: ::std::os::raw::c_longlong, -} -#[test] -fn bindgen_test_layout_longlong3() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(longlong3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(longlong3)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(longlong3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong3)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(longlong3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong3)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(longlong3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ulonglong3 { - pub x: ::std::os::raw::c_ulonglong, - pub y: ::std::os::raw::c_ulonglong, - pub z: ::std::os::raw::c_ulonglong, -} -#[test] -fn bindgen_test_layout_ulonglong3() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(ulonglong3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(ulonglong3)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ulonglong3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong3)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(ulonglong3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong3)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(ulonglong3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct longlong4 { - pub x: ::std::os::raw::c_longlong, - pub y: ::std::os::raw::c_longlong, - pub z: ::std::os::raw::c_longlong, - pub w: ::std::os::raw::c_longlong, -} -#[test] -fn bindgen_test_layout_longlong4() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(longlong4)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(longlong4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong4)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(longlong4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong4)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(longlong4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const longlong4)).w as *const _ as usize }, - 24usize, - concat!("Offset of field: ", stringify!(longlong4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ulonglong4 { - pub x: ::std::os::raw::c_ulonglong, - pub y: ::std::os::raw::c_ulonglong, - pub z: ::std::os::raw::c_ulonglong, - pub w: ::std::os::raw::c_ulonglong, -} -#[test] -fn bindgen_test_layout_ulonglong4() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(ulonglong4)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(ulonglong4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong4)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(ulonglong4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong4)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(ulonglong4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const ulonglong4)).w as *const _ as usize }, - 24usize, - concat!("Offset of field: ", stringify!(ulonglong4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct double1 { - pub x: f64, -} -#[test] -fn bindgen_test_layout_double1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(double1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(double1)) - ); - assert_eq!( - unsafe { &(*(0 as *const double1)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(double1), "::", stringify!(x)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct double2 { - pub x: f64, - pub y: f64, -} -#[test] -fn bindgen_test_layout_double2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(double2)) - ); - assert_eq!( - unsafe { &(*(0 as *const double2)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(double2), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const double2)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(double2), "::", stringify!(y)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct double3 { - pub x: f64, - pub y: f64, - pub z: f64, -} -#[test] -fn bindgen_test_layout_double3() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(double3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(double3)) - ); - assert_eq!( - unsafe { &(*(0 as *const double3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(double3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const double3)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(double3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const double3)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(double3), "::", stringify!(z)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct double4 { - pub x: f64, - pub y: f64, - pub z: f64, - pub w: f64, -} -#[test] -fn bindgen_test_layout_double4() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(double4)) - ); - assert_eq!( - unsafe { &(*(0 as *const double4)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(double4), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const double4)).y as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(double4), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const double4)).z as *const _ as usize }, - 16usize, - concat!("Offset of field: ", stringify!(double4), "::", stringify!(z)) - ); - assert_eq!( - unsafe { &(*(0 as *const double4)).w as *const _ as usize }, - 24usize, - concat!("Offset of field: ", stringify!(double4), "::", stringify!(w)) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct dim3 { - pub x: ::std::os::raw::c_uint, - pub y: ::std::os::raw::c_uint, - pub z: ::std::os::raw::c_uint, -} -#[test] -fn bindgen_test_layout_dim3() { - assert_eq!( - ::std::mem::size_of::(), - 12usize, - concat!("Size of: ", stringify!(dim3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(dim3)) - ); - assert_eq!( - unsafe { &(*(0 as *const dim3)).x as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(dim3), "::", stringify!(x)) - ); - assert_eq!( - unsafe { &(*(0 as *const dim3)).y as *const _ as usize }, - 4usize, - concat!("Offset of field: ", stringify!(dim3), "::", stringify!(y)) - ); - assert_eq!( - unsafe { &(*(0 as *const dim3)).z as *const _ as usize }, - 8usize, - concat!("Offset of field: ", stringify!(dim3), "::", stringify!(z)) - ); -} +include!(concat!(env!("OUT_DIR"), "/vector_types_bindings.rs")); diff --git a/wrapper/cublas.h b/wrapper/cublas.h new file mode 100644 index 0000000..66f86a5 --- /dev/null +++ b/wrapper/cublas.h @@ -0,0 +1 @@ +#include diff --git a/wrapper/cucomplex.h b/wrapper/cucomplex.h new file mode 100644 index 0000000..1ae4cc0 --- /dev/null +++ b/wrapper/cucomplex.h @@ -0,0 +1 @@ +#include diff --git a/wrapper/cuda.h b/wrapper/cuda.h new file mode 100644 index 0000000..c2d9f0d --- /dev/null +++ b/wrapper/cuda.h @@ -0,0 +1 @@ +#include diff --git a/wrapper/cudart.h b/wrapper/cudart.h new file mode 100644 index 0000000..a99d35d --- /dev/null +++ b/wrapper/cudart.h @@ -0,0 +1 @@ +#include diff --git a/wrapper/driver_types.h b/wrapper/driver_types.h new file mode 100644 index 0000000..71c8ac3 --- /dev/null +++ b/wrapper/driver_types.h @@ -0,0 +1 @@ +#include diff --git a/wrapper/library_types.h b/wrapper/library_types.h new file mode 100644 index 0000000..f6626c8 --- /dev/null +++ b/wrapper/library_types.h @@ -0,0 +1 @@ +#include diff --git a/wrapper/vector_types.h b/wrapper/vector_types.h new file mode 100644 index 0000000..2d1802d --- /dev/null +++ b/wrapper/vector_types.h @@ -0,0 +1 @@ +#include