cublas-0.2.1.0: FFI bindings to the CUDA CUBLAS and CUSPARSE libraries

Safe HaskellNone
LanguageHaskell98

Foreign.CUDA.Cublas

Contents

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:

http://docs.nvidia.com/cuda/cublas/

Synopsis

Types

Initialization and destruction

BLAS functions

class Cublas a where Source

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