由买买提看人间百态

topics

全部话题 - 话题: mpif77
(共0页)
S***y
发帖数: 186
1
来自主题: Computation版 - Re: f90 and mpi
mpif77, mpif90 ... are just so-called "wrapper" compiler.
They are practically not "real" compilers.
They need to call some background Fortran compilers to
carry out a complete compilation.
So, when installing the MPI, if the mpif77 is linked to
a Fortran90 compiler, such as pgf90 under Linux,
even mpif77 can compiler Fortran 90 programs in which
the MPI subroutines are called.
t*****o
发帖数: 74
2
来自主题: Computation版 - a question about data transfer in MPI
情况如下:
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
搞不清楚数据是怎么传输和存储的了!!!
哪位大侠有这方面的经验? 万分感谢!
K******C
发帖数: 230
3
来自主题: Programming版 - MPI xl fortran problem on Blue Gene
我的
code 基本上是用frotran 77 和mpi library 写的.以前用GNU 的编译的,一直没有什
么问题:
mpif77 -r8 -o code.f
现在我把code 移到了blue gene上,用了xl fortran编译,就出现在问题了
mpixlf77 -O2 -qrealsize=8 code.f
我在code里面用了common block 定义全局变量
有一个全局变量不应该在 运行过程中变化的,后来我把这个变量 在所有的subroutine
里面print out。发现每当call 某个 subroutine以后,这个值就变化了,奇怪的是在
这个subroutine 里面 ,我没有定义这个变量所在的common block. 而且这个值从以来
的的‘4‘,一下变成了 ’2XXXX‘ ,而且每次call这个subroutine 就继续变大。
我估计是不在编译的时候设定环境变量有问题,但不知道怎么改。 不是高手有什么好
主意?
BTW:我的code 里面还定义了 double presicion的变量
(共0页)