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

Safe HaskellNone

Foreign.CUDA.Cusparse

Contents

Description

This module provides the most convenient FFI bindings to the CUSPARSE library. The names of functions and the role of arguments closely follows the CUSPARSE C API, which is documented here:

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

Synopsis

Types

Initialization and destruction

BLAS functions

class Cusparse a whereSource

Methods

axpyi :: Handle -> Int -> a -> DevicePtr a -> DevicePtr CInt -> DevicePtr a -> IndexBase -> IO ()Source

bsr2csr :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> IO ()Source

bsric02 :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsric02Info -> SolvePolicy -> DevicePtr () -> IO ()Source

bsric02_analysis :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsric02Info -> SolvePolicy -> DevicePtr () -> IO ()Source

bsric02_bufferSize :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsric02Info -> DevicePtr CInt -> IO ()Source

bsrilu02 :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsrilu02Info -> SolvePolicy -> DevicePtr () -> IO ()Source

bsrilu02_analysis :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsrilu02Info -> SolvePolicy -> DevicePtr () -> IO ()Source

bsrilu02_bufferSize :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsrilu02Info -> DevicePtr CInt -> IO ()Source

bsrmv :: Handle -> Direction -> Operation -> Int -> Int -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> DevicePtr a -> a -> DevicePtr a -> IO ()Source

bsrsv2_analysis :: Handle -> Direction -> Operation -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsrsv2Info -> SolvePolicy -> DevicePtr () -> IO ()Source

bsrsv2_bufferSize :: Handle -> Direction -> Operation -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsrsv2Info -> DevicePtr CInt -> IO ()Source

bsrsv2_solve :: Handle -> Direction -> Operation -> Int -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Bsrsv2Info -> DevicePtr a -> DevicePtr a -> SolvePolicy -> DevicePtr () -> IO ()Source

bsrxmv :: Handle -> Direction -> Operation -> Int -> Int -> Int -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> DevicePtr CInt -> DevicePtr CInt -> Int -> DevicePtr a -> a -> DevicePtr a -> IO ()Source

csc2dense :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> DevicePtr a -> Int -> IO ()Source

csc2hyb :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> HybMat -> Int -> HybPartition -> IO ()Source

csr2bsr :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> IO ()Source

csr2cs :: Handle -> Int -> Int -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Action -> IndexBase -> IO ()Source

csr2dense :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> DevicePtr a -> Int -> IO ()Source

csr2gebsr :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Int -> DevicePtr () -> IO ()Source

csr2gebsr_bufferSize :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Int -> DevicePtr CInt -> IO ()Source

csr2hyb :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> HybMat -> Int -> HybPartition -> IO ()Source

csrgeam :: Handle -> Int -> Int -> a -> MatDescr -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> a -> MatDescr -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> IO ()Source

csrgemm :: Handle -> Operation -> Operation -> Int -> Int -> Int -> MatDescr -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> MatDescr -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> IO ()Source

csric0 :: Handle -> Operation -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> SolveAnalysisInfo -> IO ()Source

csric02 :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csric02Info -> SolvePolicy -> DevicePtr () -> IO ()Source

csric02_analysis :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csric02Info -> SolvePolicy -> DevicePtr () -> IO ()Source

csric02_bufferSize :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csric02Info -> DevicePtr CInt -> IO ()Source

csrilu0 :: Handle -> Operation -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> SolveAnalysisInfo -> IO ()Source

csrilu02 :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csrilu02Info -> SolvePolicy -> DevicePtr () -> IO ()Source

csrilu02_analysis :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csrilu02Info -> SolvePolicy -> DevicePtr () -> IO ()Source

csrilu02_bufferSize :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csrilu02Info -> DevicePtr CInt -> IO ()Source

csrmm :: Handle -> Operation -> Int -> Int -> Int -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source

csrmm2 :: Handle -> Operation -> Operation -> Int -> Int -> Int -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> DevicePtr a -> Int -> a -> DevicePtr a -> Int -> IO ()Source

