Fortran Coder

楼主: FLY
打印 上一主题 下一主题

[数学库] 调用MKL函数无法解析

[复制链接]

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
楼主
发表于 2014-7-23 06:40:52 | 显示全部楼层
代码发出来看看吧。应该是没有 use 模块。

编译错误,要么是没有 use,要么是没有设置好 include。



理解这 4 个步骤,一切函数库的使用,都是这 4 个操作。

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2014-7-23 06:59:02 | 显示全部楼层
[Fortran] 纯文本查看 复制代码
Program www_fcode_cn
  call Test_sdot()
End Program www_fcode_cn
  
Subroutine Test_sdot!矢量点乘
  use BLAS95 !// 必须 use 某个module
  implicit none
  real x(10), y(10), res !// sdot 和 dot 无需声明
  integer n, incx, incy, i
  !external dot // 同上
  n = 5
  incx = 2
  incy = 1
  do i = 1, 10
    x(i) = 1
    y(i) = 1
  end do
  res = dot ( x,  y ) !// F95 的接口很简单,两个参数既可
  print*,"SDOT=",res 
  res=dot(x,y)
  write(*,*) res
End subroutine


另外,你可能需要设置
项目—属性—Linker-Input-Additional Dependencies 输入 mkl_blas95.lib

评分

参与人数 1F 币 +10 贡献 +10 收起 理由
FLY + 10 + 10 很给力!

查看全部评分

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
板凳
发表于 2014-7-23 07:33:02 | 显示全部楼层
本帖最后由 vvt 于 2014-7-23 07:34 编辑

1.那篇帖子是针对各种函数库进行的,是说的使用所有函数库的“通则”,不可能说得很详细。
2.帮助里提到:
Include Files
Fortran: mkl.fi
Fortran 95: blas.f90
C: mkl.h

所以,需要 use blas95,如果你不知道具体是那个 module,可以去MKL安装目录的 include 文件夹去找,看有几个 .mod 文件。
加载 mkl_blas95.lib 就去安装目录的 lib 里找。
3.同上。
4.F77接口和F95接口不要混用。
5.是否依赖,我也不确定,应该是不依赖的,你可以用 Dependency Walker 查看一下。具体可参考 http://www.fcode.cn/guide-53-1.html

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
地板
发表于 2014-7-23 10:20:33 | 显示全部楼层
两个问题:
1.如果你既使用了 mkl_blas95.lib,又使用了 mkl_lapack95.lib,请在项目—属性—Linker-Input-Additional Dependencies 输入 :“mkl_blas95.lib mkl_lapack95.lib

2.你对 getrf 的使用不对。ipiv 必须是数组,而不能是单变量。integer::ipiv(3)=3 既可

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
5#
发表于 2014-7-23 10:55:43 | 显示全部楼层
1. F77 语法本身,对接口的检查就不严格。建议使用 F95 接口
2. 是的,只有第一个参数是必选的。可选参数的问题,可以看看彭叔叔的书。
   call getrf(a)
   call getrf(a,info=info)
3. 我不知道,我用的 MKL 版本里没有。你看看帮助吧。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-14 07:02

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表