petsc-3.10.5 2019-03-28
Report Typos and Errors

# MatCreateSeqAIJMKL

Creates a sparse matrix of type SEQAIJMKL. This type inherits from AIJ and is largely identical, but uses sparse BLAS routines from Intel MKL whenever possible. If the installed version of MKL supports the "SpMV2" sparse inspector-executor routines, then those are used by default. MatMult, MatMultAdd, MatMultTranspose, MatMultTransposeAdd, MatMatMult, MatTransposeMatMult, and MatPtAP (for symmetric A) operations are currently supported. Note that MKL version 18, update 2 or later is required for MatPtAP/MatPtAPNumeric and MatMatMultNumeric.

### Synopsis

    PetscErrorCode  MatCreateSeqAIJMKL(MPI_Comm comm,PetscInt m,PetscInt n,PetscInt nz,const PetscInt nnz[],Mat *A)

Collective on MPI_Comm

### Input Parameters

| comm | - MPI communicator, set to PETSC_COMM_SELF
| m | - number of rows
| n | - number of columns
| nz | - number of nonzeros per row (same for all rows)
| nnz | - array containing the number of nonzeros in the various rows (possibly different for each row) or NULL

### Output Parameter

A -the matrix

### Options Database Keys

| -mat_aijmkl_no_spmv2 | - disable use of the SpMV2 inspector-executor routines
| -mat_aijmkl_eager_inspection | - perform MKL "inspection" phase upon matrix assembly; default is to do "lazy" inspection, performing this step the first time the matrix is applied

### Notes

If nnz is given then nz is ignored

### Keywords

matrix, MKL, sparse, parallel

### See Also

MatCreate(), MatCreateMPIAIJMKL(), MatSetValues()

### Level

intermediate

### Location

src/mat/impls/aij/seq/aijmkl/aijmkl.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages