mmSCI 发表于 2020-2-28 22:23:15

使用intel mkl的syevd函数求解特征值特征向量内存不足

使用intel mkl的syevd函数,求解特征值特征向量内存不足:Intel MKL INTERNAL ERROR: Insufficient workspace available in function SYEVD.我用的语言是fortran :call syevd(C,W,'V')


mmSCI 发表于 2020-2-29 09:12:15

自顶自顶自顶自顶自顶自顶自顶

li913 发表于 2020-3-1 11:10:10

矩阵多大?电脑内存多大?

mmSCI 发表于 2020-3-1 17:31:48

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)

li913 发表于 2020-3-4 14:06:49

默认输出,每行不超过80字符。你需要用输出格式。

mmSCI 发表于 2020-3-5 14:08:49

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

li913 发表于 2020-3-6 12:22:41

给个单位阵试试结果。
页: [1]
查看完整版本: 使用intel mkl的syevd函数求解特征值特征向量内存不足