Safe Haskell | None |
---|
This module provides the most convenient FFI bindings to the CUBLAS library. The names of functions and the role of arguments closely follows the CUBLAS C API, which is documented here:
- module Foreign.CUDA.Cublas.Types
- create :: IO Handle
- destroy :: Handle -> IO ()
- class Cublas a where
- axpy :: Handle -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- copy :: Handle -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- dgmm :: Handle -> SideMode -> Int -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- dot :: Handle -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO a
- gbmv :: Handle -> Operation -> Int -> Int -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()
- geam :: Handle -> Operation -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- gemm :: Handle -> Operation -> Operation -> Int -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()
- gemmBatched :: Handle -> Operation -> Operation -> Int -> Int -> Int -> a -> [DevicePtr a] -> Int -> [DevicePtr a] -> Int -> a -> [DevicePtr a] -> Int -> Int -> IO ()
- gemv :: Handle -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()
- ger :: Handle -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- getrfBatched :: Handle -> Int -> [DevicePtr a] -> Int -> DevicePtr CInt -> DevicePtr CInt -> Int -> IO ()
- getriBatched :: Handle -> Int -> [DevicePtr a] -> Int -> DevicePtr CInt -> [DevicePtr a] -> Int -> DevicePtr CInt -> Int -> IO ()
- matinvBatched :: Handle -> Int -> [DevicePtr a] -> Int -> [DevicePtr a] -> Int -> DevicePtr CInt -> Int -> IO ()
- scal :: Handle -> Int -> a -> DevicePtr a -> Int -> IO ()
- swap :: Handle -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- symm :: Handle -> SideMode -> FillMode -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()
- symv :: Handle -> FillMode -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()
- syr :: Handle -> FillMode -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- syr2 :: Handle -> FillMode -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- syr2k :: Handle -> FillMode -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()
- syrk :: Handle -> FillMode -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()
- syrkx :: Handle -> FillMode -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()
- tbmv :: Handle -> FillMode -> Operation -> DiagType -> Int -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- tbsv :: Handle -> FillMode -> Operation -> DiagType -> Int -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- tpmv :: Handle -> FillMode -> Operation -> DiagType -> Int -> DevicePtr a -> DevicePtr a -> Int -> IO ()
- tpsv :: Handle -> FillMode -> Operation -> DiagType -> Int -> DevicePtr a -> DevicePtr a -> Int -> IO ()
- tpttr :: Handle -> FillMode -> Int -> DevicePtr a -> DevicePtr a -> Int -> IO ()
- trmm :: Handle -> SideMode -> FillMode -> Operation -> DiagType -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- trmv :: Handle -> FillMode -> Operation -> DiagType -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- trsm :: Handle -> SideMode -> FillMode -> Operation -> DiagType -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- trsmBatched :: Handle -> SideMode -> FillMode -> Operation -> DiagType -> Int -> Int -> a -> [DevicePtr a] -> Int -> [DevicePtr a] -> Int -> Int -> IO ()
- trsv :: Handle -> FillMode -> Operation -> DiagType -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()
- trttp :: Handle -> FillMode -> Int -> DevicePtr a -> Int -> DevicePtr a -> IO ()
- module Foreign.CUDA.Cublas.Error
Types
module Foreign.CUDA.Cublas.Types
Initialization and destruction
BLAS functions
axpy :: Handle -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
copy :: Handle -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
dgmm :: Handle -> SideMode -> Int -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
dot :: Handle -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO aSource
gbmv :: Handle -> Operation -> Int -> Int -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source
geam :: Handle -> Operation -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
gemm :: Handle -> Operation -> Operation -> Int -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source
gemmBatched :: Handle -> Operation -> Operation -> Int -> Int -> Int -> a -> [DevicePtr a] -> Int -> [DevicePtr a] -> Int -> a -> [DevicePtr a] -> Int -> Int -> IO ()Source
gemv :: Handle -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source
ger :: Handle -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
getrfBatched :: Handle -> Int -> [DevicePtr a] -> Int -> DevicePtr CInt -> DevicePtr CInt -> Int -> IO ()Source
getriBatched :: Handle -> Int -> [DevicePtr a] -> Int -> DevicePtr CInt -> [DevicePtr a] -> Int -> DevicePtr CInt -> Int -> IO ()Source
matinvBatched :: Handle -> Int -> [DevicePtr a] -> Int -> [DevicePtr a] -> Int -> DevicePtr CInt -> Int -> IO ()Source
scal :: Handle -> Int -> a -> DevicePtr a -> Int -> IO ()Source
swap :: Handle -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
symm :: Handle -> SideMode -> FillMode -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source
symv :: Handle -> FillMode -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source
syr :: Handle -> FillMode -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
syr2 :: Handle -> FillMode -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
syr2k :: Handle -> FillMode -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source
syrk :: Handle -> FillMode -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source
syrkx :: Handle -> FillMode -> Operation -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source
tbmv :: Handle -> FillMode -> Operation -> DiagType -> Int -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
tbsv :: Handle -> FillMode -> Operation -> DiagType -> Int -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
tpmv :: Handle -> FillMode -> Operation -> DiagType -> Int -> DevicePtr a -> DevicePtr a -> Int -> IO ()Source
tpsv :: Handle -> FillMode -> Operation -> DiagType -> Int -> DevicePtr a -> DevicePtr a -> Int -> IO ()Source
tpttr :: Handle -> FillMode -> Int -> DevicePtr a -> DevicePtr a -> Int -> IO ()Source
trmm :: Handle -> SideMode -> FillMode -> Operation -> DiagType -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
trmv :: Handle -> FillMode -> Operation -> DiagType -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
trsm :: Handle -> SideMode -> FillMode -> Operation -> DiagType -> Int -> Int -> a -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
trsmBatched :: Handle -> SideMode -> FillMode -> Operation -> DiagType -> Int -> Int -> a -> [DevicePtr a] -> Int -> [DevicePtr a] -> Int -> Int -> IO ()Source
trsv :: Handle -> FillMode -> Operation -> DiagType -> Int -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source
trttp :: Handle -> FillMode -> Int -> DevicePtr a -> Int -> DevicePtr a -> IO ()Source
Error handling
module Foreign.CUDA.Cublas.Error