MKL Pardiso解方程失败


#1

1. 我在调用Pardiso.jl来解方程的时候出错了

我的代码如下:

using Pardiso
using SparseArrays

ps = MKLPardisoSolver()

A = sparse(rand(10, 10))
B = rand(10, 2)
X = zeros(10, 2)
solve!(ps, X, A, B)

这是Pardiso.jl的README中的一个例子,然后julia报错:

Julia has exited. Press Enter to start a new session.
INTEL MKL ERROR: 操作系统无法运行 %1。 mkl_intel_thread.dll.
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.
Julia Version 1.1.1
Commit 55e36cc308 (2019-05-16 04:10 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, ivybridge)
Environment:
  JULIA_EDITOR = "C:\Users\huoze\AppData\Local\atom\app-1.38.2\atom.exe"  -a
  JULIA_NUM_THREADS = 2

julia> Pardiso.show_build_log()
Pardiso library
===============
Looking for libraries with name: libpardiso600-WIN-X86-64.dll, libpardiso500-WIN-X86-64.dll.
INFO: use the `JULIA_PARDISO` environment variable to set a path to the folder where the Pardiso library is located
Looking in "C:\Users\huoze\.julia\packages\Pardiso\66TFF\deps" for libraries
did not find libpardiso, assuming PARDISO 5/6 is not installed

MKL Pardiso
=============
found MKLROOT environment variable, using it

2. 我还有个疑问

在安装完MKL之后,需要配置系统变量MKLROOT,我的安装路径中目录结构:

├── compilers_and_libraries
    ├── licensing
    ├── linux
    └── windows
├── compilers_and_libraries_2019 
    ├── licensing
    ├── linux
    └── windows
├── compilers_and_libraries_2019.4.245
    ├── licensing
    ├── linux
    └── windows
└── ...

每一个windows文件夹里都是:

├── windows
    ├── bin
    ├── compiler 
    ├── documentation
    ├── mkl
    ├── redist
    └── documentation

那我在设置系统变量的时候应该选那个路径下的mkl呢?(还是说选哪个都一样:joy:


#2

Pardiso.jl 的 readme 建议看 intel 的教程。

Intel 推荐用自带的脚本设置环境变量 mklvars intel64

设置好了

Pkg.build("Pardiso")
Pardiso.show_build_log()

看还有没与问题