csrmv :: Handle -> Operation -> Int -> Int -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> DevicePtr a -> a -> DevicePtr a -> IO ()Source

csrsm_analysis :: Handle -> Operation -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> SolveAnalysisInfo -> IO ()Source

csrsm_solve :: Handle -> Operation -> Int -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> SolveAnalysisInfo -> DevicePtr a -> Int -> DevicePtr a -> Int -> IO ()Source

csrsv2_analysis :: Handle -> Operation -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csrsv2Info -> SolvePolicy -> DevicePtr () -> IO ()Source

csrsv2_bufferSize :: Handle -> Operation -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csrsv2Info -> DevicePtr CInt -> IO ()Source

csrsv2_solve :: Handle -> Operation -> Int -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Csrsv2Info -> DevicePtr a -> DevicePtr a -> SolvePolicy -> DevicePtr () -> IO ()Source

csrsv_analysis :: Handle -> Operation -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> SolveAnalysisInfo -> IO ()Source

csrsv_solve :: Handle -> Operation -> Int -> a -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> SolveAnalysisInfo -> DevicePtr a -> DevicePtr a -> IO ()Source

dense2cs :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> Int -> DevicePtr CInt -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> IO ()Source

dense2csr :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> Int -> DevicePtr CInt -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> IO ()Source

dense2hyb :: Handle -> Int -> Int -> MatDescr -> DevicePtr a -> Int -> DevicePtr CInt -> HybMat -> Int -> HybPartition -> IO ()Source

doti :: Handle -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr a -> IndexBase -> IO aSource

gebsr2gebs :: Handle -> Int -> Int -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Action -> IndexBase -> DevicePtr () -> IO ()Source

gebsr2gebsc_bufferSize :: Handle -> Int -> Int -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Int -> DevicePtr CInt -> IO ()Source

gebsr2gebsr :: Handle -> Direction -> Int -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Int -> DevicePtr () -> IO ()Source

gebsr2gebsr_bufferSize :: Handle -> Direction -> Int -> Int -> Int -> MatDescr -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> Int -> Int -> Int -> Int -> DevicePtr CInt -> IO ()Source

gthr :: Handle -> Int -> DevicePtr a -> DevicePtr a -> DevicePtr CInt -> IndexBase -> IO ()Source

gthrz :: Handle -> Int -> DevicePtr a -> DevicePtr a -> DevicePtr CInt -> IndexBase -> IO ()Source

gtsv :: Handle -> Int -> Int -> DevicePtr a -> DevicePtr a -> DevicePtr a -> DevicePtr a -> Int -> IO ()Source

gtsvStridedBatch :: Handle -> Int -> DevicePtr a -> DevicePtr a -> DevicePtr a -> DevicePtr a -> Int -> Int -> IO ()Source

gtsv_nopivot :: Handle -> Int -> Int -> DevicePtr a -> DevicePtr a -> DevicePtr a -> DevicePtr a -> Int -> IO ()Source

hyb2cs :: Handle -> MatDescr -> HybMat -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> IO ()Source

hyb2csr :: Handle -> MatDescr -> HybMat -> DevicePtr a -> DevicePtr CInt -> DevicePtr CInt -> IO ()Source

hyb2dense :: Handle -> MatDescr -> HybMat -> DevicePtr a -> Int -> IO ()Source

hybmv :: Handle -> Operation -> a -> MatDescr -> HybMat -> DevicePtr a -> a -> DevicePtr a -> IO ()Source

hybsv_solve :: Handle -> Operation -> a -> MatDescr -> HybMat -> SolveAnalysisInfo -> DevicePtr a -> DevicePtr a -> IO ()Source

nnz :: Handle -> Direction -> Int -> Int -> MatDescr -> DevicePtr a -> Int -> DevicePtr CInt -> IO IntSource

sctr :: Handle -> Int -> DevicePtr a -> DevicePtr CInt -> DevicePtr a -> IndexBase -> IO ()Source

Error handling