# MatCUSPARSEFormatOperation
indicates the operation of CUSPARSE (GPU) matrices whose operation should use a particular storage format. 
## Synopsis
```
typedef enum {
  MAT_CUSPARSE_MULT_DIAG,
  MAT_CUSPARSE_MULT_OFFDIAG,
  MAT_CUSPARSE_MULT,
  MAT_CUSPARSE_ALL
} MatCUSPARSEFormatOperation;
```
Not Collective


- ***`MAT_CUSPARSE_MULT_DIAG` -*** sets the storage format for the diagonal matrix in the parallel MatMult
- ***`MAT_CUSPARSE_MULT_OFFDIAG` -*** sets the storage format for the offdiagonal matrix in the parallel MatMult
- ***`MAT_CUSPARSE_MULT` -*** sets the storage format for the entire matrix in the serial (single GPU) MatMult
- ***`MAT_CUSPARSE_ALL` -*** sets the storage format for all CUSPARSE (GPU) matrices





## See Also
 `MatCUSPARSESetFormat()`, `MatCUSPARSEStorageFormat`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscmat.h.html#MatCUSPARSEFormatOperation">include/petscmat.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscmat.h)


[Index of all Mat routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
