24小时热门版块排行榜    

查看: 2963  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

dexter337

铁杆木虫 (小有名气)

[交流] 最近碰到的一个Intel visual Fortran 计算精度的问题.大家的机器上是否也是这样? 已有5人参与

我 以前都是用compaq visual Fortran 6.6的imsl库进行计算的.但是近期需要加大计算的矩阵维数.因此需要改用Intel visual Fortran的mkl函数库.我的程序中用到了zgesv这个函数求解一个复系数的方程组.
       原来用compaq visual Fortran的时候用的是imsl中的dlsacg精度很好.但是在Intel visual Fortran上跑的结果误差很严重.于是开始查找出错原因.
       后来我发现一个奇怪的现象.就是用imsl手册中的一个计算例子,在Intel 上出的结果精度好像不够.希望大家提提意见,多多讨论,小虫不胜感激.
       Intel visual Fortran中程序例子如下:
               program main
        implicit none
        integer(8),parameter::n=3
        complex(8)::a(n,n),b(n)
        integer(8)::info,ipiv(n)
        a=reshape((/(3.0d0,-2.0d0),(1.0d0,1.0d0),(4.0d0,0.0d0),(2.0d0,4.0d0),(2.0d0,-6.0d0),&
        (-5.0d0,1.0d0),(0.0d0,-3.0d0),(1.0d0,2.0d0),(3.0d0,-2.0d0)/),(/n,n/))
        b=(/(10.0d0,5.0d0),(6.0d0,-7.0d0),(-1.0d0,2.0d0)/)
        call zgesv(n,1,a,n,ipiv,b,n,info)
        open(2,file='x.txt')
        write(2,5)b
5        format(2f20.16)
        end program main

       这个例子求解方程a*x=b这样的问题.结果是很整齐的解析结果是x=(1-i,2+i,3i).用compaq visual Fortran的结果是.
       1.0000000000000000 -1.0000000000000000
       2.0000000000000000  1.0000000000000000
       0.0000000000000000  3.0000000000000000
       基本上看不出误差.相应的dlsacg函数在我要计算的模型中工作的精度都很好.
       可是问题来了,在Intel中(也就是上面的程序.用mkl库给出的结果是.
      1.0000000000000024 -1.0000000000000004
      1.9999999999999987  1.0000000000000000
      -0.0000000000000039  2.9999999999999991
       这个结果有些出人意料,希望大家不要笑话我.因为我接下来用到这个函数的地方矩阵的性质比例子中的矩阵差的非常多.计算的结果精度非常不理想.
       想问问论坛里的虫友们,大家有没有遇到过这样的问题.有没有什么调节或者校准mkl或者Intel visual Fortran的方法或者设置呢?
       我使用的是 Intel visual Fortran 11.1.065专业版.自带的mkl是10.2版的.
       在这里先谢谢大家了,祝虫友们圣诞快乐!
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lion-wolf

银虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
送红花一朵
能发一个Intel visual Fortran 11.1.065专业版的激活文件给我吗
劝君莫惜金缕衣,劝君吸取少年时;花开堪折直须折,莫待无花空折枝。
8楼2016-01-17 16:20:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询


小木虫: 金币+0.5, 给个红包,谢谢回帖
我看了一下,似乎Intel 给出的数据也在双精度舍入误差允许范围内,如有差别也不显著。你没有具体说明这样的舍入误差是如何影响你后面的结果的。如果这样的误差能影响你后面的结果,那只能说明你后面的算法不太robust。这种量级的误差可能有各种原因引起,不一定是数学库的原因。比如你给的cvf数据结果里3.0000000000000000 有16位0,这显然不可能是一般的结果。变换数组在内存中的位置,对其他变量的赋值都可能会改变这一状况。
2楼2014-12-26 04:28:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
送红花一朵
3楼2014-12-26 08:43:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

todd0226

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
1、是不是数据类型不一致,我之前的程序因为这个原因结果有些误差。
2、当我在Use Intel Math Kernel Library中设置成Sequential (/Qmkl:sequential)时,release和debug模式下计算结果完全一样,而且多次计算结果一样。然而当我设置成Parallel (/Qmkl:parallel)时,release和debug模式下计算结果有些不同,多次计算的结果也有些微差别。
不知楼主的问题有没有可能是上面的原因。或者楼主能否解释一下第二个问题的原因呢?
4楼2014-12-26 09:17:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上意见出来了 +4 黄鸟于飞Chao 2026-08-29 8/400 2026-08-29 14:50 by 黄鸟于飞Chao
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +9 苏东坡二世 2026-08-23 9/450 2026-08-29 14:41 by hustersqt
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 ASdOkHsho7FD 2026-08-28 5/250 2026-08-29 14:24 by jCd0dEvKHShX
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +5 gdd2018 2026-08-28 10/500 2026-08-29 14:10 by Jacob678
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 ASdOkHsho7FD 2026-08-28 6/300 2026-08-29 11:29 by jCd0dEvKHShX
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ASdOkHsho7FD 2026-08-28 9/450 2026-08-29 11:18 by jCd0dEvKHShX
[基金申请] 中青基了要发朋友圈吗? +3 349506619 2026-08-28 3/150 2026-08-29 10:49 by 木风9012
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 ASdOkHsho7FD 2026-08-28 7/350 2026-08-29 09:26 by G6APbkg8SA6w
[基金申请] 怎么看青基中了没有啊 +5 叶九微 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
信息提示
请填处理意见