Matthieu Brucher wrote: >> try: >> import sys >> import ctypes >> _old_rtld = sys.getdlopenflags() >> sys.setdlopenflags(_old_rtld|ctypes.RTLD_GLOBAL) >> from numpy.linalg import lapack_lite >> finally: >> sys.setdlopenflags(_old_rtld) >> del sys; del ctypes; del _old_rtld >> > > This also applies to scipy code that relies on BLAS as well. Lisandra > Dalcin gave me a tip that is close to this one some months ago > (http://matt.eifelle.com/2008/11/03/i-used-the-latest-mkl-with-numpy-and.../). > The best official solution is to statically link against the MKL with > Python. > > IIUC, it should be enough to load the .so-s in GLOBAL mode once. So it is probably enough to ensure NumPy is patched in a way so that SciPy loads NumPy which loads the .so-s in GLOBAL mode, so that a seperate patch for SciPy is not necesarry. (Remains to be tried, I'm moving on to building SciPy now.)
As for static linking, do you mean linking MKL into the Python interpreter itself? Or statically linking with NumPy? In the former case....well, even if the above solution is a not-officially-supported hack, I'd prefer that to messing with the Python build as long as it actually works, which it seems to...requiring custom Python builds for MKL support is not something one should do if one could avoid it. (I build my own Python anyway, but I suppose many potential NumPy/MKL users don't.) Dag Sverre _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion