79 用户函数样本

BACKWARD FORWARD


例如,在Fortran双精度之上产生一个与MPI-SUM有同样效果的操作,使用

subroutine myfunc( invec, inoutvec, len, datatype ) 
   integer len, datatype 
   double precision invec(len), inoutvec(len) 
   integer i 
   do 10 i=1,len 
10   inoutvec(i) = invec(i) + inoutvec(i) 
   return 
   end 

仅使用

integer myop
call MPI_Op_create( myfunc, .true., myop, ierr )
call MPI_Reduce( a, b, 1, MPI_DOUBLE_PRECISON, myop, ... )

当用户函数不再使用时,MPI_Op_free例程释放用户函数。


Copyright: NPACT BACKWARD FORWARD