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

Multi-threading with 1D-DFT in MKL 10.0

lsl1
Beginner
559 Views

I cannot seem to make MKL 10.0 use multi-threading (multiple processors) with a 1D DFT. I note from the latest user guide that:

"For power-of-two data in 1D FFTs, Intel MKL provides parallelism for all the three supported architectures."

However I cannot appear to get this to work. The DFTsonly appear to use one processor.

For info, I amattempting to computea 512K point reverse (inverse) FFT. I am using MS VC++ 2003. Platform is IA32 Dual Quad Xeon processors. I am building with mkl_intel_thread.lib and mkl_c.lib. There is no threading in my own application. The environment variable MKL_NUM_THREADS=8, to match the number of processors in the system.

Any help or suggestions much appreciated.

0 Kudos
1 Reply
IRCAnonymous__IRCAn1
559 Views
I can't get it to work on multiple processors either. I am trying it on SLES 10.1 EM64T and I am wondering if I am getting hit by one of the following caveats:

1) Intel MKL is threaded in a number of places.. and all FFTs (except 1D transformations when DFTI_NUMBER_OF_TRANSFORMS=1 and sizes are not power of two). My DFTI_NUMBER_OF_TRANSFORMS is equal to one, but my transform size is a power of two.

2 NOTE. For power-of-two data in 1D FFTs, Intel MKL provides parallelism for all the three supported architectures. For Intel 64 (EM64T?) architecture, the parallelism is provided for double complex out-of-place FFTs only. My data is not currently doubles, so maybe this is why?

Steve


0 Kudos
Reply