24小时热门版块排行榜    

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

wopyhj

新虫 (初入文坛)

[交流] 第一性原理计算软件开发已有5人参与

大规模并行第一性原理计算软件开发!走起!
回复此楼
计算软件架构师;计算软件开发工程师;c/c++; Linux;第一性原理;分子动力学
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liqizuiyang

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
13楼: Originally posted by wopyhj at 2014-03-29 19:00:05
From google: From my 15 years of thinking about scientific software: If your code runs 25% faster because you write it in Fortran, but it takes you 4 times as long to write it (no STL, difficulty im ...

程序运行快慢和编译器优化能力有关。若说到和语言的关系,fortran语法简单,可能更利于编译器优化。

有关用fortran开发时间长短的,楼主可以试下用C++写下这个例子:

科学计算涉及设定参数默认值及从输入文件中读取设定的值。设某程序运行共需要bar_1到bar_7 7个参数,这7个参数中,bar_1到bar_3为整型,bar_4到bar_5为浮点型,bar_6和bar_7为字符串。编写一程序,要求在程序开始为bar_1 - bar_10设定好默认值,然后读取input.in,若input.in中给出了某参数的设定值,则读取设定值;否则保持默认值。input.in中各参数可以以任意次序排列。

这个程序用fortran的namelist机制非常简单,不借助第三方库就能实现。

有关fortran自定义数据类型和面向对象设计的,可以看下Stephen J. Chapman编写的《Fortran 95/2003程序设计》(中国电力出版社)。

C/C++是通用型语言,而Fortran是专为科学计算设计的,有许多针对科学计算问题的特性。C语言问世于上世纪七十年代初,而许多晚于它的第一性原理程序却仍以Fortran编写,比如80年代末的VASP,2000年的abinit和2003年的pwscf。

当然,大的软件项目不同于百十行的小程序。既然决定了用C++,肯定有充分的原因。鄙人在这里班门弄斧了。
14楼2014-03-29 20:34:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 19 个回答

wenjlu

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我们已筹划了多时了,目前正在准备开发,有机会合作啊。
2楼2014-03-23 18:28:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wopyhj

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by wenjlu at 2014-03-23 18:28:19
我们已筹划了多时了,目前正在准备开发,有机会合作啊。

需要学很多东西啊,我正在看书和文献。编程我要用c++,可能傅里叶变换等核心计算的部分我会写一份汇编的,对比效率。
计算软件架构师;计算软件开发工程师;c/c++; Linux;第一性原理;分子动力学
4楼2014-03-25 20:47:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wopyhj

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by wenjlu at 2014-03-23 18:28:19
我们已筹划了多时了,目前正在准备开发,有机会合作啊。

加油!
计算软件架构师;计算软件开发工程师;c/c++; Linux;第一性原理;分子动力学
5楼2014-03-25 20:54:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见