Windows系统下调用Pardiso求解器时Julia崩溃退出问题求助
Pardiso.jl调用
solve!()崩溃问题排查方案 - 首先确认包版本兼容性:你当前使用的是Julia 1.6,Pardiso.jl 0.14及以上版本已停止对Julia 1.6的支持,版本不匹配会触发底层调用异常。可在REPL中执行
] status Pardiso查看已安装版本,若版本过高,执行] add Pardiso@0.13降级到适配版本即可。 - 重新编译依赖包:内存访问错误(对应退出代码3221226356)大概率是底层MKL依赖编译缺失导致的,执行
] build MKL Pardiso重新编译两个关联包,绝大多数编译类问题可通过该操作解决。 - 排除编辑器插件干扰:当前报错出现在VSCode的集成终端中,你可以直接打开系统原生Julia REPL运行测试代码,若原生环境下无崩溃,说明是1.4.3版本的Julia VSCode插件与Julia 1.6存在兼容问题,将插件降级到1.3.x版本即可修复。
- 校验输入矩阵格式:Pardiso的
solve!()方法仅支持SparseMatrixCSC类型的稀疏矩阵输入,若传入稠密矩阵、CSR格式矩阵或者行列不匹配的参数,都会触发底层内存访问违例导致崩溃,你可以先检查输入参数的类型与维度是否符合要求。 - 备用验证方案:如果以上操作都无法解决问题,可以先使用Julia内置的
LinearAlgebra.sparse相关求解器验证你的业务代码逻辑是否正确,确认逻辑无问题后再排查Pardiso的环境配置。
内容的提问来源于stack exchange,提问作者CatieQQ
相关产品推荐
相关产品推荐

