On May 7, 2011, at 5:01 PM, Jeff Squyres wrote:

> example, if you have to pass an MPI datatype down to PARPACK, you'd actually 
> need to pass MPI_Type_f2c(MPI_INTEGER), or MPI_Type_f2c(MPI_DOUBLE_PRECISION).

Blarg -- I got these backwards.  I should have said:

> MPI_Type_c2f(MPI_INTEGER), or MPI_Type_c2f(MPI_DOUBLE_PRECISION).

Because the MPI_INTEGER and MPI_DOUBLE_PRECISION handles you're using are C 
handles, and you need to translate them to the equivalent Fortran handles 
(i.e., the integer handle values you see in mpif.h.).  Try it -- cout the 
return value from MPI_Type_c2f(MPI_INTEGER) and it should match the value you 
see in mpif.h.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to