clSPARSE
v0.10.0.0
a software library containing Sparse functions written in OpenCL
|
Functions to setup or execute sparse iterative solvers. More...
enum | PRINT_MODE { QUIET = 0, NORMAL, VERBOSE } |
Enumeration to control the verbosity of the sparse iterative solver routines. VERBOSE will print helpful diagnostic messages to console. | |
enum | PRECONDITIONER { NOPRECOND = 0, DIAGONAL } |
Enumeration to select the preconditioning algorithm used to precondition the sparse data before the iterative solver execution phase. | |
typedef struct _solverControl * | clSParseSolverControl |
clSParseSolverControl keeps state relevant for OpenCL operations like kernel execution, memory allocation and synchronization behavior, specifically for sparse iterative solvers | |
CLSPARSE_EXPORT clsparseCreateSolverResult | clsparseCreateSolverControl (PRECONDITIONER precond, cl_int maxIters, cl_double relTol, cl_double absTol) |
Create a clSParseSolverControl object to control clsparse iterative solver operations. More... | |
CLSPARSE_EXPORT clsparseStatus | clsparseReleaseSolverControl (clSParseSolverControl solverControl) |
Release a clSParseSolverControl object created with clsparseCreateSolverControl. More... | |
CLSPARSE_EXPORT clsparseStatus | clsparseSetSolverParams (clSParseSolverControl solverControl, PRECONDITIONER precond, cl_int maxIters, cl_double relTol, cl_double absTol) |
Set clSParseSolverControl state. More... | |
CLSPARSE_EXPORT clsparseStatus | clsparseSolverPrintMode (clSParseSolverControl solverControl, PRINT_MODE mode) |
Set the verbosity level of the clSParseSolverControl object. More... | |
CLSPARSE_EXPORT clsparseStatus | clsparseScsrcg (cldenseVector *x, const clsparseCsrMatrix *A, const cldenseVector *b, clSParseSolverControl solverControl, clsparseControl control) |
Execute a single precision Conjugate Gradients solver. More... | |
CLSPARSE_EXPORT clsparseStatus | clsparseDcsrcg (cldenseVector *x, const clsparseCsrMatrix *A, const cldenseVector *b, clSParseSolverControl solverControl, clsparseControl control) |
Execute a double precision Conjugate Gradients solver. More... | |
CLSPARSE_EXPORT clsparseStatus | clsparseScsrbicgStab (cldenseVector *x, const clsparseCsrMatrix *A, const cldenseVector *b, clSParseSolverControl solverControl, clsparseControl control) |
Execute a single precision Bi-Conjugate Gradients Stabilized solver. More... | |
CLSPARSE_EXPORT clsparseStatus | clsparseDcsrbicgStab (cldenseVector *x, const clsparseCsrMatrix *A, const cldenseVector *b, clSParseSolverControl solverControl, clsparseControl control) |
Execute a double precision Bi-Conjugate Gradients Stabilized solver. More... | |
Functions to setup or execute sparse iterative solvers.
CLSPARSE_EXPORT clsparseCreateSolverResult clsparseCreateSolverControl | ( | PRECONDITIONER | precond, |
cl_int | maxIters, | ||
cl_double | relTol, | ||
cl_double | absTol | ||
) |
Create a clSParseSolverControl object to control clsparse iterative solver operations.
[in] | precond | A valid enumeration constant from PRECONDITIONER |
[in] | maxIters | Maximum number of iterations to converge before timing out |
[in] | relTol | Relative tolerance |
[in] | absTol | Absolute tolerance |
CLSPARSE_EXPORT clsparseStatus clsparseDcsrbicgStab | ( | cldenseVector * | x, |
const clsparseCsrMatrix * | A, | ||
const cldenseVector * | b, | ||
clSParseSolverControl | solverControl, | ||
clsparseControl | control | ||
) |
Execute a double precision Bi-Conjugate Gradients Stabilized solver.
[in] | x | the dense vector to solve for |
[in] | A | a clSPARSE CSR matrix with double precision data |
[in] | b | the input dense vector with double precision data |
[in] | solverControl | a valid clSParseSolverControl object created with clsparseCreateSolverControl |
[in] | control | A valid clsparseControl created with clsparseCreateControl |
CLSPARSE_EXPORT clsparseStatus clsparseDcsrcg | ( | cldenseVector * | x, |
const clsparseCsrMatrix * | A, | ||
const cldenseVector * | b, | ||
clSParseSolverControl | solverControl, | ||
clsparseControl | control | ||
) |
Execute a double precision Conjugate Gradients solver.
[in] | x | the dense vector to solve for |
[in] | A | a clSPARSE CSR matrix with double precision data |
[in] | b | the input dense vector with double precision data |
[in] | solverControl | a valid clSParseSolverControl object created with clsparseCreateSolverControl |
[in] | control | A valid clsparseControl created with clsparseCreateControl |
CLSPARSE_EXPORT clsparseStatus clsparseReleaseSolverControl | ( | clSParseSolverControl | solverControl | ) |
Release a clSParseSolverControl object created with clsparseCreateSolverControl.
[in,out] | solverControl | clSPARSE object created with clsparseCreateSolverControl |
CLSPARSE_EXPORT clsparseStatus clsparseScsrbicgStab | ( | cldenseVector * | x, |
const clsparseCsrMatrix * | A, | ||
const cldenseVector * | b, | ||
clSParseSolverControl | solverControl, | ||
clsparseControl | control | ||
) |
Execute a single precision Bi-Conjugate Gradients Stabilized solver.
[in] | x | the dense vector to solve for |
[in] | A | the clSPARSE CSR matrix with single precision data |
[in] | b | the input dense vector with single precision data |
[in] | solverControl | a valid clSParseSolverControl object created with clsparseCreateSolverControl |
[in] | control | A valid clsparseControl created with clsparseCreateControl |
CLSPARSE_EXPORT clsparseStatus clsparseScsrcg | ( | cldenseVector * | x, |
const clsparseCsrMatrix * | A, | ||
const cldenseVector * | b, | ||
clSParseSolverControl | solverControl, | ||
clsparseControl | control | ||
) |
Execute a single precision Conjugate Gradients solver.
[in] | x | the dense vector to solve for |
[in] | A | a clSPARSE CSR matrix with single precision data |
[in] | b | the input dense vector with single precision data |
[in] | solverControl | a valid clSParseSolverControl object created with clsparseCreateSolverControl |
[in] | control | A valid clsparseControl created with clsparseCreateControl |
CLSPARSE_EXPORT clsparseStatus clsparseSetSolverParams | ( | clSParseSolverControl | solverControl, |
PRECONDITIONER | precond, | ||
cl_int | maxIters, | ||
cl_double | relTol, | ||
cl_double | absTol | ||
) |
Set clSParseSolverControl state.
[in] | solverControl | clSPARSE object created with clsparseCreateSolverControl |
[in] | precond | A valid enumeration constant from PRECONDITIONER, how to precondition sparse data |
[in] | maxIters | Maximum number of iterations to converge before timing out |
[in] | relTol | Relative tolerance |
[in] | absTol | Absolute tolerance |
CLSPARSE_EXPORT clsparseStatus clsparseSolverPrintMode | ( | clSParseSolverControl | solverControl, |
PRINT_MODE | mode | ||
) |
Set the verbosity level of the clSParseSolverControl object.
[in] | solverControl | clSPARSE object created with clsparseCreateSolverControl |
[in] | mode | A valid enumeration constant from PRINT_MODE, to specify verbosity level |