计算化学公社

标题: Fortran使用MKL库失败 [打印本页]

作者
Author:
wxhwbh    时间: 2019-6-25 22:25
标题: Fortran使用MKL库失败
使用IVF编写Fortran程序时,在调用MKL的LAPACK函数时编译能正常通过,但运行时会报错而中断:

forrtl: severe (157): Program Exception - access violation
Image              PC        Routine            Line        Source
Console4.exe       012CEBDE  Unknown               Unknown  Unknown
Console4.exe       012CE767  Unknown               Unknown  Unknown
Console4.exe       01212325  _MAIN__                   144  crawdad01.f90
Console4.exe       0134D253  Unknown               Unknown  Unknown
Console4.exe       0127C2B9  Unknown               Unknown  Unknown
Console4.exe       0127C17F  Unknown               Unknown  Unknown
KERNEL32.DLL       767A8494  Unknown               Unknown  Unknown
ntdll.dll          771D41C8  Unknown               Unknown  Unknown
ntdll.dll          771D4198  Unknown               Unknown  Unknown


想问问这是什么原因呢?

作者
Author:
zjxitcc    时间: 2019-6-25 22:30
“MAIN__                   144  crawdad01.f90”表示在main函数的144行处有错误,具体自己再看看。
充分利用IVF的断点功能,找到bug。IVF里设置断点后,鼠标放在变量上可直接查看变量值,这点比手动写write打印变量好用很多。
作者
Author:
sobereva    时间: 2019-6-26 02:50
往往是传进去的数组/矩阵有问题
仔细检查一下传入的信息都是否正确

作者
Author:
wxhwbh    时间: 2019-6-26 22:16
sobereva 发表于 2019-6-26 02:50
往往是传进去的数组/矩阵有问题
仔细检查一下传入的信息都是否正确

谢谢社长。我用的是dsyev函数计算特征值,原本输入的是实对称矩阵会报错。查看手册发现只要输入上或下三角矩阵就没问题了。
不过还是感觉mkl的函数参数好多啊......




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3