24小时热门版块排行榜    

查看: 1604  |  回复: 6
当前主题已经存档。

ymyang008

捐助贵宾 (小有名气)

[交流] 【求助】linux集群,如何自编FORTRAN 程序实现并行

在fortran 程序中如何编程实现并行运算

[ Last edited by zzgyb on 2008-5-7 at 00:01 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小欢

金虫 (正式写手)

★
lei0736(金币+1,VIP+0):谢谢
据本人所知,用MPI和PVM可以实现并行计算。
2楼2008-05-09 20:46:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxjbuilder

木虫 (知名作家)

★ ★
lei0736(金币+2,VIP+0):谢谢
本人愚见:
并行计算应该是程序自己所支持的吧,而不是你想让它并行运算就并行的吧
对于能并行运算的程序,应该可以指定cpu的个数
悠悠天地,奈何独立苍茫?
3楼2008-05-09 21:03:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abinitio

版主 (著名写手)

我自己不会,但听过讲座。
如2楼小欢所言,使用MPI即可实现并行运算,具体是在程序开始处好象加上一个MPI的并行语句即可。
4楼2008-05-09 21:40:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jove1782

木虫 (正式写手)

小木虫风雅协会代理秘书长

★
lei0736(金币+1,VIP+0):谢谢推荐
SUN的开发者论坛(中文)上有很多内容可以参考,呵呵我有PDF可惜我是新虫对论坛功能还不太熟悉,还是楼主自己去看吧,任君挑选
もっとも永く続く?郅稀螭铯欷�?郅扦ⅳ搿�
5楼2008-06-21 21:51:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wudai

木虫 (初入文坛)

★ ★ ★ ★
spur(金币+4,VIP+0):many thanks!
lei0736(金币+0,VIP+0):十大“耐思”版主评选欢迎参与投票 http://emuch.net/bbs/viewthread.php?tid=845527&fpage=1
要实现并行计算,需要安装并行工具的,如 MPICH, HP-MPI 等,他们都是MPI的具体实现,关于什么是MPI,及MPICH 请自己百度一下吧。

MPICH是免费的,可以到官方下载http://www.mcs.anl.gov/research/projects/mpich2/ ,现在已经发展到MPICH2了,在MPICH2中实现了对 C/C++,fortran77,fortran90的支持。

怎么在linux和windows下安装MPICH,以及如何配置你的编译器的并行环境,百度里多的是,我的博客里也有,写的都很详细了。

下面就是一个最简单的 helloworld 并行程序,fortran77版本的
==================================================
program main

        include 'mpif.h'
        implicit none
        integer i,ierr,rc,namelen,num,l,m
        character(MPI_MAX_PROCESSOR_NAME) name

        call MPI_INIT(ierr)
        call MPI_COMM_RANK(MPI_COMM_WORLD,i,ierr)
        call MPI_COMM_SIZE(MPI_COMM_WORLD,num,ierr)
        call MPI_GET_PROCESSOR_NAME(name,namelen,ierr)

       write(*,"('hello world !  processor',I2,' of ',I1,' on ',20A)" i,num,name

        call MPI_FINALIZE(rc)
end program main
==================================================

编译连接后,用命令行执行: mpirun -np 6  ./a.out 这样就启动了6个进程执行你的程序。至于在集群环境下,一般要写一个mpd.hosts文件,里面写上要起动的节点,然后最好在主节点上提交任务。

就写这么多吧,楼主发帖已经一月有余,不知楼主还能否看到我的回复了,呵呵

[ Last edited by wudai on 2008-6-22 at 10:55 ]
6楼2008-06-22 10:50:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

madonion

金虫 (正式写手)

★ ★
spur(金币+2,VIP+0):3Q!感谢参与!欢迎常来!!
恩,pvm有点老了,学mpi吧,网上资料还是很多的,其实掌握mpi还是不难的,不过并行算法可就大有讲究了。
并行运算确实是要在编程时就用mpi编(openmp更简单,但是只能在一台机器上用多个cpu,不能多台机器并行),目前还没有能把不支持并行的源代码拿来编译一下就能并行的工具,最次也要改一改。
我也想好好学学编程,一起加油把
7楼2008-06-22 16:12:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ymyang008 的主题更新
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
信息提示
请填处理意见