muSOLVER API Reference
Functions
| Name | |
|---|---|
| MUSOLVER_EXPORT mublasStatus_t | musolverDnXgetrs(musolverDnHandle_t handle, const mublasOperation_t trans, const int n, const int nrhs, float * A, const int lda, const int * ipiv, float * B, const int ldb, void * buffer) GETRS solves a system of n linear equations on n variables in its factorized form. |
| MUSOLVER_EXPORT mublasStatus_t | musolverDnXgelsBatched_bufferSize(mublasOperation_t trans, const int m, const int n, const int nrhs, const int batch_count, int * buffer_size) Computes the size of the workspace buffer required for solving a batch of generalized least squares problems. |
| MUSOLVER_EXPORT mublasStatus_t | musolverDnXgelsBatched(musolverDnHandle_t handle, mublasOperation_t trans, const int m, const int n, const int nrhs, float *const A[], const int lda, float *const B[], const int ldb, int * info, const int batch_count, void * buffer) GELS_BATCHED solves a batch of overdetermined (or underdetermined) linear systems defined by a set of m-by-n matrices , and corresponding matrices , using the QR factorizations computed by GEQRF_BATCHED (or the LQ factorizations computed by GELQF_BATCHED). |
| MUSOLVER_EXPORT mublasStatus_t | musolverDnXgetrf_bufferSize(musolverDnHandle_t handle, const int m, const int n, float* A, const int lda, int * buffersize) Computes the workspace size needed for LU factorization of a general m-by-n matrix A. |
| MUSOLVER_EXPORT mublasStatus_t | musolverDnXgetrf(musolverDnHandle_t handle, const int m, const int n, float * A, const int lda, int * ipiv, int * info, void * buffer) GETRF computes the LU factorization of a general m-by-n matrix A using partial pivoting with row interchanges. |
| MUSOLVER_EXPORT mublasStatus_t | musolverDnXgetriBatched(musolverDnHandle_t handle, const int n, float *const A[], const int lda, int * ipiv, const int strideP, int * info, const int batch_count) GETRI_BATCHED inverts a batch of general n-by-n matrices using the LU factorization computed by GETRF_BATCHED. |
| MUSOLVER_EXPORT mublasStatus_t | musolverDnXgetrfBatched_bufferSize(musolverDnHandle_t handle, const int m, const int n, float* const A[], const int lda, const int batch_count, int * buffersize) Computes the required buffer size for a batched LU factorization of general m-by-n matrices. |
| MUSOLVER_EXPORT mublasStatus_t | musolverDnXgetrfBatched(musolverDnHandle_t handle, const int m, const int n, float *const A[], const int lda, int * ipiv, const int strideP, int * info, const int batch_count, void * buffer) GETRF_BATCHED computes the LU factorization of a batch of general m-by-n matrices using partial pivoting with row interchanges. |
Functions Documentation
function musolverDnXgetrs
MUSOLVER_EXPORT musolverStatus_t musolverDnXgetrs(
musolverDnHandle_t handle,
const mublasOperation_t trans,
const int n,
const int nrhs,
float * A,
const int lda,
const int * ipiv,
float * B,
const int ldb,
void * buffer
)
GETRS solves a system of n linear equations on n variables in its factorized form.
Parameters:
- handle musolverDnHandle_t.
- trans mublasOperation_t.
Specifies the form of the system of equations.
- n int. n >= 0.
The order of the system, i.e. the number of columns and rows of A.
- nrhs int. nrhs >= 0.
The number of right hand sides, i.e., the number of columns of the matrix B.
- A pointer to type. Array on the GPU of dimension lda*n.
The factors L and U of the factorization A = PLU returned by GETRF.
- lda int. lda >= n.
The leading dimension of A.
- ipiv pointer to int. Array on the GPU of dimension n.
The pivot indices returned by GETRF.
- B pointer to type. Array on the GPU of dimension ldb*nrhs.
On entry, the right hand side matrix B. On exit, the solution matrix X.
- ldb int. ldb >= n.
The leading dimension of B.
- buffer pointer to void. Workspace buffer allocated for the factorization process. The size of this buffer should be determined by a previous call to
[musolverXgetrf_bufferSize()](#function-musolverxgetrf-buffersize). The buffer is used internally during the factorization process to store temporary data.
It solves one of the following systems, depending on the value of trans:
Matrix A is defined by its triangular factors as returned by GETRF.
MUSOLVER_EXPORT musolverStatus_t musolverDnSgetrs(musolverDnHandle_t handle,
const mublasOperation_t trans,
const int n,
const int nrhs,
float* A,
const int lda,
const int* ipiv,
float* B,
const int ldb,
void* buffer);
MUSOLVER_EXPORT musolverStatus_t musolverDnDgetrs(musolverDnHandle_t handle,
const mublasOperation_t trans,
const int n,
const int nrhs,
double* A,
const int lda,
const int* ipiv,
double* B,
const int ldb,
void* buffer);
MUSOLVER_EXPORT musolverStatus_t musolverDnCgetrs(musolverDnHandle_t handle,
const mublasOperation_t trans,
const int n,
const int nrhs,
muComplex* A,
const int lda,
const int* ipiv,
muComplex* B,
const int ldb,
void* buffer);
MUSOLVER_EXPORT musolverStatus_t musolverDnZgetrs(musolverDnHandle_t handle,
const mublasOperation_t trans,
const int n,
const int nrhs,
muDoubleComplex* A,
const int lda,
const int* ipiv,
muDoubleComplex* B,
const int ldb,
void* buffer);