Fortran Coder

查看: 8885|回复: 5
打印 上一主题 下一主题

[编译器] cray超级计算机的实数与一般计算机实数定义不同吗

[复制链接]

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
跳转到指定楼层
楼主
发表于 2015-8-31 19:17:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 大红在路上 于 2015-8-31 22:23 编辑

编译器:VS2010,Intel2014。
先上代码:
[Fortran] 纯文本查看 复制代码
#ifdef CRAY    
            tlen1=cvmgm(0.01,tlen1,tlen1-1.e-5)
#else
            tlen1=dble(cvmgm(dble(0.01),dble(tlen1),dble(tlen1-1.e-5)))
#endif        /* CRAY */


CRAY是CRAY平台。
cvmgm是一个自定义的函数,返回值为实数。
代码中的此部分意思我懂:好像是根据不同计算平台选择不同的代码表示方式。
我的问题是:
为什么要在非CRAY的计算平台加上dble函数(把实数转换为双精度)?哪位同学对不同计算平台了解比较透彻的可以回答一下~

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

沙发
发表于 2015-8-31 21:24:31 | 只看该作者
Fortran Data Objects
http://docs.cray.com/books/S-231 ... 50/dataobjects.html
仔细看看表格2-2.Fortran Data Sizes of Explicit Kind Types (in Bits)
对于Cray SV1 Series System而言,real默认就是64位,所以Cray平台不需要加dble

评分

参与人数 1F 币 +9 贡献 +9 收起 理由
fcode + 9 + 9

查看全部评分

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
板凳
 楼主| 发表于 2015-8-31 22:24:15 | 只看该作者
本帖最后由 大红在路上 于 2015-8-31 22:26 编辑

1.CRAY还有不同版本啊?2.那我们平常的个人电脑,是什么计算平台?

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

地板
发表于 2015-8-31 22:34:04 | 只看该作者
大红在路上 发表于 2015-8-31 22:24
1.CRAY还有不同版本啊?2.那我们平常的个人电脑,是什么计算平台?

1、早期的巨型机或者大型计算机,国内的银河1号就是硬件完全照抄Cray-1,不妨称之为史前化石
2、百度或者谷歌,偶对此纯粹是外行

17

帖子

5

主题

0

精华

入门

F 币
88 元
贡献
56 点
5#
 楼主| 发表于 2015-8-31 22:51:05 | 只看该作者
pasuka 发表于 2015-8-31 22:34
1、早期的巨型机或者大型计算机,国内的银河1号就是硬件完全照抄Cray-1,不妨称之为史前化石
2、百度或者 ...

非常感谢,根据你的回答已经弄明白一部分问题了。
我的程序太老了,2000年之前的。
再等一下专业人士来解答吧~

顺便问一下,你是国防科大的吗?

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

6#
发表于 2015-9-1 08:46:08 | 只看该作者
大红在路上 发表于 2015-8-31 22:51
非常感谢,根据你的回答已经弄明白一部分问题了。
我的程序太老了,2000年之前的。
再等一下专业人士来解 ...

偶不是国防科大的
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-25 09:43

Powered by Tencent X3.4

© 2013-2024 Tencent

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