Backward compatibility wg
Download
1 / 5

Backward Compatibility WG - PowerPoint PPT Presentation


  • 51 Views
  • Uploaded on

Backward Compatibility WG. The Big Issue: Counts Larger Than 2 32. Counts are expressed as “ int ” / “INTEGER” Usually limited to 2 32 Propose a new type: MPI_Count Can be larger than an int / INTEGER “Mixed sentiments” within the Forum Is it useful? Or just lazy?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Backward Compatibility WG' - neil


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

The big issue counts larger than 2 32
The Big Issue:Counts Larger Than 232

  • Counts are expressed as “int” / “INTEGER”

    • Usually limited to 232

  • Propose a new type: MPI_Count

    • Can be larger than an int / INTEGER

  • “Mixed sentiments” within the Forum

    • Is it useful? Or just lazy?

MPI_SEND(void *buf, int count, …)

MPI_SEND(void *buf, MPI_Count count, …)


Do we need mpi count
Do we need MPI_Count?

YES

NO

Very few users

“Syntactic sugar” for making a datatype

Affects many, many MPI API functions

Could just fix MPI_GET_COUNT

Potential incompatibilities (32 and 64 bit MPI libraries)

  • Some users have asked for it

  • Trivially send large msgs.

    • No need to make a datatype

  • POSIX went to size_t

    • Why not MPI?

  • Think about the future:

    • Bigger RAM makes 232 relevant

    • Coalescing off-node msgs.

    • More cores, larger MPI jobs


Solutions proposed
Solutions proposed

  • Do nothing

    • Tell users “use datatypes”

  • New, duplicate functions

    • E.g., MPI_SEND_LARGE

  • Use MPI_Count only for new MPI-3 routines

  • Change C bindings

    • Rely on C auto-promotion

  • Only fix MPI IO functions

    • Where MPI_BYTE is used

Ouch!!

Confusing to users

Not forward-looking

Bad for Fortran

Might be ok…?


Solutions proposed1
Solutions proposed

Forum has hated

every proposal

What about sizes,

tags, etc.?

  • Only fix “query” functions

    • E.g., MPI_GET_COUNT_LONG

  • Create a system for API versioning

  • Update all functions to use MPI_Count

  • Update all functions to use MPI_Count, MPI_Tag, MPI_Size, …

Might be ok…?

Ouch!!


ad