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

Threaded version of paradiso OOC

Laurence_Page
Beginner
638 Views
Is there any work being done/planned to enable threads with the paradiso Out of Core solver?
0 Kudos
4 Replies
Gennady_F_Intel
Moderator
638 Views

Yes, we are working on this problem right now but I cannot provide exact data when this version will be available for external customer.
--Gennady

0 Kudos
Sergey_K_Intel1
Employee
638 Views

In fact, out of core PARDISO fromMKL 10.1 Goldreleased recentlyuses parallelism available through MKLBLAS and MKL LAPACK.It should also be noted that starting from the release MKL DSS/PARDISO only uses the number of threads set with the help of any available Intel MKL or OpenMP threading controls (e.g. OMP_NUM_THREADS, MKL_NUM_THREADS environment variables and etc). The value of iparm(3) is ignored.

Gennady meant out-of-core version with parallelism at PARDISO level.

All the best
Sergey
0 Kudos
Laurence_Page
Beginner
638 Views

In fact, out of core PARDISO from MKL 10.1 Gold released recently uses parallelism available through MKL BLAS and MKL LAPACK. It should also be noted that starting from the release MKL DSS/PARDISO only uses the number of threads set with the help of any available Intel MKL or OpenMP threading controls (e.g. OMP_NUM_THREADS, MKL_NUM_THREADS environment variables and etc). The value of iparm(3) is ignored.

Gennady meant out-of-core version with parallelism at PARDISO level.

All the best
Sergey
I'm using 10.1.019, should that contain the parallel OOC version of paradiso?

It reports that it is using the requested (via MKL_NUM_THREADS) number of threads if I run In-Core. However, by simply changing iparm(60) from 0 to 2 (to force it to run out-of -core) it always reports that it is running on a single thread. There doesn't appear to be any parallel activity from the BLAS-3 level routines. The manual says (not very loudly) that paradiso OOC will only use the one thread.

Would you expect the BLAS/LAPACK threads to make a significant speed improvement?
0 Kudos
Sergey_K_Intel1
Employee
638 Views
Quoting - Laurence Page
I'm using 10.1.019, should that contain the parallel OOC version of paradiso?

It reports that it is using the requested (via MKL_NUM_THREADS) number of threads if I run In-Core. However, by simply changing iparm(60) from 0 to 2 (to force it to run out-of -core) it always reports that it is running on a single thread. There doesn't appear to be any parallel activity from the BLAS-3 level routines. The manual says (not very loudly) that paradiso OOC will only use the one thread.

Would you expect the BLAS/LAPACK threads to make a significant speed improvement?

Dear Laurence,

Yes, 10.1.019 should contain the parallel OOC version of PARDISO. And PARDISO reportsthe number of threads used by PARDISO only but it allows BLAS and LAPACK to use the number of threads set through MKL threading controls like MKL_NUM_THREADS environment variable.

There are no doubts that the high level parallelism at PARDISO level shouldhave better performance characteristicscompared to the usage of parallelism at BLAS and LAPACK level.

Ufortunately, speed imrovement for the PARDISO OOC versionwhich usesBLAS and LAPACK parallelism depends on many factors:OS, hardware, matrix structure, value of MKL_MAX_OOC_CORE_SIZE and etc. I'd recommend to set MKL_MAX_CORE_SIZE close to the size of RAM available on your computer.

All the best
Sergey
0 Kudos
Reply