Open tpolakovic opened 6 years ago
Yes, unfortunately multidim is supported only with the MKL native provider at this point - despite of our design principle that all functionality must work also with the built-in managed provider. I'll keep this issue open until this is fixed. Thanks for the reminder.
I see. On a related note, I tried using the MKL native provider (built following the steps on the MathNet website) and now I'm getting this error:
Unhandled Exception: System.NotSupportedException: MKL Native Provider not found. ---> System.DllNotFoundException: Unable to load shared library 'libdl.so' or one of its dependencies.
Any idea why that may be happening?
This used to work. Maybe we need to use libdl.dylib
instead of libdl.so
to dynamically load the provider on newer OSX versions? I don't have a mac, so I cannot test myself.
Any updates or workarounds for the original issue?
This issue is now 3 years old. It blocks more usage than just MultiDim
API, because 2D Fourier transforms rely on a multidimensional transform. It makes it hard to do any kind of multidimensional Fourier analysis on macOS. It should be higher priority.
@cdrnet I'd say that your hunch about using the .dylib
extension is spot on, seeing as darwin does not natively load elf binaries, but mach ones. If you want a guinea pig, I'm happy to test out the changes for you.
Additionally, newer Macs now run an AMD architecture that requires the use of AVX2 hardware vectorized instructions in order to optimize for MKL. AVX2 support can be enabled by setting the environment variable MKL_DEBUG_CPU_TYPE=5
while compiling on an AMD system. I highly recommend this be enabled for AMD architectures if it isn't already.
Any progress on this? It's not really the best thing to have to download 150 MB of MKL just for one Fourier transform.
When trying to use Fourier transforms (forward or inverse) like for example
I get an error:
This is on OS X Mojave 10.14 using Visual Studio 2017.