如何在Julia中使用英特尔MKL而不是libopenblas

时间:2017-07-11 02:22:20

标签: julia intel-mkl

我想知道是否有办法可以使用英特尔MKL库而不是OpenBlas。我安装了MKL。以下是版本信息

viewController.view.addSubview(webView)

请告诉我是否可以这样做

2 个答案:

答案 0 :(得分:1)

是的,这是可能的,但如果你乐意重新安装一个干净的朱莉娅版本,那就更容易了。

您需要按照此处所述编辑 110 is Int32 110m is Decimal 文件:https://github.com/JuliaLang/julia#intel-compilers-and-math-kernel-library-mkl

答案 1 :(得分:1)

这是我在 macOS Sierra 中用英特尔MKL (从源代码编译)安装 Julia (0.6.0)的程序。请记住先卸载以前版本的Julia。

  • 安装Xcode
  • 启动终端并更新命令行工具:

    $ xcode-select --install
    
  • 安装Homebrew

  • 使用Homebrew安装 gfortran

    $ brew install gfortran
    
  • 利用Homebrew并安装 wget

    $ brew install wget
    
  • 转到英特尔性能库 webpage,自行注册并下载OS X的这些免费库并安装它们(与常规DMG包一样):

    1. 英特尔线程构建模块(TBB)
    2. 英特尔数学核心函数库(MKL)
  • 下载Julia源代码(带依赖关系的Tarball):

    $ wget https://github.com/JuliaLang/julia/releases/download/v0.6.0/julia-0.6.0-full.tar.gz
    
  • 解压缩文件并将文件夹移至$HOME目录。

  • 启动终端并切换到Julia源目录:

    $ cd ~/julia-0.6.0
    
  • 使用首选工具编辑文件Make.inc并启用英特尔MKL和英特尔MKL FFT。保存并关闭文件。使用图片作为指南:

Enabling Intel MKL in Make.inc

  • 为Intel64架构设置英特尔MKL环境,支持8字节整数(ILP64):

    $ source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64
    
  • 编译朱莉娅:

    $ make
    
  • 如果编译Julia时出现问题,请在Julia的lib文件夹中创建一个符号链接到英特尔MKL库并再次运行make:

    $ ln -s /opt/intel/mkl/lib/libmkl_rt.dylib usr/lib/libmkl_rt.dylib
    $ make
    
  • 我没有尝试运行make install,因为我的Mac中没有管理员权限,但您可以自由地执行此操作。无论如何,你可以从这个文件夹中运行Julia:

    $ ./julia
    
  • 下次打开终端时,您的英特尔MKL变量可能会消失。只需将这些行添加到~/.bash_profile

    即可
    # Intel MKL
    source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64