Fortran Coder

标题: cray超级计算机的实数与一般计算机实数定义不同吗 [打印本页]

作者: 大红在路上    时间: 2015-8-31 19:17
标题: cray超级计算机的实数与一般计算机实数定义不同吗
本帖最后由 大红在路上 于 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函数(把实数转换为双精度)?哪位同学对不同计算平台了解比较透彻的可以回答一下~


作者: pasuka    时间: 2015-8-31 21:24
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
作者: 大红在路上    时间: 2015-8-31 22:24
本帖最后由 大红在路上 于 2015-8-31 22:26 编辑
pasuka 发表于 2015-8-31 21:24
Fortran Data Objects
http://docs.cray.com/books/S-2310-50/html-S-2310-50/dataobjects.html
仔细看看表 ...

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

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

1、早期的巨型机或者大型计算机,国内的银河1号就是硬件完全照抄Cray-1,不妨称之为史前化石
2、百度或者谷歌,偶对此纯粹是外行
作者: 大红在路上    时间: 2015-8-31 22:51
pasuka 发表于 2015-8-31 22:34
1、早期的巨型机或者大型计算机,国内的银河1号就是硬件完全照抄Cray-1,不妨称之为史前化石
2、百度或者 ...

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

顺便问一下,你是国防科大的吗?
作者: pasuka    时间: 2015-9-1 08:46
大红在路上 发表于 2015-8-31 22:51
非常感谢,根据你的回答已经弄明白一部分问题了。
我的程序太老了,2000年之前的。
再等一下专业人士来解 ...

偶不是国防科大的




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