Number of threads in Pardiso

Number of threads in Pardiso

Ritratto di danielsue

Hi all,

I have an odd problem in setting the number of threads in Pardiso. My cpu is Xeon E5-2620, 6 cores 12 threads. I found iparm(3) and MKL_NUM_THREADS (OR OMP_NUM_THREADS) don't take any effect at all. It always use 6 processors.

How can I configure the parameters to let the program use more (or less) processors.

Thanks and regards,

Daniel

8 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di danielsue

My compiler is Intel Parallel Studio XE2013, system is WIN7 X64.

Ritratto di Alexander Kalinkin (Intel)

Hi Daniel,
iparm(3) doesn't support in current version of MKL Pardiso. Did you change value of MKL_DYNAMIC?
With best regards,
Alexander Kalinkin

Ritratto di danielsue

Quote:

Alexander Kalinkin (Intel) wrote:

Hi Daniel,
iparm(3) doesn't support in current version of MKL Pardiso. Did you change value of MKL_DYNAMIC?
With best regards,
Alexander Kalinkin

No, I just use the sample pardiso_unsym_f for testing. Nothing changed except iparm(3) and the environmental variable MKL_NUM_THREADS.

Ritratto di Alexander Kalinkin (Intel)

Ok. I see. The size of matrix in this example is quite small, so how you check number of threads that PARDISO used?
With best regards,
Alexander Kalinkin

Ritratto di danielsue

Hi Alexander,
Thanks.
I check the number of threads from the output statistics provided by PARDISO, something like:
< Parallel Direct Factorization with number of processors: > 6
I will test on a bigger one of 7728*7728 sparse matrix with non-zero elements of 324184. It was solved by other serial method before. This is the case I would like to use pardiso to solve it.

Ritratto di Alexander Kalinkin (Intel)

Hi
Try to input next call:
mkl_set_dynamic(0);
mkl_set_num_threads(12);
before call of PARDISO.
With best regards,
Alexander Kalinkin

Ritratto di danielsue

Quote:

Alexander Kalinkin (Intel) wrote:

Hi
Try to input next call:
mkl_set_dynamic(0);
mkl_set_num_threads(12);
before call of PARDISO.
With best regards,
Alexander Kalinkin

Thanks Alexander. This works.

Accedere per lasciare un commento.