24小时热门版块排行榜    

查看: 899  |  回复: 12
当前主题已经存档。

ilovexiaomucun

新虫 (初入文坛)

[交流] 要读那些书, 才能写出在vasp中能并行计算的程序?

会用fortran写能在vasp中单机计算的程序, 但是, 不会写在vasp中能并行计算的程序.  

不知道要读那些书, 才能写出能并行的程序.

有那些经典的书?

[ Last edited by aylayl08 on 2010-3-29 at 08:04 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acridine

木虫 (正式写手)

★ ★
wuli8(金币+2,VIP+0):(*^__^*) 3-18 08:48
在vasp中写能并行计算的程序是什么意思呢?
如果只是想简单了解并行计算,找本入门的书看看就行
要是你想编写像第一原理这样特别要求算法效率的代码,那就需要深入的研究,因为算法效率不高的话,编写出来程序也是没有实用价值的。
计算机专业有专门做并行计算研究的,可以请教一下他们
2楼2009-03-18 07:52:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ilovexiaomucun

新虫 (初入文坛)

具体讲, 会用fortran写能在vasp中单机计算的程序, 但是, 不会写在vasp中并行计算的程序.  


不知道要读那些书..........
3楼2009-03-18 08:07:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acridine

木虫 (正式写手)


wuli8(金币+1,VIP+0):(*^__^*) 3-18 08:48
还是没太懂你的问题
你用fortran编写的程序是做什么的呢?这个程序与VASP的关系?难道是修改VASP的源代码?
4楼2009-03-18 08:25:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ilovexiaomucun

新虫 (初入文坛)

acridine:

可能我真是一个菜鸟, 就会一点fortran编写程序. (与vasp 无关)

想学会用vasp, 能并行计算大型分子模拟程序. 现在,我都不清楚, 我怎样才能入门.....

另外, MPI 与vasp 什么关系?


感谢回答...........
5楼2009-03-18 08:42:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

miracle3130

铁杆木虫 (小有名气)


wuchenwf(金币+1):(*^__^*)
要并行计算的话,我想楼主你要会计算机集群了!
6楼2009-03-18 11:40:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

madonion

金虫 (正式写手)

不明白你什么意思,你是要写一个象VASP那样的程序,还是要用VASP算东西?
7楼2009-03-18 11:46:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

madonion

金虫 (正式写手)

还是在自己的程序里调用VASP源代码里面的函数或者修改VASP的源代码?
8楼2009-03-18 11:48:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ilovexiaomucun

新虫 (初入文坛)

现有linux集群, intel fortran+vasp , 是要用VASP算东西.  想并行计算, 不知道要看那些并行计算的书才能让程序真正并行起来, 大侠们推荐推荐..................

[ Last edited by ilovexiaomucun on 2009-3-18 at 13:01 ]
9楼2009-03-18 12:56:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjpm

金虫 (正式写手)


wuchenwf(金币+1):(*^__^*)
你这样问 看的人真的不明白你说的啥意思
我随便搜点网上的资料给你解释吧

MPI:


MPI是一个库,而不是一门语言。许多人认为,MPI就是一种并行语言,这是不准确的。但是,按照并行语言的分类,可以把FORTRAN+MPI或 C+MPI看作是一种在原来串行语言基础之上扩展后得到的,并行语言MPI库可以被FORTRAN77/C/Fortran90/C++调用,从语法上说,它遵守所有对库函数/过程的调用规则,和一般的函数/过程没有什么区别;
  2、MPI是一种标准或规范的代表,而不特指某一个对它的具体实现,迄今为止,所有的并行计算机制造商都提供对MPI的支持,可以在网上免费得到MPI在不同并行计算机上的实现,一个正确的MPI程序可以不加修改地在所有的并行机上运行;
  3、MPI是一种消息传递编程模型,并成为这种编程模型的代表。事实上,标准MPI虽然很庞大,但是它的最终目的是服务于进程间通信这一目标的;


VASP只是一个计算的程序而已。有并行版本的也有一般串行版本的,并行版本的利用了MPI来并行。


常见的并行计算有OpenMP, MPI
OpenMP是共享内存式的并行,适合在SMP构架下使用。比如现在装了2、4核处理器或者多个CPU的机器上用。学起来很快的,一会儿就会了。当然得多用来能熟悉。特点是粒度比较小。

MPI比较适合有很多个机器,通过千兆网络,或者光纤连接起来组成一个集群一起计算。目前当线程超过8个后,MPI的性能下降的比较厉害,因为通信开销很大。

比较时髦的是利用OpenMP和MPI的混编。节点内用openmp并行,不过节点间使用MPI通信。
引用回帖:
Originally posted by ilovexiaomucun at 2009-3-18 08:42:
acridine:

可能我真是一个菜鸟, 就会一点fortran编写程序. (与vasp 无关)

想学会用vasp, 能并行计算大型分子模拟程序. 现在,我都不清楚, 我怎样才能入门.....

另外, MPI 与vasp 什么关系?


感谢回答 ...

10楼2009-03-18 15:19:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ilovexiaomucun 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见