Fortran Coder

标题: 在IVF中如何调用LAPACK的函数dgesv [打印本页]

作者: housechen    时间: 2014-9-1 16:17
标题: 在IVF中如何调用LAPACK的函数dgesv
之前用linux,调用函数只需要在makefile中写。现在想在IVF 2013调用LAPACK的函数DGESV。尝试过以下方法:1.在把llapack函数包加入到现有工程,但是一直找不到合适的添加路径指导。请问应该怎么操作??
2.DGESV会调用lapack的dgetrf和dgetrs。直接把这三个函数的源文件放到工程中,显示有冲突。冲突如下:


大虾们有空指点指点。

QQ截图20140901161629.png (27.97 KB, 下载次数: 464)

QQ截图20140901161629.png

作者: fcode    时间: 2014-9-1 17:13
IVF 应该包含 MKL,直接使用 MKL 既可。
你可以参考本论坛(本版块)里的其他几个求助帖。
作者: housechen    时间: 2014-9-1 17:47
fcode 发表于 2014-9-1 17:13
IVF 应该包含 MKL,直接使用 MKL 既可。
你可以参考本论坛(本版块)里的其他几个求助帖。 ...

没有找到类似的啊。不过还是谢了
作者: vvt    时间: 2014-9-1 19:01
http://fcode.cn/bbs/thread-265-1-1.html
作者: housechen    时间: 2014-9-1 23:59
vvt 发表于 2014-9-1 19:01
http://fcode.cn/bbs/thread-265-1-1.html

多谢大侠。已经完全按照论坛有的方法改了,结果出了一个error #7881。是不是只能去跟intel要新版的mod了。。。
作者: 楚香饭    时间: 2014-9-2 00:12
错误提示更详细一点
作者: housechen    时间: 2014-9-2 08:25
本帖最后由 housechen 于 2014-9-2 09:39 编辑
楚香饭 发表于 2014-9-2 00:12
错误提示更详细一点

Error        1         error #7881: This module file was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read.   [MKL95_LAPACK]       DGESV.f90        3        

已经根据之前的帖子。添加了环境变量,改了include和lib的路径,在工程中声明use mod。还有可能是哪些没想到的错误?
作者: 楚香饭    时间: 2014-9-3 05:56
你安装的 MKL 与你的 ivf 版本不匹配吧。你是后来下载的 MKL 安装的吗?
作者: housechen    时间: 2014-9-3 08:24
楚香饭 发表于 2014-9-3 05:56
你安装的 MKL 与你的 ivf 版本不匹配吧。你是后来下载的 MKL 安装的吗?

我用的intel visual fortran composer xe 2013,应该内置有mkl模块。。
作者: 楚香饭    时间: 2014-9-3 08:27
housechen 发表于 2014-9-3 08:24
我用的intel visual fortran composer xe 2013,应该内置有mkl模块。。

那可能是 32 位或 64 位的选择不对。出这个错误,就是函数库的版本不正确。比如版本,平台,位数。
或者你电脑里有多个版本的MKL,设置路径时设置了不正确的。
作者: housechen    时间: 2014-9-3 20:26
本帖最后由 housechen 于 2014-9-3 20:36 编辑
楚香饭 发表于 2014-9-3 08:27
那可能是 32 位或 64 位的选择不对。出这个错误,就是函数库的版本不正确。比如版本,平台,位数。
或者 ...

自己解决了。dgesv不是用fortran95写的,不能用这个方式call.改成call gesv就可以了。include和lib的设置按照论坛的指导即可。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2