Community
cancel
Showing results for 
Search instead for 
Did you mean: 
jickerson
Beginner
66 Views

Limiting number of threads/processors for benchmarking purposes

Is there any way to restrict the number of threads/processors used by numpy linked to MKL? I would like to restrict it to one processor, as the final implemenation of the program will be run in parallel, so each instance would only be effectively using one processor. I need to get some estimated times for one processor as i will be comparing the performance to alternative options that are single-threaded (but would be run in parallel on my setup as well).

I just don't have access to the full setup right now, so i'm trying to benchmark them on a different setup, so i need to be able to compare the run times in an apple to apples environment (one processor each). I've tried settting os.environ['OMP_NUM_THREADS'] = '1', but the program still runs on both processors.

Thanks!
0 Kudos
3 Replies
barragan_villanueva_
Valued Contributor I
66 Views

Hi,

If you don'tneed parallel work ofMKL just link with sequential MKLlibrary instead of thread-library.
jickerson
Beginner
66 Views

I'm sorry, but i'm not that familiar with MKL (the library came pre-linked in the Enthought python distro that I am using). Could you point me to a quick reference on how to do this? Is it a flag that i can just include in my python script?
barragan_villanueva_
Valued Contributor I
66 Views

On Linux:
In your config files please find mkl_intel_thread and substitute it to mkl_sequential
It maybe something like -lmkl_intel_thread or with full name of library libmkl_intel_thread
Reply