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 |
|
c**********w 发帖数: 1746 | 2 这个程序就是想测试一下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(M |
|
c**********w 发帖数: 1746 | 3 这个程序就是想测试一下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 |
|
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 |
|
l********r 发帖数: 175 | 5 【 以下文字转载自 Linux 讨论区 】
发信人: lilyflower (smile), 信区: Linux
标 题: what kind of language this is and how to change it?
发信站: BBS 未名空间站 (Fri Aug 8 11:58:26 2008)
In my f90 source code files, it has following lines:
#ifdef SYNC
call mpi_barrier(mpi_comm_world,ierror)
#endif
what kind of languages that used? when using gfortran compiler to compile it
, I got warning message as: Illegal preprocessor directive.
I tried to correct it. How to change the source code or makefile a little
bit so that |
|
l********r 发帖数: 175 | 6 【 以下文字转载自 Linux 讨论区 】
发信人: lilyflower (smile), 信区: Linux
标 题: what kind of language this is and how to change it?
发信站: BBS 未名空间站 (Fri Aug 8 11:58:26 2008)
In my f90 source code files, it has following lines:
#ifdef SYNC
call mpi_barrier(mpi_comm_world,ierror)
#endif
what kind of languages that used? when using gfortran compiler to compile it
, I got warning message as: Illegal preprocessor directive.
I tried to correct it. How to change the source code or makefile a little
bit so that |
|
D**g 发帖数: 739 | 7 你大概没看懂我的意思。如果10比较是exclusively independant,而每个比较你设的
TYPE Ierror为0.005的时候,其over ALL type I error的算法就是1-(1-0.005)^10
而不是0.005X10.什么叫“这时候10个0。5%的几率中任何一个成立,几率是0.5%X10=5%
”?如果比较间是独立的,那么overall的type I error是0.0488 which is less than
0.05. 如果不是exclusive independent, 那么比0.0488更小,所以说BON是个保守的
办法。因为它实际控制的TYPE I error比预先设置的0.05小。 |
|
c**********w 发帖数: 1746 | 8 发信人: chairmanmeow (chairmanmeow), 信区: Programming
标 题: 哪位帮忙看一个极为简单的 MPI 程序,感谢拉!
发信站: BBS 未名空间站 (Sat Jul 17 13:59:56 2010, 美东)
这个程序就是想测试一下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 |
|