h$SD      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                       [2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None5cusparseIntegral conversioncusparseFloating conversioncusparseObtain C value from Haskell .cusparseObtain Haskell  from C value.cusparse#Convert a C enumeration to Haskell.cusparse#Convert a Haskell enumeration to C.cusparseMarshalling of complex numberscusparseMarshalling of numerals [2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None3cusparse.Error codes used by cuSPARSE library functions ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparsestatustcusparse)Raise a CUSparseException in the IO MonadcusparseReturn the results of a function on successful execution, otherwise throw an exception with an error string associated with the return codecusparseThrow an exception with an error string associated with an unsuccessful return code, otherwise return unit.cusparseThrow an error if given error code is not CUSPARSE_STATUS_SUCCESS  [2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)NonecusparseFor functions which take scalar value arguments, determines whether those values are passed by reference on the host or device. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsepointermode_tcusparseAn opaque handle to the cuSPARSE library context, which is passed to all library function calls. ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparsehandletcusparseThis function initializes the cuSPARSE library and creates a handle on the cuSPARSE context. It must be called before any other cuSPARSE API function is invoked. It allocates hardware resources necessary for accessing the GPU. >http://docs.nvidia.com/cuda/cusparse/index.html#cusparsecreate cusparseThis function releases CPU-side resources used by the cuSPARSE library. The release of GPU-side resources may be deferred until the application shuts down. ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparsedestroy!cusparse8Set the pointer mode used by cuSPARSE library functions.The default mode is for values to be passed by reference from the host. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetpointermode"cusparseGet the pointer mode used by cuSPARSE library functions to pass scalar arguments. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetpointermode  !"  !"[2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None /cusparse cusparse ;http://docs.nvidia.com/cuda/cusparse/index.html#bsrsv2infotAcusparse =http://docs.nvidia.com/cuda/cusparse/index.html#csrilu02infotDcusparse ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefJKLMNGHIOPDEFQRABCST>?@UV;<=WX89:YZ567[\234]^/01_`,-.ab)*+cd&'(ef[2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions) Safe-Inferred$ gcusparse=Indices the algorithm to use for CSR to CSC matrix conversionAlgorithm 1 requires extra storage proportional to the number of nonzero values nnz. It is in general faster than algorithm 2 and the result is deterministic.Algorithm 2 requires extra storage proportional to the number of rows m. It is non-deterministic, and does not ensure always the same ordering of CSC column indices and values. It is faster than algorithm 1 for regular matrices.jcusparseIndicates whether level information is used by some solver algorithms. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsesolvepolicy_tmcusparse?Specify the algorithm to use, for example used in the routine  http://docs.nvidia.com/cuda/cusparse/index.html#cusparse-csrmvExcsrmvEx.rcusparse.Used to specify the type of data underlying a void*2 pointer. For example, it is used in the routine  http://docs.nvidia.com/cuda/cusparse/index.html#cusparse-csrmvExcsrmvEx.cusparseIndicates which operations need to be performed with the sparse matrix.N: no transpose selectedT: transpose operationC: conjugate transpose http://docs.nvidia.com/cuda/cusparse/index.html#cusparseoperationtcusparseIndicates the underlying storage model for elements of matrices. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsedirectiontcusparseThis type indicates whether the operation is performed only on indices () or on data and indices (). ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparseactiont$gihjlkmqponr~}|{zyxwvuts[2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None.ScusparseIndicates the type of matrix. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsematrixtypetcusparseIndicates whether indexing of matrix elements starts at zero or one. http://docs.nvidia.com/cuda/cusparse/index.html#cusparseindexbasetcusparseIndicates whether the upper or lower part of the sparse matrix is stored. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsefillmodetcusparseIndicates whether the diagonal elements of the matrix are unity. The diagonal elements are always assumed to be present, but if  is passed to an API routine, then the routine assumes that all diagonal entries are unity and will not read or modify those entries. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsediagtypetcusparseAn opaque type used to describe the shape and properties of a matrix. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsematdescrtcusparse3Release memory associated with a matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsedestroymatdescrcusparseGet the % type field of the matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetmatdiagtypecusparseGet the  mode of the matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetmatfillmodecusparseGet the  mode of the matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetmatindexbasecusparseGet the  mode of the matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsegetmattypecusparseSet the % type field of the matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetmatdiagtypecusparseSet the  mode of the matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetmatfillmodecusparseSet the  mode of the matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetmatindexbasecusparseSet the  mode of the matrix descriptor. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetmattypecusparse1Create a new matrix descriptor, with matrix type  and index base +, while leaving other fields uninitialised. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsecreatematdescr[2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None1cusparseIndicates how to perform the partitioning of the matrix into regular (ELL) and irregular (COO) parts of the HYB format. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsehybpartitiontcusparse>An opaque structure holding the matrix in hybrid (HYB) format. ?http://docs.nvidia.com/cuda/cusparse/index.html#cusparsehybmattcusparse$Create a new (opaque) hybrid matrix. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsecreatehybmatcusparse?Destroy and release any memory associated with a hybrid matrix. http://docs.nvidia.com/cuda/cusparse/index.html#cusparsedestroyhybmat  [2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None2/2;JjkljklJ;2/[2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None4>GJjklmnopqrstuvwxyz{|}~rstuvwxyz{|}~mnopqjklJ>G [2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None6[2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None7&)ghighi)& [2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None:58ADJjkljklJDA85 [2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None=,, [2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None?LcusparseSets the execution stream which all subsequent cuSPARSE library functions will execute with. If not set, functions execute in the default stream (which never overlaps any other operations). http://docs.nvidia.com/cuda/cusparse/index.html#cusparsesetstream[2017] Trevor L. McDonellBSD3.Trevor L. McDonell  experimentalnon-portable (GHC extensions)None?  !"&'()*+,-./012356789:;<>?ABCDEFGHJKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmqpnor~}|{zyxwvust !"&'()*+,-./012356789:;<>?ABCDEFGHJKMNOPQRSTUVWXYZ[\]^_`abcdef  !"#$%&'()*+,,-./0123455677899:;;<==>??@AABCCDEEFGGHIIJKKLMMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                               'cusparse-0.3.0.0-8gWl5NM7KAsDTSuUNnIRjVForeign.CUDA.BLAS.Sparse.Error Foreign.CUDA.BLAS.Sparse.Context!Foreign.CUDA.BLAS.Sparse.Analysis Foreign.CUDA.BLAS.Sparse.ConvertForeign.CUDA.BLAS.Sparse.Level3Foreign.CUDA.BLAS.Sparse.Level2*Foreign.CUDA.BLAS.Sparse.Matrix.Descriptor&Foreign.CUDA.BLAS.Sparse.Matrix.HybridForeign.CUDA.BLAS.Sparse.Level1%Foreign.CUDA.BLAS.Sparse.Precondition Foreign.CUDA.BLAS.Sparse.ReorderForeign.CUDA.BLAS.Sparse.Stream&Foreign.CUDA.BLAS.Sparse.Internal.C2HS'Foreign.CUDA.BLAS.Sparse.Internal.TypesForeign.CUDA.BLAS.SparseCUSparseExceptionExitCode UserErrorStatusSuccessNotInitialized AllocFailed InvalidValue ArchMismatch MappingErrorExecutionFailed InternalErrorMatrixTypeNotSupported ZeroPivot NotSupporteddescribe cusparseError resultIfOk nothingIfOk checkStatus $fEnumStatus$fShowCUSparseException$fExceptionCUSparseException $fEqStatus $fShowStatus PointerModeHostDeviceHandle useHandlecreatedestroysetPointerModegetPointerMode$fEnumPointerMode$fEqPointerMode$fShowPointerMode Info_prune useInfo_prune Info_csru2csruseInfo_csru2csr Info_color useInfo_color Info_csrsm2useInfo_csrsm2 Info_csrgemm2useInfo_csrgemm2 Info_bsrilu02useInfo_bsrilu02 Info_bsric02useInfo_bsric02 Info_bsrsm2useInfo_bsrsm2 Info_bsrsv2useInfo_bsrsv2 Info_csrilu02useInfo_csrilu02 Info_csric02useInfo_csric02 Info_csrsv2useInfo_csrsv2InfouseInfo createInfo destroyInfocreateInfo_csrsv2destroyInfo_csrsv2createInfo_csric02destroyInfo_csric02createInfo_csrilu02destroyInfo_csrilu02createInfo_bsrsv2destroyInfo_bsrsv2createInfo_bsrsm2destroyInfo_bsrsm2createInfo_bsric02destroyInfo_bsric02createInfo_bsrilu02destroyInfo_bsrilu02createInfo_csrgemm2destroyInfo_csrgemm2createInfo_csrsm2destroyInfo_csrsm2createInfo_colordestroyInfo_colorcreateInfo_csru2csrdestroyInfo_csru2csrcreateInfo_prunedestroyInfo_pruneAlgorithm_csr2csc Csr2cscAlg1 Csr2cscAlg2PolicyNoLevelUseLevel AlgorithmAlg0AlgNaiveAlg1 AlgMergePathTypeR32fR64fR16fR8iC32fC64fC16fC8iR8uC8uR32iC32iR32uC32u OperationNTC DirectionRowColumnActionSymbolicNumeric MatrixTypeGeneral Symmetric Hermitian Triangular IndexBaseZeroOneFillLowerUpperDiagonalNonUnitUnitMatrixDescriptor useMatDescrcreateMatDescrdestroyMatDescr getDiagonal getFillMode getIndexBase getMatrixType setDiagonal setFillMode setIndexBase setMatrixType$fEnumDiagonal $fEnumFill$fEnumIndexBase$fEnumMatrixType$fEqMatrixType$fShowMatrixType $fEqIndexBase$fShowIndexBase$fEqFill $fShowFill $fEqDiagonal$fShowDiagonalHybridPartitionAutoUserMaxHybriduseHYB createHYB destroyHYB$fEnumHybridPartition$fEqHybridPartition$fShowHybridPartitionscsrmmdcsrmmccsrmmzcsrmmscsrmm2dcsrmm2ccsrmm2zcsrmm2scsrsm_analysisdcsrsm_analysisccsrsm_analysiszcsrsm_analysis scsrsm_solve dcsrsm_solve ccsrsm_solve zcsrsm_solvesbsrmmdbsrmmcbsrmmzbsrmmsbsrsm2_bufferSizedbsrsm2_bufferSizecbsrsm2_bufferSizezbsrsm2_bufferSizesbsrsm2_analysisdbsrsm2_analysiscbsrsm2_analysiszbsrsm2_analysis sbsrsm2_solve dbsrsm2_solve cbsrsm2_solve zbsrsm2_solvexbsrsm2_zeroPivot xcsrgeamNnzscsrgeamdcsrgeamccsrgeamzcsrgeam xcsrgemmNnzscsrgemmdcsrgemmccsrgemmzcsrgemmscsrgemm2_bufferSizeExtdcsrgemm2_bufferSizeExtccsrgemm2_bufferSizeExtzcsrgemm2_bufferSizeExt xcsrgemm2Nnz scsrgemm2 dcsrgemm2 ccsrgemm2 zcsrgemm2scsrsm2_bufferSizeExtdcsrsm2_bufferSizeExtccsrsm2_bufferSizeExtzcsrsm2_bufferSizeExtscsrsm2_analysisdcsrsm2_analysisccsrsm2_analysiszcsrsm2_analysis scsrsm2_solve dcsrsm2_solve ccsrsm2_solve zcsrsm2_solvexcsrsm2_zeroPivotsgemmidgemmicgemmizgemmi xcsrgeam2Nnzscsrgeam2_bufferSizeExtdcsrgeam2_bufferSizeExtccsrgeam2_bufferSizeExtzcsrgeam2_bufferSizeExt scsrgeam2 dcsrgeam2 ccsrgeam2 zcsrgeam2sbsrmvdbsrmvcbsrmvzbsrmvsbsrxmvdbsrxmvcbsrxmvzbsrxmvscsrmvdcsrmvccsrmvzcsrmvsbsrsv2_bufferSizedbsrsv2_bufferSizecbsrsv2_bufferSizezbsrsv2_bufferSizesbsrsv2_analysisdbsrsv2_analysiscbsrsv2_analysiszbsrsv2_analysis sbsrsv2_solve dbsrsv2_solve cbsrsv2_solve zbsrsv2_solvexbsrsv2_zeroPivotscsrsv_analysisdcsrsv_analysisccsrsv_analysiszcsrsv_analysis scsrsv_solve dcsrsv_solve ccsrsv_solve zcsrsv_solvescsrsv2_bufferSizedcsrsv2_bufferSizeccsrsv2_bufferSizezcsrsv2_bufferSizescsrsv2_analysisdcsrsv2_analysisccsrsv2_analysiszcsrsv2_analysis scsrsv2_solve dcsrsv2_solve ccsrsv2_solve zcsrsv2_solvexcsrsv2_zeroPivotshybmvdhybmvchybmvzhybmvshybsv_analysisdhybsv_analysischybsv_analysiszhybsv_analysis shybsv_solve dhybsv_solve chybsv_solve zhybsv_solvesgemvidgemvicgemvizgemvisgemvi_bufferSizedgemvi_bufferSizecgemvi_bufferSizezgemvi_bufferSizecsrmvExcsrmvEx_bufferSize scsrmv_mp dcsrmv_mp ccsrmv_mp zcsrmv_mpcsrsv_analysisEx csrsv_solveExsaxpyidaxpyicaxpyizaxpyisdotiddoticdotizdoticdotcizdotcisgthrdgthrcgthrzgthrsgthrzdgthrzcgthrzzgthrzsrotidrotissctrdsctrcsctrzsctrsbsr2csrdbsr2csrcbsr2csrzbsr2csrsgebsr2gebsc_bufferSizedgebsr2gebsc_bufferSizecgebsr2gebsc_bufferSizezgebsr2gebsc_bufferSize sgebsr2gebsc dgebsr2gebsc cgebsr2gebsc zgebsr2gebscsgebsr2gebsr_bufferSizedgebsr2gebsr_bufferSizecgebsr2gebsr_bufferSizezgebsr2gebsr_bufferSize sgebsr2gebsr dgebsr2gebsr cgebsr2gebsr zgebsr2gebsrxgebsr2gebsrNnz sgebsr2csr dgebsr2csr cgebsr2csr zgebsr2csrscsr2gebsr_bufferSizedcsr2gebsr_bufferSizeccsr2gebsr_bufferSizezcsr2gebsr_bufferSize scsr2gebsr dcsr2gebsr ccsr2gebsr zcsr2gebsr xcsr2gebsrNnzxcoo2csr scsc2dense dcsc2dense ccsc2dense zcsc2densescsc2hybdcsc2hybccsc2hybzcsc2hybscsr2bsrdcsr2bsrccsr2bsrzcsr2bsr xcsr2bsrNnzxcsr2cooscsr2cscdcsr2cscccsr2csczcsr2csc scsr2dense dcsr2dense ccsr2dense zcsr2densescsr2hybdcsr2hybccsr2hybzcsr2hyb sdense2csc ddense2csc cdense2csc zdense2csc sdense2csr ddense2csr cdense2csr zdense2csr sdense2hyb ddense2hyb cdense2hyb zdense2hybshyb2cscdhyb2cscchyb2csczhyb2cscshyb2csrdhyb2csrchyb2csrzhyb2csr shyb2dense dhyb2dense chyb2dense zhyb2densesnnzdnnzcnnzznnzcreateIdentityPermutationxcoosort_bufferSizeExt xcoosortByRowxcoosortByColumnxcsrsort_bufferSizeExtxcsrsortxcscsort_bufferSizeExtxcscsortscsru2csr_bufferSizeExtdcsru2csr_bufferSizeExtccsru2csr_bufferSizeExtzcsru2csr_bufferSizeExt scsru2csr dcsru2csr ccsru2csr zcsru2csr scsr2csru dcsr2csru ccsr2csru zcsr2csru csr2cscExscsr2csr_compressdcsr2csr_compressccsr2csr_compresszcsr2csr_compressspruneDense2csr_bufferSizeExtdpruneDense2csr_bufferSizeExthpruneDense2csr_bufferSizeExtspruneDense2csrNnzdpruneDense2csrNnzhpruneDense2csrNnzspruneDense2csrdpruneDense2csrhpruneDense2csrspruneCsr2csr_bufferSizeExtdpruneCsr2csr_bufferSizeExthpruneCsr2csr_bufferSizeExtspruneCsr2csrNnzdpruneCsr2csrNnzhpruneCsr2csrNnz spruneCsr2csr dpruneCsr2csr hpruneCsr2csr)spruneDense2csrByPercentage_bufferSizeExt)dpruneDense2csrByPercentage_bufferSizeExt)hpruneDense2csrByPercentage_bufferSizeExtspruneDense2csrNnzByPercentagedpruneDense2csrNnzByPercentagehpruneDense2csrNnzByPercentagespruneDense2csrByPercentagedpruneDense2csrByPercentagehpruneDense2csrByPercentage'spruneCsr2csrByPercentage_bufferSizeExt'dpruneCsr2csrByPercentage_bufferSizeExt'hpruneCsr2csrByPercentage_bufferSizeExtspruneCsr2csrNnzByPercentagedpruneCsr2csrNnzByPercentagehpruneCsr2csrNnzByPercentagespruneCsr2csrByPercentagedpruneCsr2csrByPercentagehpruneCsr2csrByPercentage snnz_compress dnnz_compress cnnz_compress znnz_compress csr2cscEx2csr2cscEx2_bufferSizescsric0dcsric0ccsric0zcsric0scsric02_bufferSizedcsric02_bufferSizeccsric02_bufferSizezcsric02_bufferSizescsric02_analysisdcsric02_analysisccsric02_analysiszcsric02_analysisscsric02dcsric02ccsric02zcsric02xcsric02_zeroPivotscsrilu0dcsrilu0ccsrilu0zcsrilu0scsrilu02_numericBoostdcsrilu02_numericBoostccsrilu02_numericBoostzcsrilu02_numericBoostscsrilu02_bufferSizedcsrilu02_bufferSizeccsrilu02_bufferSizezcsrilu02_bufferSizescsrilu02_analysisdcsrilu02_analysisccsrilu02_analysiszcsrilu02_analysis scsrilu02 dcsrilu02 ccsrilu02 zcsrilu02xcsrilu02_zeroPivotsbsric02_bufferSizedbsric02_bufferSizecbsric02_bufferSizezbsric02_bufferSizesbsric02_analysisdbsric02_analysiscbsric02_analysiszbsric02_analysissbsric02dbsric02cbsric02zbsric02xbsric02_zeroPivotsbsrilu02_numericBoostdbsrilu02_numericBoostcbsrilu02_numericBoostzbsrilu02_numericBoostsbsrilu02_bufferSizedbsrilu02_bufferSizecbsrilu02_bufferSizezbsrilu02_bufferSizesbsrilu02_analysisdbsrilu02_analysiscbsrilu02_analysiszbsrilu02_analysis sbsrilu02 dbsrilu02 cbsrilu02 zbsrilu02xbsrilu02_zeroPivotsgtsvdgtsvcgtsvzgtsv sgtsv_nopivot dgtsv_nopivot cgtsv_nopivot zgtsv_nopivotsgtsvStridedBatchdgtsvStridedBatchcgtsvStridedBatchzgtsvStridedBatch csrilu0Exsgtsv2_bufferSizeExtdgtsv2_bufferSizeExtcgtsv2_bufferSizeExtzgtsv2_bufferSizeExtsgtsv2dgtsv2cgtsv2zgtsv2sgtsv2_nopivot_bufferSizeExtdgtsv2_nopivot_bufferSizeExtcgtsv2_nopivot_bufferSizeExtzgtsv2_nopivot_bufferSizeExtsgtsv2_nopivotdgtsv2_nopivotcgtsv2_nopivotzgtsv2_nopivot sgtsv2StridedBatch_bufferSizeExt dgtsv2StridedBatch_bufferSizeExt cgtsv2StridedBatch_bufferSizeExt zgtsv2StridedBatch_bufferSizeExtsgtsv2StridedBatchdgtsv2StridedBatchcgtsv2StridedBatchzgtsv2StridedBatch#sgtsvInterleavedBatch_bufferSizeExt#dgtsvInterleavedBatch_bufferSizeExt#cgtsvInterleavedBatch_bufferSizeExt#zgtsvInterleavedBatch_bufferSizeExtsgtsvInterleavedBatchdgtsvInterleavedBatchcgtsvInterleavedBatchzgtsvInterleavedBatch#sgpsvInterleavedBatch_bufferSizeExt#dgpsvInterleavedBatch_bufferSizeExt#cgpsvInterleavedBatch_bufferSizeExt#zgpsvInterleavedBatch_bufferSizeExtsgpsvInterleavedBatchdgpsvInterleavedBatchcgpsvInterleavedBatchzgpsvInterleavedBatch scsrcolor dcsrcolor ccsrcolor zcsrcolor setStreamcIntConv cFloatConv cFromBoolghc-prim GHC.TypesBoolcToBoolcToEnum cFromEnum withComplex peekIntConv peekFloatConv