cudarc::cublas Module safe Summary Safe abstractions around crate::cublas::result for doing gemm and gemv. Structs AsumConfig Configuration for [Gemm] CudaBlas Wrapper around sys::cublasHandle_t GemmConfig Configuration for Gemm GemvConfig Configuration for Gemv StridedBatchedConfig Configuration for Gemm strided batched call Traits Asum Sum of absolute values with elements of type T. Gemm Matrix matrix multiplication with elements of type T. Gemv Matrix vector multiplication with elements of type T ---------------------- Struct AsumConfig Copy item path Source Search Settings Help Summary pub struct AsumConfig { pub n: c_int, pub incx: c_int, } Configuration for [Gemm] Fields n: c_int incx: c_int Trait Implementations Source impl Clone for AsumConfig Source fn clone(&self) -> AsumConfig Returns a duplicate of the value. Read more 1.0.0 · Source fn clone_from(&mut self, source: &Self) Performs copy-assignment from source. Read more Source impl Debug for AsumConfig Source fn fmt(&self, f: &mut Formatter<'_>) -> Result Formats the value using the given formatter. Read more Source impl Copy for AsumConfig Auto Trait Implementations impl Freeze for AsumConfig impl RefUnwindSafe for AsumConfig impl Send for AsumConfig impl Sync for AsumConfig impl Unpin for AsumConfig impl UnwindSafe for AsumConfig Blanket Implementations Source impl Any for T where T: 'static + ?Sized, Source impl Borrow for T where T: ?Sized, Source impl BorrowMut for T where T: ?Sized, Source impl CloneToUninit for T where T: Clone, Source impl From for T Source impl Into for T where U: From, Source impl ToOwned for T where T: Clone, Source impl TryFrom for T where U: Into, Source impl TryInto for T where U: TryFrom, Source impl VZip for T where V: MultiLane, ----------------------------- Struct CudaBlas Copy item path Source Search Settings Help Summary pub struct CudaBlas { /* private fields */ } Wrapper around sys::cublasHandle_t Create with CudaBlas::new() Execute gemm/gemv kernels with Gemv and Gemm. Both f32 and f64 are supported for both Note: This maintains a instance of Arc, so will prevent the device from being dropped. Implementations Source impl CudaBlas Source pub fn new(stream: Arc) -> Result Creates a new cublas handle and sets the stream to the device’s stream. Source pub fn handle(&self) -> &cublasHandle_t Returns a reference to the underlying cublas handle. Source pub unsafe fn set_stream( &mut self, stream: Arc, ) -> Result<(), CublasError> Sets the handle’s current to either the stream specified, or the device’s default work stream. Safety This is unsafe because you can end up scheduling multiple concurrent kernels that all write to the same memory address. Source pub fn set_pointer_mode( &self, pointer_mode: cublasPointerMode_t, ) -> Result<(), CublasError> Set the handle’s pointer mode. ref: https://docs.nvidia.com/cuda/cublas/#cublassetpointermode Some cublas functions require the pointer mode to be set to cublasPointerMode_t::CUBLAS_POINTER_MODE_DEVICE when passing a device memory result buffer into the function, such as cublasasum(). Otherwise the operation will panic with SIGSEGV: invalid memory reference, or one has to use a host memory reference, which has performance implications. Source pub fn get_pointer_mode(&self) -> Result Get the handle’s current pointer mode. ref: https://docs.nvidia.com/cuda/cublas/#cublasgetpointermode Trait Implementations Source impl Asum for CudaBlas Source unsafe fn asum>( &self, cfg: AsumConfig, x: &X, result: &mut f32, ) -> Result<(), CublasError> Sum of absolute values. See nvidia docs Read more Source impl Asum for CudaBlas Source unsafe fn asum>( &self, cfg: AsumConfig, x: &X, result: &mut f64, ) -> Result<(), CublasError> Sum of absolute values. See nvidia docs Read more Source impl Debug for CudaBlas Source fn fmt(&self, f: &mut Formatter<'_>) -> Result Formats the value using the given formatter. Read more Source impl Drop for CudaBlas Source fn drop(&mut self) Executes the destructor for this type. Read more Source impl Gemm for CudaBlas Source unsafe fn gemm, B: DevicePtr, C: DevicePtrMut>( &self, cfg: GemmConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Matrix matrix multiplication. See nvidia docs Read more Source unsafe fn gemm_strided_batched, B: DevicePtr, C: DevicePtrMut>( &self, cfg: StridedBatchedConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Batched matrix multiplication with stride support on batch dimension. See nvidia docs Read more Source impl Gemm for CudaBlas Source unsafe fn gemm, B: DevicePtr, C: DevicePtrMut>( &self, cfg: GemmConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Matrix matrix multiplication. See nvidia docs Read more Source unsafe fn gemm_strided_batched, B: DevicePtr, C: DevicePtrMut>( &self, cfg: StridedBatchedConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Batched matrix multiplication with stride support on batch dimension. See nvidia docs Read more Source impl Gemm for CudaBlas Source unsafe fn gemm, B: DevicePtr, C: DevicePtrMut>( &self, cfg: GemmConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Matrix matrix multiplication. See nvidia docs Read more Source unsafe fn gemm_strided_batched, B: DevicePtr, C: DevicePtrMut>( &self, cfg: StridedBatchedConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Batched matrix multiplication with stride support on batch dimension. See nvidia docs Read more Source impl Gemm for CudaBlas Source unsafe fn gemm, B: DevicePtr, C: DevicePtrMut>( &self, cfg: GemmConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Matrix matrix multiplication. See nvidia docs Read more Source unsafe fn gemm_strided_batched, B: DevicePtr, C: DevicePtrMut>( &self, cfg: StridedBatchedConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Batched matrix multiplication with stride support on batch dimension. See nvidia docs Read more Source impl Gemv for CudaBlas Source unsafe fn gemv, X: DevicePtr, Y: DevicePtrMut>( &self, cfg: GemvConfig, a: &A, x: &X, y: &mut Y, ) -> Result<(), CublasError> Matrix vector multiplication. Read more Source impl Gemv for CudaBlas Source unsafe fn gemv, X: DevicePtr, Y: DevicePtrMut>( &self, cfg: GemvConfig, a: &A, x: &X, y: &mut Y, ) -> Result<(), CublasError> Matrix vector multiplication. Read more Source impl Send for CudaBlas Source impl Sync for CudaBlas Auto Trait Implementations impl Freeze for CudaBlas impl RefUnwindSafe for CudaBlas impl Unpin for CudaBlas impl UnwindSafe for CudaBlas Blanket Implementations Source impl Any for T where T: 'static + ?Sized, Source impl Borrow for T where T: ?Sized, Source impl BorrowMut for T where T: ?Sized, Source impl From for T Source impl Into for T where U: From, Source impl TryFrom for T where U: Into, Source impl TryInto for T where U: TryFrom, Source impl VZip for T where V: MultiLane, ------------------------------- Struct GemmConfig Copy item path Source Search Settings Help Summary pub struct GemmConfig { pub transa: cublasOperation_t, pub transb: cublasOperation_t, pub m: c_int, pub n: c_int, pub k: c_int, pub alpha: T, pub lda: c_int, pub ldb: c_int, pub beta: T, pub ldc: c_int, } Configuration for Gemm Fields transa: cublasOperation_t transb: cublasOperation_t m: c_int n: c_int k: c_int alpha: T lda: c_int ldb: c_int beta: T ldc: c_int Trait Implementations Source impl Clone for GemmConfig Source fn clone(&self) -> GemmConfig Returns a duplicate of the value. Read more 1.0.0 · Source fn clone_from(&mut self, source: &Self) Performs copy-assignment from source. Read more Source impl Debug for GemmConfig Source fn fmt(&self, f: &mut Formatter<'_>) -> Result Formats the value using the given formatter. Read more Source impl Copy for GemmConfig Auto Trait Implementations impl Freeze for GemmConfig where T: Freeze, impl RefUnwindSafe for GemmConfig where T: RefUnwindSafe, impl Send for GemmConfig where T: Send, impl Sync for GemmConfig where T: Sync, impl Unpin for GemmConfig where T: Unpin, impl UnwindSafe for GemmConfig where T: UnwindSafe, Blanket Implementations Source impl Any for T where T: 'static + ?Sized, Source impl Borrow for T where T: ?Sized, Source impl BorrowMut for T where T: ?Sized, Source impl CloneToUninit for T where T: Clone, Source impl From for T Source impl Into for T where U: From, Source impl ToOwned for T where T: Clone, Source impl TryFrom for T where U: Into, Source impl TryInto for T where U: TryFrom, Source§ impl VZip for T where V: MultiLane, ----------------------------- Struct GemvConfig Copy item path Source Search Settings Help Summary pub struct GemvConfig { pub trans: cublasOperation_t, pub m: c_int, pub n: c_int, pub alpha: T, pub lda: c_int, pub incx: c_int, pub beta: T, pub incy: c_int, } Configuration for Gemv Fields trans: cublasOperation_t m: c_int n: c_int alpha: T lda: c_int incx: c_int beta: T incy: c_int Trait Implementations Source impl Clone for GemvConfig Source fn clone(&self) -> GemvConfig Returns a duplicate of the value. Read more 1.0.0 · Source fn clone_from(&mut self, source: &Self) Performs copy-assignment from source. Read more Source impl Debug for GemvConfig Source fn fmt(&self, f: &mut Formatter<'_>) -> Result Formats the value using the given formatter. Read more Source impl Copy for GemvConfig Auto Trait Implementations impl Freeze for GemvConfig where T: Freeze, impl RefUnwindSafe for GemvConfig where T: RefUnwindSafe, impl Send for GemvConfig where T: Send, impl Sync for GemvConfig where T: Sync, impl Unpin for GemvConfig where T: Unpin, impl UnwindSafe for GemvConfig where T: UnwindSafe, Blanket Implementations Source impl Any for T where T: 'static + ?Sized, Source impl Borrow for T where T: ?Sized, Source impl BorrowMut for T where T: ?Sized, Source impl CloneToUninit for T where T: Clone, Source impl From for T Source impl Into for T where U: From, Source impl ToOwned for T where T: Clone, Source impl TryFrom for T where U: Into, Source impl TryInto for T where U: TryFrom, Source§ impl VZip for T where V: MultiLane, ------------------------------ Struct StridedBatchedConfig Copy item path Source Search Settings Help Summary pub struct StridedBatchedConfig { pub gemm: GemmConfig, pub batch_size: c_int, pub stride_a: c_longlong, pub stride_b: c_longlong, pub stride_c: c_longlong, } Configuration for Gemm strided batched call Fields gemm: GemmConfig batch_size: c_int stride_a: c_longlong stride_b: c_longlong stride_c: c_longlong Trait Implementations Source impl Clone for StridedBatchedConfig Source fn clone(&self) -> StridedBatchedConfig Returns a duplicate of the value. Read more 1.0.0 · Source fn clone_from(&mut self, source: &Self) Performs copy-assignment from source. Read more Source impl Debug for StridedBatchedConfig Source fn fmt(&self, f: &mut Formatter<'_>) -> Result Formats the value using the given formatter. Read more Source impl Copy for StridedBatchedConfig Auto Trait Implementations impl Freeze for StridedBatchedConfig where T: Freeze, impl RefUnwindSafe for StridedBatchedConfig where T: RefUnwindSafe, impl Send for StridedBatchedConfig where T: Send, impl Sync for StridedBatchedConfig where T: Sync, impl Unpin for StridedBatchedConfig where T: Unpin, impl UnwindSafe for StridedBatchedConfig where T: UnwindSafe, Blanket Implementations Source impl Any for T where T: 'static + ?Sized, Source impl Borrow for T where T: ?Sized, Source impl BorrowMut for T where T: ?Sized, Source impl CloneToUninit for T where T: Clone, Source impl From for T Source impl Into for T where U: From, Source impl ToOwned for T where T: Clone, Source impl TryFrom for T where U: Into, Source impl TryInto for T where U: TryFrom, Source§ impl VZip for T where V: MultiLane, ------------------------------- Trait Asum Copy item path Source Search Settings Help Summary pub trait Asum { // Required method unsafe fn asum>( &self, cfg: AsumConfig, x: &X, result: &mut T, ) -> Result<(), CublasError>; } Sum of absolute values with elements of type T. Required Methods Source unsafe fn asum>( &self, cfg: AsumConfig, x: &X, result: &mut T, ) -> Result<(), CublasError> Sum of absolute values. See nvidia docs Safety This is unsafe because improper arguments may lead to invalid memory accesses. Dyn Compatibility This trait is not dyn compatible. In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe. Implementors Source impl Asum for CudaBlas Source impl Asum for CudaBlas -------------------------------------- Trait Gemm Copy item path Source Search Settings Help Summary pub trait Gemm { // Required methods unsafe fn gemm, B: DevicePtr, C: DevicePtrMut>( &self, cfg: GemmConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError>; unsafe fn gemm_strided_batched, B: DevicePtr, C: DevicePtrMut>( &self, cfg: StridedBatchedConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError>; } Matrix matrix multiplication with elements of type T. Required Methods Source unsafe fn gemm, B: DevicePtr, C: DevicePtrMut>( &self, cfg: GemmConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Matrix matrix multiplication. See nvidia docs Safety This is unsafe because improper arguments may lead to invalid memory accesses. Source unsafe fn gemm_strided_batched, B: DevicePtr, C: DevicePtrMut>( &self, cfg: StridedBatchedConfig, a: &A, b: &B, c: &mut C, ) -> Result<(), CublasError> Batched matrix multiplication with stride support on batch dimension. See nvidia docs Safety This is unsafe because improper arguments may lead to invalid memory accesses. Dyn Compatibility This trait is not dyn compatible. In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe. Implementors Source impl Gemm for CudaBlas Source impl Gemm for CudaBlas Source impl Gemm for CudaBlas Source impl Gemm for CudaBlas --------------------------------------- Trait Gemv Copy item path Source Search Settings Help Summary pub trait Gemv { // Required method unsafe fn gemv, X: DevicePtr, Y: DevicePtrMut>( &self, cfg: GemvConfig, a: &A, x: &X, y: &mut Y, ) -> Result<(), CublasError>; } Matrix vector multiplication with elements of type T Required Methods Source unsafe fn gemv, X: DevicePtr, Y: DevicePtrMut>( &self, cfg: GemvConfig, a: &A, x: &X, y: &mut Y, ) -> Result<(), CublasError> Matrix vector multiplication. Safety This is unsafe because improper arguments may lead to invalid memory accesses. Dyn Compatibility This trait is not dyn compatible. In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe. Implementors Source impl Gemv for CudaBlas Source impl Gemv for CudaBlas ------------------------------------------ cudarc::cublas Module result Copy item path Source Search Settings Help Summary Structs CublasError Functions create_handle Creates a handle to the cuBLAS library. See nvidia docs dasum⚠ Double precision sum of abosolute values. See nvidia docs destroy_handle⚠ Destroys a handle previously created with create_handle(). See nvidia docs dgemm⚠ Double precision matmul. See nvidia docs dgemm_strided_batched⚠ Double precision batched matmul. See nvidia docs dgemv⚠ Double precision matrix vector multiplication. See nvidia docs gemm_ex⚠ Matmul with data types specified as parameters. See nvidia docs gemm_strided_batched_ex⚠ Strided batched matmul with data types specified as parameters. See nvidia docs hgemm⚠ Half precision matmul. See nvidia docs hgemm_strided_batched⚠ Half precision batched matmul. See nvidia docs sasum⚠ Single precision sum of abosolute values. See nvidia docs set_stream⚠ Sets the stream cuBLAS will use. See nvidia docs sgemm⚠ Single precision matmul. See nvidia docs sgemm_strided_batched⚠ Single precision batched matmul. See nvidia docs sgemv⚠ Single precision matrix vector multiplication. See nvidia docs ----------------------------------------- cudarc::cublas Module sys Copy item path Source Search Settings Help Summary Re-exports pub use self::cudaDataType as cublasDataType_t; pub use self::cudaDataType_t as cudaDataType; pub use self::libraryPropertyType_t as libraryPropertyType; Structs CUstream_st Lib cublasContext double2 float2 Enums cublasAtomicsMode_t cublasComputeType_t cublasDiagType_t cublasEmulationStrategy_t cublasFillMode_t cublasGemmAlgo_t cublasMath_t cublasOperation_t cublasPointerMode_t cublasSideMode_t cublasStatus_t cudaDataType_t libraryPropertyType_t Functions cublasAsumEx⚠ cublasAsumEx_64⚠ cublasAxpyEx⚠ cublasAxpyEx_64⚠ cublasCaxpy_v2⚠ cublasCaxpy_v2_64⚠ cublasCcopy_v2⚠ cublasCcopy_v2_64⚠ cublasCdgmm⚠ cublasCdgmm_64⚠ cublasCdotc_v2⚠ cublasCdotc_v2_64⚠ cublasCdotu_v2⚠ cublasCdotu_v2_64⚠ cublasCgbmv_v2⚠ cublasCgbmv_v2_64⚠ cublasCgeam⚠ cublasCgeam_64⚠ cublasCgelsBatched⚠ cublasCgemm3m⚠ cublasCgemm3mBatched⚠ cublasCgemm3mBatched_64⚠ cublasCgemm3mEx⚠ cublasCgemm3mEx_64⚠ cublasCgemm3mStridedBatched⚠ cublasCgemm3mStridedBatched_64⚠ cublasCgemm3m_64⚠ cublasCgemmBatched⚠ cublasCgemmBatched_64⚠ cublasCgemmEx⚠ cublasCgemmEx_64⚠ cublasCgemmStridedBatched⚠ cublasCgemmStridedBatched_64⚠ cublasCgemm_v2⚠ cublasCgemm_v2_64⚠ cublasCgemvBatched⚠ cublasCgemvBatched_64⚠ cublasCgemvStridedBatched⚠ cublasCgemvStridedBatched_64⚠ cublasCgemv_v2⚠ cublasCgemv_v2_64⚠ cublasCgeqrfBatched⚠ cublasCgerc_v2⚠ cublasCgerc_v2_64⚠ cublasCgeru_v2⚠ cublasCgeru_v2_64⚠ cublasCgetrfBatched⚠ cublasCgetriBatched⚠ cublasCgetrsBatched⚠ cublasChbmv_v2⚠ cublasChbmv_v2_64⚠ cublasChemm_v2⚠ cublasChemm_v2_64⚠ cublasChemv_v2⚠ cublasChemv_v2_64⚠ cublasCher2_v2⚠ cublasCher2_v2_64⚠ cublasCher2k_v2⚠ cublasCher2k_v2_64⚠ cublasCher_v2⚠ cublasCher_v2_64⚠ cublasCherk3mEx⚠ cublasCherk3mEx_64⚠ cublasCherkEx⚠ cublasCherkEx_64⚠ cublasCherk_v2⚠ cublasCherk_v2_64⚠ cublasCherkx⚠ cublasCherkx_64⚠ cublasChpmv_v2⚠ cublasChpmv_v2_64⚠ cublasChpr2_v2⚠ cublasChpr2_v2_64⚠ cublasChpr_v2⚠ cublasChpr_v2_64⚠ cublasCmatinvBatched⚠ cublasCopyEx⚠ cublasCopyEx_64⚠ cublasCreate_v2⚠ cublasCrot_v2⚠ cublasCrot_v2_64⚠ cublasCrotg_v2⚠ cublasCscal_v2⚠ cublasCscal_v2_64⚠ cublasCsrot_v2⚠ cublasCsrot_v2_64⚠ cublasCsscal_v2⚠ cublasCsscal_v2_64⚠ cublasCswap_v2⚠ cublasCswap_v2_64⚠ cublasCsymm_v2⚠ cublasCsymm_v2_64⚠ cublasCsymv_v2⚠ cublasCsymv_v2_64⚠ cublasCsyr2_v2⚠ cublasCsyr2_v2_64⚠ cublasCsyr2k_v2⚠ cublasCsyr2k_v2_64⚠ cublasCsyr_v2⚠ cublasCsyr_v2_64⚠ cublasCsyrk3mEx⚠ cublasCsyrk3mEx_64⚠ cublasCsyrkEx⚠ cublasCsyrkEx_64⚠ cublasCsyrk_v2⚠ cublasCsyrk_v2_64⚠ cublasCsyrkx⚠ cublasCsyrkx_64⚠ cublasCtbmv_v2⚠ cublasCtbmv_v2_64⚠ cublasCtbsv_v2⚠ cublasCtbsv_v2_64⚠ cublasCtpmv_v2⚠ cublasCtpmv_v2_64⚠ cublasCtpsv_v2⚠ cublasCtpsv_v2_64⚠ cublasCtpttr⚠ cublasCtrmm_v2⚠ cublasCtrmm_v2_64⚠ cublasCtrmv_v2⚠ cublasCtrmv_v2_64⚠ cublasCtrsmBatched⚠ cublasCtrsmBatched_64⚠ cublasCtrsm_v2⚠ cublasCtrsm_v2_64⚠ cublasCtrsv_v2⚠ cublasCtrsv_v2_64⚠ cublasCtrttp⚠ cublasDasum_v2⚠ cublasDasum_v2_64⚠ cublasDaxpy_v2⚠ cublasDaxpy_v2_64⚠ cublasDcopy_v2⚠ cublasDcopy_v2_64⚠ cublasDdgmm⚠ cublasDdgmm_64⚠ cublasDdot_v2⚠ cublasDdot_v2_64⚠ cublasDestroy_v2⚠ cublasDgbmv_v2⚠ cublasDgbmv_v2_64⚠ cublasDgeam⚠ cublasDgeam_64⚠ cublasDgelsBatched⚠ cublasDgemmBatched⚠ cublasDgemmBatched_64⚠ cublasDgemmGroupedBatched⚠ cublasDgemmGroupedBatched_64⚠ cublasDgemmStridedBatched⚠ cublasDgemmStridedBatched_64⚠ cublasDgemm_v2⚠ cublasDgemm_v2_64⚠ cublasDgemvBatched⚠ cublasDgemvBatched_64⚠ cublasDgemvStridedBatched⚠ cublasDgemvStridedBatched_64⚠ cublasDgemv_v2⚠ cublasDgemv_v2_64⚠ cublasDgeqrfBatched⚠ cublasDger_v2⚠ cublasDger_v2_64⚠ cublasDgetrfBatched⚠ cublasDgetriBatched⚠ cublasDgetrsBatched⚠ cublasDmatinvBatched⚠ cublasDnrm2_v2⚠ cublasDnrm2_v2_64⚠ cublasDotEx⚠ cublasDotEx_64⚠ cublasDotcEx⚠ cublasDotcEx_64⚠ cublasDrot_v2⚠ cublasDrot_v2_64⚠ cublasDrotg_v2⚠ cublasDrotm_v2⚠ cublasDrotm_v2_64⚠ cublasDrotmg_v2⚠ cublasDsbmv_v2⚠ cublasDsbmv_v2_64⚠ cublasDscal_v2⚠ cublasDscal_v2_64⚠ cublasDspmv_v2⚠ cublasDspmv_v2_64⚠ cublasDspr2_v2⚠ cublasDspr2_v2_64⚠ cublasDspr_v2⚠ cublasDspr_v2_64⚠ cublasDswap_v2⚠ cublasDswap_v2_64⚠ cublasDsymm_v2⚠ cublasDsymm_v2_64⚠ cublasDsymv_v2⚠ cublasDsymv_v2_64⚠ cublasDsyr2_v2⚠ cublasDsyr2_v2_64⚠ cublasDsyr2k_v2⚠ cublasDsyr2k_v2_64⚠ cublasDsyr_v2⚠ cublasDsyr_v2_64⚠ cublasDsyrk_v2⚠ cublasDsyrk_v2_64⚠ cublasDsyrkx⚠ cublasDsyrkx_64⚠ cublasDtbmv_v2⚠ cublasDtbmv_v2_64⚠ cublasDtbsv_v2⚠ cublasDtbsv_v2_64⚠ cublasDtpmv_v2⚠ cublasDtpmv_v2_64⚠ cublasDtpsv_v2⚠ cublasDtpsv_v2_64⚠ cublasDtpttr⚠ cublasDtrmm_v2⚠ cublasDtrmm_v2_64⚠ cublasDtrmv_v2⚠ cublasDtrmv_v2_64⚠ cublasDtrsmBatched⚠ cublasDtrsmBatched_64⚠ cublasDtrsm_v2⚠ cublasDtrsm_v2_64⚠ cublasDtrsv_v2⚠ cublasDtrsv_v2_64⚠ cublasDtrttp⚠ cublasDzasum_v2⚠ cublasDzasum_v2_64⚠ cublasDznrm2_v2⚠ cublasDznrm2_v2_64⚠ cublasGemmBatchedEx⚠ cublasGemmBatchedEx_64⚠ cublasGemmEx⚠ cublasGemmEx_64⚠ cublasGemmGroupedBatchedEx⚠ cublasGemmGroupedBatchedEx_64⚠ cublasGemmStridedBatchedEx⚠ cublasGemmStridedBatchedEx_64⚠ cublasGetAtomicsMode⚠ cublasGetCudartVersion⚠ cublasGetEmulationStrategy⚠ cublasGetLoggerCallback⚠ cublasGetMathMode⚠ cublasGetMatrix⚠ cublasGetMatrixAsync⚠ cublasGetMatrixAsync_64⚠ cublasGetMatrix_64⚠ cublasGetPointerMode_v2⚠ cublasGetProperty⚠ cublasGetSmCountTarget⚠ cublasGetStatusName⚠ cublasGetStatusString⚠ cublasGetStream_v2⚠ cublasGetVector⚠ cublasGetVectorAsync⚠ cublasGetVectorAsync_64⚠ cublasGetVector_64⚠ cublasGetVersion_v2⚠ cublasIamaxEx⚠ cublasIamaxEx_64⚠ cublasIaminEx⚠ cublasIaminEx_64⚠ cublasIcamax_v2⚠ cublasIcamax_v2_64⚠ cublasIcamin_v2⚠ cublasIcamin_v2_64⚠ cublasIdamax_v2⚠ cublasIdamax_v2_64⚠ cublasIdamin_v2⚠ cublasIdamin_v2_64⚠ cublasIsamax_v2⚠ cublasIsamax_v2_64⚠ cublasIsamin_v2⚠ cublasIsamin_v2_64⚠ cublasIzamax_v2⚠ cublasIzamax_v2_64⚠ cublasIzamin_v2⚠ cublasIzamin_v2_64⚠ cublasLoggerConfigure⚠ cublasNrm2Ex⚠ cublasNrm2Ex_64⚠ cublasRotEx⚠ cublasRotEx_64⚠ cublasRotgEx⚠ cublasRotmEx⚠ cublasRotmEx_64⚠ cublasRotmgEx⚠ cublasSasum_v2⚠ cublasSasum_v2_64⚠ cublasSaxpy_v2⚠ cublasSaxpy_v2_64⚠ cublasScalEx⚠ cublasScalEx_64⚠ cublasScasum_v2⚠ cublasScasum_v2_64⚠ cublasScnrm2_v2⚠ cublasScnrm2_v2_64⚠ cublasScopy_v2⚠ cublasScopy_v2_64⚠ cublasSdgmm⚠ cublasSdgmm_64⚠ cublasSdot_v2⚠ cublasSdot_v2_64⚠ cublasSetAtomicsMode⚠ cublasSetEmulationStrategy⚠ cublasSetLoggerCallback⚠ cublasSetMathMode⚠ cublasSetMatrix⚠ cublasSetMatrixAsync⚠ cublasSetMatrixAsync_64⚠ cublasSetMatrix_64⚠ cublasSetPointerMode_v2⚠ cublasSetSmCountTarget⚠ cublasSetStream_v2⚠ cublasSetVector⚠ cublasSetVectorAsync⚠ cublasSetVectorAsync_64⚠ cublasSetVector_64⚠ cublasSetWorkspace_v2⚠ cublasSgbmv_v2⚠ cublasSgbmv_v2_64⚠ cublasSgeam⚠ cublasSgeam_64⚠ cublasSgelsBatched⚠ cublasSgemmBatched⚠ cublasSgemmBatched_64⚠ cublasSgemmEx⚠ cublasSgemmEx_64⚠ cublasSgemmGroupedBatched⚠ cublasSgemmGroupedBatched_64⚠ cublasSgemmStridedBatched⚠ cublasSgemmStridedBatched_64⚠ cublasSgemm_v2⚠ cublasSgemm_v2_64⚠ cublasSgemvBatched⚠ cublasSgemvBatched_64⚠ cublasSgemvStridedBatched⚠ cublasSgemvStridedBatched_64⚠ cublasSgemv_v2⚠ cublasSgemv_v2_64⚠ cublasSgeqrfBatched⚠ cublasSger_v2⚠ cublasSger_v2_64⚠ cublasSgetrfBatched⚠ cublasSgetriBatched⚠ cublasSgetrsBatched⚠ cublasSmatinvBatched⚠ cublasSnrm2_v2⚠ cublasSnrm2_v2_64⚠ cublasSrot_v2⚠ cublasSrot_v2_64⚠ cublasSrotg_v2⚠ cublasSrotm_v2⚠ cublasSrotm_v2_64⚠ cublasSrotmg_v2⚠ cublasSsbmv_v2⚠ cublasSsbmv_v2_64⚠ cublasSscal_v2⚠ cublasSscal_v2_64⚠ cublasSspmv_v2⚠ cublasSspmv_v2_64⚠ cublasSspr2_v2⚠ cublasSspr2_v2_64⚠ cublasSspr_v2⚠ cublasSspr_v2_64⚠ cublasSswap_v2⚠ cublasSswap_v2_64⚠ cublasSsymm_v2⚠ cublasSsymm_v2_64⚠ cublasSsymv_v2⚠ cublasSsymv_v2_64⚠ cublasSsyr2_v2⚠ cublasSsyr2_v2_64⚠ cublasSsyr2k_v2⚠ cublasSsyr2k_v2_64⚠ cublasSsyr_v2⚠ cublasSsyr_v2_64⚠ cublasSsyrk_v2⚠ cublasSsyrk_v2_64⚠ cublasSsyrkx⚠ cublasSsyrkx_64⚠ cublasStbmv_v2⚠ cublasStbmv_v2_64⚠ cublasStbsv_v2⚠ cublasStbsv_v2_64⚠ cublasStpmv_v2⚠ cublasStpmv_v2_64⚠ cublasStpsv_v2⚠ cublasStpsv_v2_64⚠ cublasStpttr⚠ cublasStrmm_v2⚠ cublasStrmm_v2_64⚠ cublasStrmv_v2⚠ cublasStrmv_v2_64⚠ cublasStrsmBatched⚠ cublasStrsmBatched_64⚠ cublasStrsm_v2⚠ cublasStrsm_v2_64⚠ cublasStrsv_v2⚠ cublasStrsv_v2_64⚠ cublasStrttp⚠ cublasSwapEx⚠ cublasSwapEx_64⚠ cublasUint8gemmBias⚠ cublasXerbla⚠ cublasZaxpy_v2⚠ cublasZaxpy_v2_64⚠ cublasZcopy_v2⚠ cublasZcopy_v2_64⚠ cublasZdgmm⚠ cublasZdgmm_64⚠ cublasZdotc_v2⚠ cublasZdotc_v2_64⚠ cublasZdotu_v2⚠ cublasZdotu_v2_64⚠ cublasZdrot_v2⚠ cublasZdrot_v2_64⚠ cublasZdscal_v2⚠ cublasZdscal_v2_64⚠ cublasZgbmv_v2⚠ cublasZgbmv_v2_64⚠ cublasZgeam⚠ cublasZgeam_64⚠ cublasZgelsBatched⚠ cublasZgemm3m⚠ cublasZgemm3m_64⚠ cublasZgemmBatched⚠ cublasZgemmBatched_64⚠ cublasZgemmStridedBatched⚠ cublasZgemmStridedBatched_64⚠ cublasZgemm_v2⚠ cublasZgemm_v2_64⚠ cublasZgemvBatched⚠ cublasZgemvBatched_64⚠ cublasZgemvStridedBatched⚠ cublasZgemvStridedBatched_64⚠ cublasZgemv_v2⚠ cublasZgemv_v2_64⚠ cublasZgeqrfBatched⚠ cublasZgerc_v2⚠ cublasZgerc_v2_64⚠ cublasZgeru_v2⚠ cublasZgeru_v2_64⚠ cublasZgetrfBatched⚠ cublasZgetriBatched⚠ cublasZgetrsBatched⚠ cublasZhbmv_v2⚠ cublasZhbmv_v2_64⚠ cublasZhemm_v2⚠ cublasZhemm_v2_64⚠ cublasZhemv_v2⚠ cublasZhemv_v2_64⚠ cublasZher2_v2⚠ cublasZher2_v2_64⚠ cublasZher2k_v2⚠ cublasZher2k_v2_64⚠ cublasZher_v2⚠ cublasZher_v2_64⚠ cublasZherk_v2⚠ cublasZherk_v2_64⚠ cublasZherkx⚠ cublasZherkx_64⚠ cublasZhpmv_v2⚠ cublasZhpmv_v2_64⚠ cublasZhpr2_v2⚠ cublasZhpr2_v2_64⚠ cublasZhpr_v2⚠ cublasZhpr_v2_64⚠ cublasZmatinvBatched⚠ cublasZrot_v2⚠ cublasZrot_v2_64⚠ cublasZrotg_v2⚠ cublasZscal_v2⚠ cublasZscal_v2_64⚠ cublasZswap_v2⚠ cublasZswap_v2_64⚠ cublasZsymm_v2⚠ cublasZsymm_v2_64⚠ cublasZsymv_v2⚠ cublasZsymv_v2_64⚠ cublasZsyr2_v2⚠ cublasZsyr2_v2_64⚠ cublasZsyr2k_v2⚠ cublasZsyr2k_v2_64⚠ cublasZsyr_v2⚠ cublasZsyr_v2_64⚠ cublasZsyrk_v2⚠ cublasZsyrk_v2_64⚠ cublasZsyrkx⚠ cublasZsyrkx_64⚠ cublasZtbmv_v2⚠ cublasZtbmv_v2_64⚠ cublasZtbsv_v2⚠ cublasZtbsv_v2_64⚠ cublasZtpmv_v2⚠ cublasZtpmv_v2_64⚠ cublasZtpsv_v2⚠ cublasZtpsv_v2_64⚠ cublasZtpttr⚠ cublasZtrmm_v2⚠ cublasZtrmm_v2_64⚠ cublasZtrmv_v2⚠ cublasZtrmv_v2_64⚠ cublasZtrsmBatched⚠ cublasZtrsmBatched_64⚠ cublasZtrsm_v2⚠ cublasZtrsm_v2_64⚠ cublasZtrsv_v2⚠ cublasZtrsv_v2_64⚠ cublasZtrttp⚠ culib⚠ is_culib_present⚠ Type Aliases cuComplex cuDoubleComplex cuFloatComplex cublasHandle_t cublasLogCallback cudaStream_t