1. 准备工作
确保你的Julia环境中包含BinaryProvider和PackageCompiler这两个库,如果没有,请使用如下命令下载
julia> import Pkg
julia> Pkg.add("BinaryProvider")
julia> Pkg.add("PackageCompiler")
这两个库在build过程中可能会报错,但不用担心,使用Pkg.build("库名")重新build即可
2. 下载MKL.jl文件
下载地址是 GitHub - JuliaLinearAlgebra/MKL.jl: Intel MKL linear algebra backend for Julia
下载之后解压缩得到MKL.jl-master文件夹
3. 编译
进入MKL.jl-master\deps文件夹,在此位置利用命令行窗口或 Windows PowerShell(Shift+鼠标右键即可)打开Julia,执行命令
julia> include("build.jl")
执行过程中,程序会自动创建 ..\deps\usr、下载 IntelOpenMP 和 MKL 文件,并将下载的文件保存在 ..\deps\usr\downloads 中。 不过由于 MKL 文件比较大,下载速度比较慢,建议手动下载 MKL 文件,下载地址是 Release MKL-v2019.0.117 · JuliaPackaging/Yggdrasil · GitHub , 选择MKL.v2019.0.117.x86_64-w64-mingw32.tar.gz 或 MKL.v2019.0.117.i686-w64-mingw32.tar.gz , 具体下载哪一个,可以通过查看程序自动下载的 IntelOpenMP 判断(保持一致),并将下载的 MKL 保存到 ..\deps\usr\downloads中。
程序接下来会自动重新编译Julia
4. 错误解决
在 build.jl执行完毕之后重启 Julia,可能会遇到错误提示 mkl_intel_thread.dll missing ,解决办法是:
将..\deps\usr\bin加入到你的环境变量PATH中。
在Julia中执行
julia> using LinearAlgebra
julia> BLAS.vendor()
若执行结果为:mkl则编译成功。