爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3365|回复: 3

[源代码] mpi_send函数的使用

[复制链接]

新浪微博达人勋

发表于 2014-8-7 16:19:34 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
各位编程大神,小弟最近在学并行代码大编写。在练习mpi_send函数的使用时,遇到了一些问题。源代码很简单,如下:


PROGRAM MAIN
USE mpi
    IMPLICIT NONE

    INTEGER myid,numprocs,rc,stats,ierr
    REAL a(2,2)

    CALL MPI_INIT(ierr)
    CALL MPI_COMM_RANK(MPI_COMM_WORLD,myid,ierr)
    CALL MPI_COMM_SIZE(MPI_COMM_WORLD,numprocs,ierr)

    IF(myid==0) THEN
    a(:,:)=0
    ENDIF
   
    IF(myid==1) THEN
    a(:,:)=1
    ENDIF

    IF(myid==0) THEN
        CALL MPI_SEND(a(1,1),16,MPI_REAL,1,10,MPI_COMM_WORLD,ierr)
    ENDIF

    IF(myid==0) THEN
        OPEN(10,FILE="1.txt")
            WRITE(10,*) a(1,1)
        CLOSE(10)
    ENDIF

    IF(myid==1) THEN
        OPEN(11,FILE="2.txt")
            WRITE(11,*) a(1,1)
        CLOSE(11)
    ENDIF

    CALL MPI_FINALIZE(rc)
END

当最后生成的文件打开后,发现数组没有变化,内部通信没有实现。请问有经验的大神们,小弟哪里错了,不胜感激!!




密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-10 21:46:55 | 显示全部楼层
你只有发送数据操作,却没有接收操作,mpi_send与mpi_recv要一一对应的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-8-11 11:31:38 | 显示全部楼层
雪花纷飞 发表于 2014-8-10 21:46
你只有发送数据操作,却没有接收操作,mpi_send与mpi_recv要一一对应的。

你的意思就是说,有send的同时也要有recv对应是吧。。。我来试试看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-11 17:01:11 | 显示全部楼层
openmpi不知道好不好用
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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