Copyright | [2017] Trevor L. McDonell |
---|---|
License | BSD3 |
Maintainer | Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> |
Stability | experimental |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
The cuSolver library provides useful LAPACK-like features implemented on NVIDIA GPUs. This module implements a subset of LAPACK functions on dense matrices.
To use operations from the cuSolver library, the user must allocate the required vectors and matrices in the GPU memory space, fill them with data, call the desired sequence of cuSolver functions, then copy the results from the GPU memory space back to the host.
The cuda package can be used for writing to and retrieving data from the GPU.
- Example
TODO
- Additional information
For more information, see the NVIDIA cuSolver documentation:
Synopsis
- newtype Handle = Handle (Ptr ())
- create :: IO Handle
- destroy :: Handle -> IO ()
- module Foreign.CUDA.Solver.Dense.Stream
- module Foreign.CUDA.Solver.Error
- module Foreign.CUDA.Solver.Dense.Linear
- module Foreign.CUDA.Solver.Dense.Eigenvalue
Control
An opaque handle to the cuSolverDN context, which is passed to all library function calls.
http://docs.nvidia.com/cuda/cusolver/index.html#cuSolverDNhandle
This function initializes the cuSolverDN library and creates a handle to the cuSolverDN context. It must be called before any other cuSolverDN API function is invoked. It allocates hardware resources necessary for accessing the GPU.
http://docs.nvidia.com/cuda/cusolver/index.html#cuSolverDNcreate
destroy :: Handle -> IO () Source #
This function releases resources used by the cuSolverDN library.
http://docs.nvidia.com/cuda/cusolver/index.html#cuSolverDNdestroy
module Foreign.CUDA.Solver.Error