Skip to content

Reductions on REAL*16's are not working #63

Closed
@ompiteam

Description

@ompiteam

Per a thread on the user's list:

http://www.open-mpi.org/community/lists/users/2008/10/7081.php

Something odd is going on with REAL*16 reductions. George and I have discovered:

  • The MPI_REAL16 datatype is mapping itself onto the MPI_LONG_DOUBLE datatype (which is fine)
  • So its actually invoking ompi_mpi_op_sum_long_double() to do the reduction (instead of ompi_mpi_op_sum_fortran_real16()), but this should be ok because the ompi_fortran_real16_t is just a typedef for long double. So these functions are identical (but it does mean that we have a few useless op routines).
  • What it ''looks'' like is that the DDT engine is copying over the last element as the first step of the reduction, but then the "+=" operator is not actually adding in the other values together.
  • Ditto for other operators (e.g., MAX). It's like the operators are not having any effect.

Very puzzling.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions