Skip to main content
`Ctrl`+`K`

# MATMPIAIJCUSPARSE

A matrix type to be used for sparse matrices on NVIDIA GPUs.

## Options Database Keys

- -mat_type mpiaijcusparse - sets the matrix type to `MATMPIAIJCUSPARSE`

- -mat_cusparse_storage_format csr - sets the storage format of diagonal and off-diagonal matrices. Other options include ell (ellpack) or hyb (hybrid).

- -mat_cusparse_mult_diag_storage_format csr - sets the storage format of diagonal matrix. Other options include ell (ellpack) or hyb (hybrid).

- -mat_cusparse_mult_offdiag_storage_format csr - sets the storage format of off-diagonal matrix. Other options include ell (ellpack) or hyb (hybrid).

## Notes

These matrices can be in either CSR, ELL, or HYB format. The ELL and HYB formats require CUDA 4.2 or later.

All matrix calculations are performed on NVIDIA GPUs using the cuSPARSE library.

Uses 32-bit integers internally. If PETSc is configured `--with-64-bit-indices`, the integer row and column indices are stored on the GPU with `int`. It is unclear what happens if some integer values passed in do not fit in `int`.

## See Also

Matrices, `Mat`, `MatCreateAIJCUSPARSE()`, `MATSEQAIJCUSPARSE`, `MATMPIAIJCUSPARSE`, `MatCreateSeqAIJCUSPARSE()`, `MatCUSPARSESetFormat()`, `MatCUSPARSEStorageFormat`, `MatCUSPARSEFormatOperation`

## Level

beginner

## Location

src/mat/impls/aij/mpi/mpicusparse/mpiaijcusparse.cu

## Examples

src/ksp/ksp/tutorials/ex79.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages