Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Inspector-Executor API for Sparse BLAS

Elafrou__Athena
Beginner
409 Views

Hi, 

I am trying to use the Inspector-Executor API for SpMV, but it seems like the mkl_sparse_optimize() routine is not performing any optimizations, as I am not seeing any performance difference for matrices shown here http://www.inteldevconference.com/wp-content/uploads/2015/12/Intel-DevCon-London-2015-Fedorov-MKL.pdf. I am using the following code:

 

sparse_status_t err;
sparse_matrix_t A;
struct matrix_descr matdescr;
matdescr.type = SPARSE_MATRIX_TYPE_GENERAL;
err = mkl_sparse_d_create_csr(&A, SPARSE_INDEX_BASE_ZERO, nrows, ncols, pointerB, pointerE, colind, values);
err = mkl_sparse_set_mv_hint(A, SPARSE_OPERATION_NON_TRANSPOSE, SPARSE_FULL, 50000000);
err = mkl_sparse_set_memory_hint(A, SPARSE_MEMORY_AGGRESSIVE);
err = mkl_sparse_optimize(A);

for (int l = 0; l < LOOPS; l++)
    mkl_sparse_d_mv(SPARSE_OPERATION_NON_TRANSPOSE, ALPHA, A, matdescr, x, BETA, y);

 

I am using the API incorrectly?

Thanks

 

 

0 Kudos
1 Reply
Gennady_F_Intel
Moderator
409 Views

yes, at the first glance you use these routines correct. You may also have a look at the similar examples show how to do that - see mklroot/examples/spblasc/ directory.  Have you compared this new API with mkl_dcsrmv routine? 

0 Kudos
Reply