Table 11.4 shows the mapping between MKL’s traditional Sparse BLAS and AOCL-Sparse’s APIs. Unlike the MKL’s I/E APIs, the traditional APIs work with pointers, without utilizing any abstract data structures. Some of the APIs of interest are listed in the table with the corresponding AOCL-Sparse API. Additionally, Table 11.5 lists the mappings of various types (value of pointers) within MKL’s traditional interface with AOCL-Sparse types. This section describes the porting process with a few illustrations.
MKL Old |
AOCL-Sparse |
Comments |
|---|---|---|
|
||
mkl_cspblas_dcsrgemvmkl_?csrmvmkl_?csrgemvmkl_?csrsymv |
||
mkl_?csrtrsvmkl_?csrsv |
||
|
||
|
General, symmetric and Hermitian matrices supported |
|
|
||
|
||
|
MKL |
AOCL-Sparse |
Comments |
|
|---|---|---|---|
|
|
||
|
|
||
|
|
||
|
|
mat_type = |
b is 0/1 based on zero/one-based indexing |
|
|
mat_type = |
|
|
|
mat_type = |
|
|
|
mat_type = |
|
matdescra[b+1]*uplo |
|
fill = |
matdescra[b+1] is |
matdescra[b+1]*uplo |
|
fill = |
matdescra[b+1] is |
|
|
matdescra[b+1] is |
|
|
|
diag = |
matdescra[b+1] is |
|
|
base = |
|
|
|
base = |