问题标签 [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.
c++ - 用犰狳创建的 Pardiso 求解稀疏矩阵方程
我想使用 MKL 的 Pardiso-Solver 而不是内置的稀疏矩阵求解器。为此,我首先在犰狳中创建矩阵,然后将其转换为放入 Pardiso 求解器的 CSC 矩阵。我的代码是
我使用Lapack
犰狳的 -solver 检查结果。但是,虽然后者给了我正确的结果,但我没有从pardiso
-solver 得到正确的结果。我目前的输出是
x_vec 的值是正确的,x 的值不是。为什么?
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,我不知道该做什么或在哪里放置(求解器网站上没有解释)
感谢您的帮助,
julia - 在 Julia 中调用“MKL pardiso”的问题
背景:</h2>
- 我有一个
Julia
需要解决方案的大型稀疏矩阵,我想用它MKL pardiso
来提高速度。
- 我找到了pardiso.jl页面并阅读了自述文件。
Julia
需要解决方案的大型稀疏矩阵,我想用它MKL pardiso
来提高速度。我做了什么:</h2>
- 在 Julia 中安装 Pardiso:
下载 MKL:
据我了解,MKL pardiso 包含在 MKL 库中。所以我从web下载。
注册后,我收到一封包含下载链接的电子邮件。在下载页面上,我选择了Intel math kernel library for windows
.
然后我得到了文件:w_mkl_2019.4.245.exe
,我将它完全安装在计算机上。
- 构建
Pardiso.jl
:
下载 MKL:
据我了解,MKL pardiso 包含在 MKL 库中。所以我从web下载。
注册后,我收到一封包含下载链接的电子邮件。在下载页面上,我选择了Intel math kernel library for windows
.
然后我得到了文件:w_mkl_2019.4.245.exe
,我将它完全安装在计算机上。
Pardiso.jl
:问题:
如上所述,我在 Julia 中犯了一个错误。我认为我的 MKL 没有正确配置环境变量,但我不知道如何执行此步骤。
(或者我还有其他没有发现的错误?)
请告诉我该怎么做?
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 求解器一起包含在内。即使这样,我也无法解决我的问题。也许有人有一些技巧来解决我的问题?
我可以编译我的代码并运行它。我只需要更好的性能和更少的内存。
c++ - 使用带有特征的 pardiso 求解器
我正在尝试使用求解器解决非常大sparse matrix system (Ax = b)
的问题。当我用 编译代码时,出现此错误:eigen
pardiso
g++
我认为我不需要更改sparse matrices
' 形式,但似乎我需要更改稀疏矩阵形式应该适合pardiso
. 但是当我找到其他人的示例代码时,他们并没有改变sparse matrix
形式。它似乎也有效。
我做对了吗?我不确定。谁能告诉我有什么问题?
(关于 A 和 B,它们与这个问题无关。因为我确实使用 eigen 的内置求解器 sparseLU 得到了答案。但是它的速度太慢了,我尝试使用 pardisoLU。)
并将其编译g++
为
c++ - 使用 getenv() 获取线程数时出错
我正在使用函数 getenv() 通过以下方式获取线程数:
我收到以下错误:
我尝试按照编译器的建议使用 _dupenv_s,但在同一行中出现以下错误:
我在 Microsoft Visual Studio 2019 上运行此代码。虽然完整的代码无关紧要,但这里有一个相同的链接供参考:
https://pardiso-project.org/manual/pardiso_unsym.cpp
一小部分可重现的代码:
我尝试使用 _dupenv_s,并以下列方式重写了 getenv 行。请告诉我这是否是正确的方法:
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。
linux - 如何设置环境变量指向一个位置以及如何在 UBUNTU 中设置环境变量的路径?
我希望有一个特定的环境变量VAR1
指向一个名为的特定库lib123.so
,该库位于主目录中名为folder1
. 我通过在终端中输入命令来执行此操作:
我还希望将另一个环境变量 VAR2设置为位于同一文件夹中的文件的位置路径。我通过在终端中执行以下操作来执行此操作:license.lic
folder1
我上面给出的两个命令对于预期的任务是否正确?有什么方法可以让我自己检查它是否有效?
我试图以自给自足的方式解释我的疑问。但是,如果上下文很重要;我正在尝试安装名为 PARDISO 的工具的依赖项(第 31 页,第 1 段:https ://pardiso-project.org/manual/manual.pdf )。
fortran - 英特尔并行工作室 Fortran 上的 MKL pardiso
试图在 MacOS 上运行 MKL_Pardiso。我安装了 Intell Parallel Studio 并用 fort 编译程序。
这是我的编译代码
输出是
为什么会这样?我应该使用其他标志吗?