|
求助各位大佬,我现在需要进行一个大型线性方程组求解,系数矩阵的维度为(N*N=34000*34000),使用的类型是REAL(kind=4),在调用MKL库GETRS函数的时候出现access violation问题,请问怎么解决?堆栈上限已经调到最大,数组也都是动态数组,使用的代码也没有问题,因为降低数组维度后(N=500)可以成功计算。另外,在计算时监控了CPU的温度,发现几乎不变,而在matlab上使用LU分解求解+左除矩阵时运行时,CPU占用率和温度都会有大幅升高,这是否也能说明一些问题。
调用代码如下,A_1为系数矩阵,B_1为右端项
CALL GETRF(A_1,IPIV,INFO) !LU分解
CALL GETRS(A_1,IPIV,B_1) !A_1,B_1均被覆盖
P.S:同一个系数矩阵我需要解个不同的右端项,上述只是其中一个,GETRS函数是不是可以解多列右端项,请大佬们指点一下
|
|