问题标签 [pardiso]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
363 浏览

c++ - 用犰狳创建的 Pardiso 求解稀疏矩阵方程

我想使用 MKL 的 Pardiso-Solver 而不是内置的稀疏矩阵求解器。为此,我首先在犰狳中创建矩阵,然后将其转换为放入 Pardiso 求解器的 CSC 矩阵。我的代码是

我使用Lapack犰狳的 -solver 检查结果。但是,虽然后者给了我正确的结果,但我没有从pardiso-solver 得到正确的结果。我目前的输出是

x_vec 的值是正确的,x 的值不是。为什么?

0 投票
0 回答
82 浏览

julia - 与 Julia 在 Mac 上构建 Pardiso 5

我正在尝试通过 Julia 在 Mac 10.12.6 上构建 Pardiso 5,但遇到了问题。

我通过 Julia 添加了Pardiso包,然后我按照 Pardiso手册(p.33/69) 并LD_LIBRARY_PATH=~/.julia/v0.6/Pardiso/deps/libpardiso500-MACOS-X86-64.dylib从我的.bash_profile. 然后我运行Pkg.build("Pardiso")并收到以下错误

Julia文档似乎没有表明我必须gcc自己从终端做任何事情,所以我没有对 BLAS/LAPACK 等进行任何手动链接。

有什么建议吗?谢谢!

0 投票
1 回答
586 浏览

python - 如何使用 pyomo 建模框架在 ipopt 中使用(/安装)pardiso 线性求解器?

我正在开发一个使用 pyomo 和 python 的优化模型(python 3 - 我在 windows 上使用 anaconda 管理包)。我需要使用非线性求解器 ipopt。似乎 ipopt(mumps 或 ma27)使用的默认线性求解器相对较慢且不可线程,我希望将 pardiso 求解器用于 ipopt 的线性部分。它似乎有两个版本:MKL-intel pardiso 版本“独立”版本——我对它们中的任何一个都很好。- 但我无法使用 pardiso。

我有 ipopt 工作,我通过以下方式为我的 pyomo 问题选择它:

我使用 ipopt 选项选择“pardiso”作为线性求解器

我收到以下错误:

我猜这意味着未安装求解器。如果我选择“腮腺炎”或不指定任何内容,一切正常。

但是它说 pardiso 求解器来自 mkl 库(我有),现在理想情况下我想知道我必须从 anaconda 安装哪些软件包才能使 pardiso 求解器工作?

这篇文章规定,为了工作,必须将特定的 Anaconda 库文件夹添加到系统路径中,我这样做了

没有什么变化

或者,我从https://www.pardiso-project.org/下载了 pardiso 模型,它给了我 3 个文件 libpardiso600-WIN-X86-64.dll .exp 和 .lib,我不知道该做什么或在哪里放置(求解器网站上没有解释)

感谢您的帮助,

0 投票
0 回答
249 浏览

julia - 在 Julia 中调用“MKL pardiso”的问题

背景:</h2>
  • 我有一个Julia需要解决方案的大型稀疏矩阵,我想用它MKL pardiso来提高速度。
  • 我找到了pardiso.jl页面并阅读了自述文件。

我做了什么:</h2>
  • 在 Julia 中安装 Pardiso:

  • 下载 MKL:

    据我了解,MKL pardiso 包含在 MKL 库中。所以我从web下载。

    注册后,我收到一封包含下载链接的电子邮件。在下载页面上,我选择了Intel math kernel library for windows.

    然后我得到了文件:w_mkl_2019.4.245.exe,我将它完全安装在计算机上。


  • 构建Pardiso.jl

问题:

如上所述,我在 Julia 中犯了一个错误。我认为我的 MKL 没有正确配置环境变量,但我不知道如何执行此步骤。

(或者我还有其他没有发现的错误?)

请告诉我该怎么做?

0 投票
1 回答
776 浏览

c++ - 用 eigen/Intel MKL 求解稀疏线性系统

我想通过使用 C++ 中的 Eigen 库来求解 Ax=b 方程,其中 A 是稀疏矩阵 (1,964,568 x 1,964,568 nnz=75256446),b 也是稀疏矩阵 (1,964,568 x 1,964,568 nnz= 25354926)。

