Files
rustytorch/cudarc/cublas.md
T
2026-03-04 00:08:42 +00:00

1396 lines
29 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<T> Any for T
where
T: 'static + ?Sized,
Source
impl<T> Borrow<T> for T
where
T: ?Sized,
Source
impl<T> BorrowMut<T> for T
where
T: ?Sized,
Source
impl<T> CloneToUninit for T
where
T: Clone,
Source
impl<T> From<T> for T
Source
impl<T, U> Into<U> for T
where
U: From<T>,
Source
impl<T> ToOwned for T
where
T: Clone,
Source
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
Source
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
Source
impl<V, T> VZip<V> for T
where
V: MultiLane<T>,
-----------------------------
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<CudaDevice>, so will prevent the device from being dropped.
Implementations
Source
impl CudaBlas
Source
pub fn new(stream: Arc<CudaStream>) -> Result<Self, CublasError>
Creates a new cublas handle and sets the stream to the devices 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<CudaStream>,
) -> Result<(), CublasError>
Sets the handles current to either the stream specified, or the devices 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 handles 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 cublas<t>asum(). 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<cublasPointerMode_t, CublasError>
Get the handles current pointer mode. ref: https://docs.nvidia.com/cuda/cublas/#cublasgetpointermode
Trait Implementations
Source
impl Asum<f32> for CudaBlas
Source
unsafe fn asum<X: DevicePtr<f32>>(
&self,
cfg: AsumConfig,
x: &X,
result: &mut f32,
) -> Result<(), CublasError>
Sum of absolute values. See nvidia docs Read more
Source
impl Asum<f64> for CudaBlas
Source
unsafe fn asum<X: DevicePtr<f64>>(
&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<bf16> for CudaBlas
Source
unsafe fn gemm<A: DevicePtr<bf16>, B: DevicePtr<bf16>, C: DevicePtrMut<bf16>>(
&self,
cfg: GemmConfig<bf16>,
a: &A,
b: &B,
c: &mut C,
) -> Result<(), CublasError>
Matrix matrix multiplication. See nvidia docs Read more
Source
unsafe fn gemm_strided_batched<A: DevicePtr<bf16>, B: DevicePtr<bf16>, C: DevicePtrMut<bf16>>(
&self,
cfg: StridedBatchedConfig<bf16>,
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<f16> for CudaBlas
Source
unsafe fn gemm<A: DevicePtr<f16>, B: DevicePtr<f16>, C: DevicePtrMut<f16>>(
&self,
cfg: GemmConfig<f16>,
a: &A,
b: &B,
c: &mut C,
) -> Result<(), CublasError>
Matrix matrix multiplication. See nvidia docs Read more
Source
unsafe fn gemm_strided_batched<A: DevicePtr<f16>, B: DevicePtr<f16>, C: DevicePtrMut<f16>>(
&self,
cfg: StridedBatchedConfig<f16>,
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<f32> for CudaBlas
Source
unsafe fn gemm<A: DevicePtr<f32>, B: DevicePtr<f32>, C: DevicePtrMut<f32>>(
&self,
cfg: GemmConfig<f32>,
a: &A,
b: &B,
c: &mut C,
) -> Result<(), CublasError>
Matrix matrix multiplication. See nvidia docs Read more
Source
unsafe fn gemm_strided_batched<A: DevicePtr<f32>, B: DevicePtr<f32>, C: DevicePtrMut<f32>>(
&self,
cfg: StridedBatchedConfig<f32>,
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<f64> for CudaBlas
Source
unsafe fn gemm<A: DevicePtr<f64>, B: DevicePtr<f64>, C: DevicePtrMut<f64>>(
&self,
cfg: GemmConfig<f64>,
a: &A,
b: &B,
c: &mut C,
) -> Result<(), CublasError>
Matrix matrix multiplication. See nvidia docs Read more
Source
unsafe fn gemm_strided_batched<A: DevicePtr<f64>, B: DevicePtr<f64>, C: DevicePtrMut<f64>>(
&self,
cfg: StridedBatchedConfig<f64>,
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<f32> for CudaBlas
Source
unsafe fn gemv<A: DevicePtr<f32>, X: DevicePtr<f32>, Y: DevicePtrMut<f32>>(
&self,
cfg: GemvConfig<f32>,
a: &A,
x: &X,
y: &mut Y,
) -> Result<(), CublasError>
Matrix vector multiplication. Read more
Source
impl Gemv<f64> for CudaBlas
Source
unsafe fn gemv<A: DevicePtr<f64>, X: DevicePtr<f64>, Y: DevicePtrMut<f64>>(
&self,
cfg: GemvConfig<f64>,
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<T> Any for T
where
T: 'static + ?Sized,
Source
impl<T> Borrow<T> for T
where
T: ?Sized,
Source
impl<T> BorrowMut<T> for T
where
T: ?Sized,
Source
impl<T> From<T> for T
Source
impl<T, U> Into<U> for T
where
U: From<T>,
Source
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
Source
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
Source
impl<V, T> VZip<V> for T
where
V: MultiLane<T>,
-------------------------------
Struct GemmConfig Copy item path
Source
Search
Settings
Help
Summary
pub struct GemmConfig<T> {
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<T: Clone> Clone for GemmConfig<T>
Source
fn clone(&self) -> GemmConfig<T>
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<T: Debug> Debug for GemmConfig<T>
Source
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
Source
impl<T: Copy> Copy for GemmConfig<T>
Auto Trait Implementations
impl<T> Freeze for GemmConfig<T>
where
T: Freeze,
impl<T> RefUnwindSafe for GemmConfig<T>
where
T: RefUnwindSafe,
impl<T> Send for GemmConfig<T>
where
T: Send,
impl<T> Sync for GemmConfig<T>
where
T: Sync,
impl<T> Unpin for GemmConfig<T>
where
T: Unpin,
impl<T> UnwindSafe for GemmConfig<T>
where
T: UnwindSafe,
Blanket Implementations
Source
impl<T> Any for T
where
T: 'static + ?Sized,
Source
impl<T> Borrow<T> for T
where
T: ?Sized,
Source
impl<T> BorrowMut<T> for T
where
T: ?Sized,
Source
impl<T> CloneToUninit for T
where
T: Clone,
Source
impl<T> From<T> for T
Source
impl<T, U> Into<U> for T
where
U: From<T>,
Source
impl<T> ToOwned for T
where
T: Clone,
Source
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
Source
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
Source§
impl<V, T> VZip<V> for T
where
V: MultiLane<T>,
-----------------------------
Struct GemvConfig Copy item path
Source
Search
Settings
Help
Summary
pub struct GemvConfig<T> {
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<T: Clone> Clone for GemvConfig<T>
Source
fn clone(&self) -> GemvConfig<T>
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<T: Debug> Debug for GemvConfig<T>
Source
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
Source
impl<T: Copy> Copy for GemvConfig<T>
Auto Trait Implementations
impl<T> Freeze for GemvConfig<T>
where
T: Freeze,
impl<T> RefUnwindSafe for GemvConfig<T>
where
T: RefUnwindSafe,
impl<T> Send for GemvConfig<T>
where
T: Send,
impl<T> Sync for GemvConfig<T>
where
T: Sync,
impl<T> Unpin for GemvConfig<T>
where
T: Unpin,
impl<T> UnwindSafe for GemvConfig<T>
where
T: UnwindSafe,
Blanket Implementations
Source
impl<T> Any for T
where
T: 'static + ?Sized,
Source
impl<T> Borrow<T> for T
where
T: ?Sized,
Source
impl<T> BorrowMut<T> for T
where
T: ?Sized,
Source
impl<T> CloneToUninit for T
where
T: Clone,
Source
impl<T> From<T> for T
Source
impl<T, U> Into<U> for T
where
U: From<T>,
Source
impl<T> ToOwned for T
where
T: Clone,
Source
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
Source
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
Source§
impl<V, T> VZip<V> for T
where
V: MultiLane<T>,
------------------------------
Struct StridedBatchedConfig Copy item path
Source
Search
Settings
Help
Summary
pub struct StridedBatchedConfig<T> {
pub gemm: GemmConfig<T>,
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<T>
batch_size: c_int
stride_a: c_longlong
stride_b: c_longlong
stride_c: c_longlong
Trait Implementations
Source
impl<T: Clone> Clone for StridedBatchedConfig<T>
Source
fn clone(&self) -> StridedBatchedConfig<T>
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<T: Debug> Debug for StridedBatchedConfig<T>
Source
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
Source
impl<T: Copy> Copy for StridedBatchedConfig<T>
Auto Trait Implementations
impl<T> Freeze for StridedBatchedConfig<T>
where
T: Freeze,
impl<T> RefUnwindSafe for StridedBatchedConfig<T>
where
T: RefUnwindSafe,
impl<T> Send for StridedBatchedConfig<T>
where
T: Send,
impl<T> Sync for StridedBatchedConfig<T>
where
T: Sync,
impl<T> Unpin for StridedBatchedConfig<T>
where
T: Unpin,
impl<T> UnwindSafe for StridedBatchedConfig<T>
where
T: UnwindSafe,
Blanket Implementations
Source
impl<T> Any for T
where
T: 'static + ?Sized,
Source
impl<T> Borrow<T> for T
where
T: ?Sized,
Source
impl<T> BorrowMut<T> for T
where
T: ?Sized,
Source
impl<T> CloneToUninit for T
where
T: Clone,
Source
impl<T> From<T> for T
Source
impl<T, U> Into<U> for T
where
U: From<T>,
Source
impl<T> ToOwned for T
where
T: Clone,
Source
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
Source
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
Source§
impl<V, T> VZip<V> for T
where
V: MultiLane<T>,
-------------------------------
Trait Asum Copy item path
Source
Search
Settings
Help
Summary
pub trait Asum<T> {
// Required method
unsafe fn asum<X: DevicePtr<T>>(
&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<X: DevicePtr<T>>(
&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<f32> for CudaBlas
Source
impl Asum<f64> for CudaBlas
--------------------------------------
Trait Gemm Copy item path
Source
Search
Settings
Help
Summary
pub trait Gemm<T> {
// Required methods
unsafe fn gemm<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>(
&self,
cfg: GemmConfig<T>,
a: &A,
b: &B,
c: &mut C,
) -> Result<(), CublasError>;
unsafe fn gemm_strided_batched<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>(
&self,
cfg: StridedBatchedConfig<T>,
a: &A,
b: &B,
c: &mut C,
) -> Result<(), CublasError>;
}
Matrix matrix multiplication with elements of type T.
Required Methods
Source
unsafe fn gemm<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>(
&self,
cfg: GemmConfig<T>,
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<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>(
&self,
cfg: StridedBatchedConfig<T>,
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<f32> for CudaBlas
Source
impl Gemm<f64> for CudaBlas
Source
impl Gemm<bf16> for CudaBlas
Source
impl Gemm<f16> for CudaBlas
---------------------------------------
Trait Gemv Copy item path
Source
Search
Settings
Help
Summary
pub trait Gemv<T> {
// Required method
unsafe fn gemv<A: DevicePtr<T>, X: DevicePtr<T>, Y: DevicePtrMut<T>>(
&self,
cfg: GemvConfig<T>,
a: &A,
x: &X,
y: &mut Y,
) -> Result<(), CublasError>;
}
Matrix vector multiplication with elements of type T
Required Methods
Source
unsafe fn gemv<A: DevicePtr<T>, X: DevicePtr<T>, Y: DevicePtrMut<T>>(
&self,
cfg: GemvConfig<T>,
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<f32> for CudaBlas
Source
impl Gemv<f64> 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