a question about data transfer in MPI# Computation - 科学计算
t*o
1 楼
情况如下:
only two nodes
0 node: a = 0.3
1 node: a = 0.1
use MPI_Allreduce(a, a_temp, 1, MPI_REAL ... )
Fortran中如果我用缺省的mpif77编译, 结果没有问题, 能得到a_temp = 0.4
但是real精度不高, 我那个程序精度大概10负4次方左右, 为了提高精度, 我用
mpif77 -r8 编译, 问题是得到的a_temp = 56.8....
我用
call MPI_Allreduce(a, a_temp, 2, MPI_REAL ... ) 结果同上
用
call MPI_Allreduce(a, a_temp, 1, MPI_DOUBLE_PRECISION ... ) 运行报错,
说什么NULL communicator
搞不清楚数据是怎么传输和存储的了!!!
哪位大侠有这方面的经验? 万分感谢!
only two nodes
0 node: a = 0.3
1 node: a = 0.1
use MPI_Allreduce(a, a_temp, 1, MPI_REAL ... )
Fortran中如果我用缺省的mpif77编译, 结果没有问题, 能得到a_temp = 0.4
但是real精度不高, 我那个程序精度大概10负4次方左右, 为了提高精度, 我用
mpif77 -r8 编译, 问题是得到的a_temp = 56.8....
我用
call MPI_Allreduce(a, a_temp, 2, MPI_REAL ... ) 结果同上
用
call MPI_Allreduce(a, a_temp, 1, MPI_DOUBLE_PRECISION ... ) 运行报错,
说什么NULL communicator
搞不清楚数据是怎么传输和存储的了!!!
哪位大侠有这方面的经验? 万分感谢!