使用intel mkl的syevd函数求解特征值特征向量内存不足
使用intel mkl的syevd函数,求解特征值特征向量内存不足:Intel MKL INTERNAL ERROR: Insufficient workspace available in function SYEVD.我用的语言是fortran :call syevd(C,W,'V')自顶自顶自顶自顶自顶自顶自顶 矩阵多大?电脑内存多大? li913 发表于 2020-3-1 11:10
矩阵多大?电脑内存多大?
矩阵20000*20000,服务器内存125G,不过我搞了搞又没事了。现在碰上一个新问题。fortran保存数组到dat是不是有行列限制?怎么我保存一个20000长度的向量到dat,保存之后变成了4000*5的。保存3*20000的二维数组变成10000*6,行列数都对不上。程序如下
M=20000
open(10,file='eigenvalue.dat')
write(10,*) (W(i),i=1,M)
close(10)
open(11,file='eigenstate.dat')
do i=1,3
write(11,*) (EigenState(i,j),j=1,M)
end do
close(11)
默认输出,每行不超过80字符。你需要用输出格式。 li913 发表于 2020-3-4 14:06
默认输出,每行不超过80字符。你需要用输出格式。
大神,前段时间的问题又出现了。为什么计算特征值时syevd函数老出错呢?
use lapack95,only: syevd
use blas95,only:gemm
call syevd(C,W,'V','U',info)
现在计算出来的特征值全是0,info=-1000
编译指令是ifort -mkl EM.f -o EM/opt/intel/mkl/lib/intel64/libmkl_lapack95_ilp64.a /opt/intel/mkl/lib/intel64/libmkl_blas95_ilp64.a
给个单位阵试试结果。
页:
[1]