Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] OMP_NUM_THREADS and MKL_NUM_THREADS.
From: Reuti (reuti_at_[hidden])
Date: 2012-07-18 05:42:55


Am 18.07.2012 um 07:17 schrieb Hongsheng Zhao:

> After compiling openmpi using intel parallel studio, I've seen the following bashrc settings by others:
>
> ----------------
> source /home/zhanqgp/intel/composerxe/bin/compilervars.sh intel64
> source /home/zhanggp/intel/composerxe/mkl/bin/mklvars.sh intel64 lp64
> export PATH=/home/zhanggp/software/openmpi-1.4.5/bin:$PATH
> expott LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zhanggp/software/openmpi-1.4.5/lib
> export OMP_NUM_THREADS=1
> export MKL_NUM_THREADS=1
> ----------------
>
> Could you please give me some hints the OMP_NUM_THREADS and MKL_NUM_THREADS used in bashrc file? Must I use them? Thanks in advance.

If you grant some cores to your job to distribute the workload across the MPI processes, the built-in parallelization of the used library (MKL) may oversubscribe the system, as the default for it is to use all available cores in a machine. Means: if you have 4 cores in a machine and want to start 4 MPI processes. Each process will then start 4 processes when using the MKL and you end up with 16. Therefore often the MKL is limited to use just one core in such context.

-- Reui