由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - 哪位帮忙看一个极为简单的 MPI 程序,感谢拉!
相关主题
请问关于mpi的问题what's microbenchmark
MPI问题求助。Help! (转载)Can someone get this paper for me?
计算机行业革命以及中国的机遇请教博士题目
哪种 linux 支持 parallel programming?为什么有人老喜欢用c++之类的做数值计算
多线程优化求助!关于SNNS 或 JavaNNS (Stuttgart Neural Network Simulator)
GPU Programming 找什么工作构建并行计算环境求助
openMP or boost::thread (pthread) for multithreading ?valgrind谁用过?
EE转专业下周见CS教授面试求指点possible plagiarism
相关话题的讨论汇总
话题: mpi话题: size话题: rank话题: status话题: ierror
进入CS版参与讨论
1 (共1页)
c**********w
发帖数: 1746
1
这个程序就是想测试一下ISEND和IRECV。启动四个线程,每个把一个数字发到rank+1的
下一个thread上,最后一个rank为3的发回到rank=0的线程,用WAIT_ALL等待,然后把
结果打印出来,已经编译成功,发现四个线程也都启动,但却不能通讯。测试条件为
quad-core, linux, openMP
程序:
program hello
USE mpi
integer rank, size, ierror, status(MPI_STATUS_SIZE)
integer dest,tag, ierr,tag2, req(2), src
REAL*8 res, msg, ans,sout
integer status_array(MPI_STATUS_SIZE,2)

call MPI_INIT(ierror)
call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierror)
call MPI_COMM_RANK(MPI_CO
o***i
发帖数: 603
2
感觉逻辑有问题吧,死锁了?
用MPI_Test测试一下exchange完成了没?

【在 c**********w 的大作中提到】
: 这个程序就是想测试一下ISEND和IRECV。启动四个线程,每个把一个数字发到rank+1的
: 下一个thread上,最后一个rank为3的发回到rank=0的线程,用WAIT_ALL等待,然后把
: 结果打印出来,已经编译成功,发现四个线程也都启动,但却不能通讯。测试条件为
: quad-core, linux, openMP
: 程序:
: program hello
: USE mpi
: integer rank, size, ierror, status(MPI_STATUS_SIZE)
: integer dest,tag, ierr,tag2, req(2), src
: REAL*8 res, msg, ans,sout

c**********w
发帖数: 1746
3
non-blocking ISEND and IRECV也会死锁么?我试试改掉3
m*****7
发帖数: 67
4
tag必须一样才能收到
现在只有rank1能收到是因为:tag2初始值是0,
rank0发给rank1的msg tag也是0,
所以碰巧match上了

这个程序就是想测试一下ISEND和IRECV。启动四个线程,每个把一个数字发到rank+1的
下一个thread上,最后一个rank为3的发回到rank=0的线程,用WAIT_ALL等待,然后把
结果打印出来,已经编译成功,发现四个线程也都启动,但却不能通讯。测试条件为
quad-core, linux, openMP
程序:
program hello
USE mpi
integer rank, size, ierror, status(MPI_STATUS_SIZE)
integer dest,tag, ierr,tag2, req(2), src
REAL*8 res, msg, ans,sout
integer status_array(MPI_STATUS_SIZE,2)

call MPI_INIT(ierror)
cal

【在 c**********w 的大作中提到】
: 这个程序就是想测试一下ISEND和IRECV。启动四个线程,每个把一个数字发到rank+1的
: 下一个thread上,最后一个rank为3的发回到rank=0的线程,用WAIT_ALL等待,然后把
: 结果打印出来,已经编译成功,发现四个线程也都启动,但却不能通讯。测试条件为
: quad-core, linux, openMP
: 程序:
: program hello
: USE mpi
: integer rank, size, ierror, status(MPI_STATUS_SIZE)
: integer dest,tag, ierr,tag2, req(2), src
: REAL*8 res, msg, ans,sout

c**********w
发帖数: 1746
5
谢谢!right on the point!

【在 m*****7 的大作中提到】
: tag必须一样才能收到
: 现在只有rank1能收到是因为:tag2初始值是0,
: rank0发给rank1的msg tag也是0,
: 所以碰巧match上了
:
: 这个程序就是想测试一下ISEND和IRECV。启动四个线程,每个把一个数字发到rank+1的
: 下一个thread上,最后一个rank为3的发回到rank=0的线程,用WAIT_ALL等待,然后把
: 结果打印出来,已经编译成功,发现四个线程也都启动,但却不能通讯。测试条件为
: quad-core, linux, openMP
: 程序:

1 (共1页)
进入CS版参与讨论
相关主题
possible plagiarism多线程优化求助!
IEEE Computer vs Commu. of ACMGPU Programming 找什么工作
[转载]我知道的几个机器学习会议openMP or boost::thread (pthread) for multithreading ?
[转载]我知道的几个人工智能会议(一二三流)(revised)EE转专业下周见CS教授面试求指点
请问关于mpi的问题what's microbenchmark
MPI问题求助。Help! (转载)Can someone get this paper for me?
计算机行业革命以及中国的机遇请教博士题目
哪种 linux 支持 parallel programming?为什么有人老喜欢用c++之类的做数值计算
相关话题的讨论汇总
话题: mpi话题: size话题: rank话题: status话题: ierror