如何在Julia中使用Intel MKL代替libopenblas

如何在Julia中使用Intel MKL代替libopenblas,julia,intel-mkl,openblas,Julia,Intel Mkl,Openblas,我想知道是否有一种方法可以使用英特尔MKL库而不是OpenBlas。我已经安装了MKL。以下是版本信息 Julia Version 0.6.0 Commit 903644385b (2017-06-19 13:05 UTC) Platform Info: OS: macOS (x86_64-apple-darwin13.4.0) CPU: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz WORD_SIZE: 64 BLAS: libopenbl

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

Julia Version 0.6.0
Commit 903644385b (2017-06-19 13:05 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, haswell)

请告诉我是否可以这样做

是的,这是可能的,但如果您愿意重新安装一个干净版本的julia,那么这样做会容易得多


您需要按此处所述编辑
Make.user
文件:

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

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

    $ xcode-select --install
    
  • 安装

  • 使用自制软件安装gfortran

    $ brew install gfortran
    
    $ brew install wget
    
  • 利用自制软件并安装wget:

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

  • 英特尔线程构建块(TBB)
  • 英特尔数学内核库(MKL)
  • 下载Julia源代码(带依赖项的Tarball):

  • 解压缩文件并将文件夹移动到
    $HOME
    目录

  • 启动终端并更改为Julia源目录:

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

  • 为具有8字节整数支持(ILP64)的Intel64体系结构设置英特尔MKL环境:

  • 朱莉娅:

    $ make
    
  • 如果编译Julia时出现问题,请在Julia的lib文件夹中创建指向“英特尔MKL库”的符号链接,然后再次运行make:

    $ ln -s /opt/intel/mkl/lib/libmkl_rt.dylib usr/lib/libmkl_rt.dylib
    $ make
    
  • 我没有尝试运行
    makeinstall
    ,因为我在我的Mac电脑上没有管理员权限,但您可以自由操作。无论如何,您可以从以下文件夹运行Julia:

    $ ./julia
    
  • 下次打开终端时,您的“英特尔MKL”变量可能会消失。只需将这些行添加到您的
    ~/.bash\u配置文件中即可:

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

非常感谢您的回复。我使用macOS dmg软件包安装了Julia,因此找不到Make.inc文件。请让我知道是否有任何其他方法来安装MKL。对不起,我知道的唯一方法是如果你从源代码安装它。如果您遵循上述链接上的指导原则,这并不太困难。请注意,英特尔链接需要使用chrome浏览器打开,否则您将链接到一个损坏的表单页。