不知道有人用过pardiso解大型稀疏矩阵吗?我估算好内存,构造矩阵a,但是在call pardiso的时候,内存使用突然增加,应该是在矩阵分解时浪费了更多的内存!我用OOC也不管用!希望使用过的指教我一下!我的a数组大小为4*10^7个复数,所占内存也就是16*4*10^7字节,还不到1G呢,就算不了了,帮我看看,这么大的矩阵能计算吗?用pardiso,谢谢啊!
我使用的参数为: iparm(1) = 1
iparm(2) = 2
iparm(4) = 0
iparm(5) = 0
iparm(6) = 0
iparm(7) = 0
iparm(8) = 2
iparm(9) = 0
iparm(10) = 13
iparm(11) = 1
iparm(12) = 0
iparm(13) = 1
iparm(14) = 0
iparm(15) = 0
iparm(16) = 0
iparm(17) = 0
iparm(18) = -1
iparm(19) = -1
iparm(20) = 0
下面是错误信息:
Error!***Memory allocation failed for SetUpCoarseGraph:gtata.Requested size:
449357668 bytes
------解决方案--------------------------------------------------------
这种稀疏求解器在计算时需要很多内存 要比给它的矩阵大很多 这是正常的 算法决定的 1g的矩阵至少也需要五六g内存吧 如果对稀疏矩阵求解有了解就明白为什么了