mpi-forum / mpi-issues

Tickets for the MPI Forum
http://www.mpi-forum.org/
67 stars 8 forks source link

Two ways in which the default for mpi_memory_alloc_kinds can be interpreted #773

Open th-hlrs opened 1 year ago

th-hlrs commented 1 year ago

Problem

The new mpi_memory_alloc_kinds can be used to request and to query support for different. If it is used to query what the default is, current wording ('string, default: "mpi,system"') can be read as

  1. a conforming library has to exactly set to/return the value "mpi,system" if nothing else has been requested (e.g. by an start-up mechanism). Thus, no library could by default enable support for GPUs, even if it would make sense;
  2. a conforming library sets the info key/returns the value as if "mpi,system" had been specified by an start-up mechanism. Then also additional memory kinds could be added.

Proposal

It might not make sense to restrict libraries to only offer (default) support for "mpi,system". Then 2. would be better.

Changes to the Text

Add in section 11.4.3 in the definition of mpi_memory_alloc_kinds text similar to: The default is treated as if the user had requested it.

References and Pull Requests

hppritcha commented 1 year ago

although this is in the process creation chapter, i've not been very involved in the memory kind allocation portion. reassigning to @jdinan

jdinan commented 1 week ago

It was intended that libraries can include implementation-defined kinds in addition to the default. This is specified further down in the section, but I do agree it needs to be clarified here. Here's one way to clarify this:

"mpi_memory_alloc_kinds" (string, default: "mpi,system"): A comma separated list of memory allocation kinds. ++The default must contain the kinds specified and may contain additional implementation-defined kinds.++