I have several sparse iterative solvers that use the deprecated MKL sparse Blas procedures. After converting the solvers to use the latest sparse BLAS executor functions they all run slower than before. Has anyone else noticed this difference?
Typical times (seconds):
Equations threads Old_MKL Executor_MKL
2e5 1 13 17
2e5 6 6 10
3e6 1 170 250
The solvers used mkl_dcsrtrsv and mkl_dcsrsymv, they were updated to use mkl_sparse_d_trsv and mkl_sparse_d_mv. Double precision and double complex show similar time comparisons.
The comparisons were performed on a windows 10 computer with a Xeon E5 1650 processor, software built using Parallel XE 2019 with intel fortran and C++ compilers.
Hello,
We haven't heard of this issue. Could you share your workload (matrix) with us so that we can check? Also, which threading did you use (I assume, OpenMP), was it Intel OpenMP or GNU?
Also, did you call mkl_sparse_optimize with appropriate hints before the actual calls to the computational routines?
In other words, if you can give us a simple example (just showing the way you call old SpBLAS and IE SpBLAS), it would speed up our investigation.
Thanks,
Kirill
John
you may also submit this issue via Intel Online Service Center where you could share the reproducer and all needed details in the case if all of your data are private.
I have now created a small program to demonstrate the problem and submitted it as an issue to the support centre as recommended by F. Gennady.
I will report progress.
For more complete information about compiler optimizations, see our Optimization Notice.