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.
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?