起初我试图使用 Eigen Sparse LU 来解决我的问题,几个小时后我的内存用完了(我有 128GB RAM)。在此之后,我将 INTEL MKL 库与 Pardiso 求解器一起包含在内。即使这样,我也无法解决我的问题。也许有人有一些技巧来解决我的问题?

我可以编译我的代码并运行它。我只需要更好的性能和更少的内存。

0 投票
1 回答
447 浏览

c++ - 使用带有特征的 pardiso 求解器

我正在尝试使用求解器解决非常大sparse matrix system (Ax = b)的问题。当我用 编译代码时,出现此错误:eigenpardisog++

我认为我不需要更改sparse matrices' 形式,但似乎我需要更改稀疏矩阵形式应该适合pardiso. 但是当我找到其他人的示例代码时,他们并没有改变sparse matrix形式。它似乎也有效。

我做对了吗?我不确定。谁能告诉我有什么问题?

(关于 A 和 B,它们与这个问题无关。因为我确实使用 eigen 的内置求解器 sparseLU 得到了答案。但是它的速度太慢了,我尝试使用 pardisoLU。)

并将其编译g++

0 投票
0 回答
216 浏览

c++ - 使用 getenv() 获取线程数时出错

我正在使用函数 getenv() 通过以下方式获取线程数:

我收到以下错误:

我尝试按照编译器的建议使用 _dupenv_s,但在同一行中出现以下错误:

我在 Microsoft Visual Studio 2019 上运行此代码。虽然完整的代码无关紧要,但这里有一个相同的链接供参考:

https://pardiso-project.org/manual/pardiso_unsym.cpp

一小部分可重现的代码:

我尝试使用 _dupenv_s,并以下列方式重写了 getenv 行。请告诉我这是否是正确的方法:

0 投票
0 回答
226 浏览

c++ - 尝试在 Windows 10 上运行 PARDISO 时出现未解决的外部符号错误

我从https://www.pardiso-project.org下载了 PARDISO 库并获得了许可证。根据用户手册,我为 cl 和 Intel 编译器安装了 Microsoft Visual Studio 2019 以及 Intel Parallel XE 2020。我已将 .dll 文件、.lib 文件和 .exp 文件以及许可证(.lic 文件)放在 c:\users\hp 中。Microsoft Visual Studio 已安装,源和存储库文件夹位于 c:\users\hp\Source。

我尝试在 Visual Studio 上运行示例代码:https ://pardiso-project.org/manual/pardiso_unsym.f (等效的 C++ 代码是https://pardiso-project.org/manual/pardiso_unsym.cpp

我收到以下错误:

对于 C++ 代码:

函数 main Trial4 C:\Users\hp\source\repos\Trial4\Trial4\tryout1.obj 1 中引用的未解析外部符号 pardisoinit

对于 Fortran 代码:

错误 LNK2019:函数 _MAIN__ Tryout2.obj 中引用的未解析外部符号 _PARDISOINIT

我知道这一切都与放置在正确位置的库有关,但我无法正确理解。有人可以告诉我如何解决这个问题吗?我正在使用 Microsoft Visual Studio 2019。

0 投票
1 回答
171 浏览

linux - 如何设置环境变量指向一个位置以及如何在 UBUNTU 中设置环境变量的路径?

我希望有一个特定的环境变量VAR1 指向一个名为的特定库lib123.so,该库位于主目录中名为folder1. 我通过在终端中输入命令来执行此操作:

我还希望将另一个环境变量 VAR2设置为位于同一文件夹中的文件的位置路径。我通过在终端中执行以下操作来执行此操作:license.licfolder1

我上面给出的两个命令对于预期的任务是否正确?有什么方法可以让我自己检查它是否有效?

我试图以自给自足的方式解释我的疑问。但是,如果上下文很重要;我正在尝试安装名为 PARDISO 的工具的依赖项(第 31 页,第 1 段:https ://pardiso-project.org/manual/manual.pdf )。

0 投票
1 回答
219 浏览

fortran - 英特尔并行工作室 Fortran 上的 MKL pardiso

试图在 MacOS 上运行 MKL_Pardiso。我安装了 Intell Parallel Studio 并用 fort 编译程序。

这是我的编译代码

输出是

为什么会这样?我应该使用其他标志吗?