![]() IPP is used by IPT for running some highly-optimized image-processing functions. If you have the Image Processing Toolbox (IPT), then you will also find Intel’s IPP (Integrated Performance Primitives) library ( ippl.dll) in the same folder as mkl.dll. Note that both of these options only apply to MKL/ACML, and not to other libraries – in those cases, AFAIK, only a direct replacement of the physical file will work. One user has reported that in his specific case this achieved a 30% speedup with no change to the code. Upgrading Matlab’s math libs is purely an exercise for adventurous engineers who like to blow things up (oh, the sheer pleasure of charting undocumented waters!).Īddendum : Amro’s comment below provides links to several articles that show how we can redirect Matlab to use a different BLAS/LAPACK library than the default (in MKL/ACML), by either setting the BLAS_VERSION environment variable or by updating the blas.spec and lapack.spec files in the libs folder. So when I do explicitly warn like this, you should take extra note. After all, this is a blog about undocumented / unsupported stuff. If you design a car with upgraded libs, just let me know please, so that I’d know not to buy that model… I don’t often place such warnings on this blog. Don’t come crying if Matlab starts to crash, or even worse – to return incorrect numerical results. Needless to say, upgrading specific DLLs in Matlab can be extremely dangerous, and is entirely unsupported by MathWorks. However, nothing prevents us from downloading the latest library and using it directly. I believe that FFTW is directly integrated in Matlab’s code. Unfortunately, unlike MKL, FFTW is not bundled as a replaceable library file. Similarly, FFTW’s latest stable release is 3.3.3, offers advantages compared to R2013a’s bundled 3.3.1 version. You may wish to use MKL’s FFTW wrapper in such cases rather than calling MKL’s FFT routines directly. Improved functionality of MKL’s FFT implementation - Matlab’s *fft functions use FFTW, but in some cases MKL’s FFT implementation outperforms FFTW’s.Improved support for Intel’s AVX2 instruction set (see related comment by Eric Sampson recently).Using this example, the latest official version of MKL is 11.0, which promises several important improvements over R2013a’s bundled version (10.3.11): For example: C:\Program Files\Matlab\R2013b\bin\win64\mkl.dll is Intel’s MKL (Math Kernel Library), which contains BLAS and LAPACK. For those interested, the libraries are located in %matlabroot%/bin/%arch%. Naturally, you can only upgrade if you have a license for the upgraded library. It may well be possible for users to upgrade the internal libraries that Matlab uses to the latest version, assuming that backward compatibility is preserved in these libraries (which I suppose is the case). dll Version Ĭ:\Program Files\Matlab\R2013b\bin\win64\libut.dll Version Ĭ:\Program Files\Matlab\R2013b\bin\win64\libmwfl.dll Version Ĭ:\Program Files\Matlab\R2013b\bin\win64\libmx.dll Version 8.2.0.627Ĭ:\Program Files\Matlab\R2013b\bin\win64\zlib1.dll Version ĭo you know of any other hidden version info anywhere in Matlab? If so, please post a comment below. dll Version Ĭ:\Program Files\Matlab\R2013b\bin\win64\libmx. ![]() dll Version Ĭ:\Program Files\Matlab\R2013b\bin\win64\libmwfl. ![]() Note that the LAPACK version is not always updated together with BLAS, although they are both part of Intel’s MKL (more on MKL below).Īddendum : The undocumented -modules option of the version command provides the list of currently installed libraries:Ĭ:\Program Files\Matlab\R2013b\bin\win64\libut. Here is a summary of the math libraries version in recent Matlab releases (Windows only): Matlab release Luckily, the version format that I showed above seems pretty stable and can be used as-is across multiple Matlab releases. These interfaces (and their mex files) have changed their name and availability in some Matlab releases. I’ll have a separate post (or series of posts) on Matlab’s internal.* functions, but at least with regards to version information they should NOT be relied upon. In versions up to R2013a, this information could also be retrieved using the .* mex functions (e.g., .blas, which runs the mex function %matlabroot%\toolbox\matlab\matfun\+internal\+matlab\+language\+versionPlugins\xw64). ![]() Specific versions of BLAS, LAPACK and FFTW, which Matlab uses under its hood for all linear algebra and FFW computations, may exhibit idiosyncrasies that may be important in certain cases. This information is sometimes useful, and is sometimes asked by users. Intel(R) Math Kernel Library Version 10.3.11 Product Build 20120606 for Intel(R) 64 architecture applications Intel (R ) Math Kernel Library Version 10.3.11 Product Build 20120606 for Intel (R ) 64 architecture applications ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |