I would like to use MKL FFT functions in C++ of VS 2013 on Windows x64 system. What I have done are:
1. Run test example C program, MKL FFT functions work OK
2. Run my x64 program without calls to MKL FFT functions, it works also OK
3. Add call to MKL FFT functions in my C++ classes which are built into a dll called Utility, my whole program compiles OK
4. Run my program which links the Utility.dll that calls to MKL FFT functions, it crashed with "System.DllNotFoundExeption"
5. The “DllNotFound” didn’t refer to Utility.dll that calls the MKL FFT functions. It complaints about APICreatedBySWIG.dll not found.
APICreatedBySWIG.dll is a dll generated by the SWIG that converts my selected C++ functions to C# and Python interfaces wrapper.
6. To simplify the case, I exclude, in the SWIG conversions, all of those functions that call MKL FFT. In other words, APICreatedBySWIG.dll doesn’t contain any of those functions that call MKL FFT.
7. Comment out the calls to MKL FFT functions, my program starts working again
8. Replace the calls to MKL FFT functions with MKL Convolve functions in VSL, my program run beautifully without any issue
9. To investigate the dependency of the MKL FFT functions, I have load the the Utility.dll on “Dependency Walker”, which shows some MKL functions in red and an error: At least one module has an unresolved import ...... (please see attachement)
To resolve this issue I need your help urgently. It would be greatly appreciated if you can shed some light on searching the answer for
1. which dll actually missing during run time and which dll the MKL function MKL DftiComputeForward actually depends on?
2. why loading APICreatedBySWIG.dll crashes when is doesn’t contain the function that calls MKL DftiComputeForward in C++ class?
3. are there some special requirements for linking those MKL libraries tjhat are in red on “Dependency Walker”?
4. Is crash due to my x64 system conflicts with some MKL library which are 32bit?
My system:
1. Xeon E5-2650 v3
2. Windows 7 Professional 64-bit
3. Visual Studio 2013
5. VS C++
6. boost_1_68_0
7. SWIG to convert selected C++ functions to C# or Python interface wrappers
8. Intel® Parallel Studio installed (compilers_and_libraries_2019.1.144 & Intel C++ Compiler 19.0)
9. Use Intel MKL = Parallel
Please let me know if any additional information is needed.