Safe Haskell | None |
---|---|
Language | Haskell98 |
Foreign.CUDA.Cublas
Description
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 ()
- gelsBatched :: Handle -> Operation -> Int -> Int -> Int -> [DevicePtr a] -> Int -> [DevicePtr a] -> Int -> DevicePtr CInt -> DevicePtr CInt -> 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 ()
- geqrfBatched :: Handle -> Int -> Int -> [DevicePtr a] -> Int -> [DevicePtr a] -> DevicePtr CInt -> 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
Methods
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 a Source
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
gelsBatched :: Handle -> Operation -> Int -> Int -> Int -> [DevicePtr a] -> Int -> [DevicePtr a] -> Int -> DevicePtr CInt -> DevicePtr CInt -> 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
geqrfBatched :: Handle -> Int -> Int -> [DevicePtr a] -> Int -> [DevicePtr a] -> DevicePtr CInt -> 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