Juliaのコンパイル with MKL

Juliaというスクリプト言語を数値処理に使いだした。速いし、線形代数ライブラリが整備されており使いやすい。今までMatlabが独占的だった数値計算用のスクリプト言語に新たな風を吹かせている。Intel CompilerなしでもビルドすればIntel MKLが使える。ただし、以下のようにコンパイルする必要がある(Julia v0.6 & Ubuntu 16.04のとき).

    1. Intel MKLをインストールしておく
    2. git で juliaのリポジトリをローカルにクローン
    3. Makefile.userを以下の内容で準備してjuliaのメインディレクトリに置く (最後はインストールディレクトリ)
      override USE_INTEL_MKL=1
      override USE_INTEL_LIBM = 0
      prefix=/home/hoge/julia
    4. そのまますると固有値計算のライブラリであるARPACKがうまくコンパイルできないので、以下をdeps/tools/common.mkに記述:

      ifeq  ($(USE_INTEL_MKL), 1)
      ifneq ($(USEIFC),1)
      USE_BLAS_FFLAGS += -ff2c
      endif
      endif
      

      参考:

    5. source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64としてからmake -j4する
    6. make testallでコンパイル結果をチェックできる。
    7. ただし、cmdlineargs.jlの以下の箇所でエラーがでるが、解決できていない。あまり関係なさそうなので放置中。
      if !is_windows() && VersionNumber(Base.libllvm_version) > v"3.3"
      testdir = mktempdir()
      cd(testdir) do
      rm(testdir)
      @test success(`$exename -e "exit(0)"`)
      end
      end
      
    8. make installする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください