Skip to content

MPI_Type_size(MPI_INTEGER,..) with INTEGER size promotion #744

Open
@jeffhammond

Description

@jeffhammond

Problem

We do not prohibit the modification of Fortran INTEGER using compiler options.

I would like someone to explain to me how they think this should be implemented.

My contention is this is almost impossible to implement, and we should disallow it.

This program illustrates the problem. How do people think implementers can make it so that the output of this program depends on the compiler option used?

program main
  use mpi_f08
  implicit none
  integer :: size,ierr
  call MPI_Init(ierr)
  call MPI_Type_size(MPI_INTEGER,size,ierr)
  print*,size
  call MPI_Finalize(ierr)
end program main

To be clear, I know how to implement this, but it's tricky and requires Fortran 2003, which isn't something we assume with mpif.h or the MPI module.

Proposal

We should disallow modification of the size Fortran INTEGER in the MPI standard.

Changes to the Text

Impact on Implementations

Intel MPI has at least partial support for ILP64 in the MPI module (but not the MPI_F08 module). This would disallow that.

Impact on Users

Users like this feature but do not understand its implications. It has never been safe to use.

References and Pull Requests

Metadata

Metadata

Assignees

No one assigned

    Labels

    mpi-6For inclusion in the MPI 5.1 or 6.0 standard

    Type

    No type

    Projects

    Status

    To Do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions