openshmem-org / specification

OpenSHMEM Application Programming Interface
http://www.openshmem.org
51 stars 41 forks source link

Thread levels have increasing integer values #416

Closed jdinan closed 4 years ago

jdinan commented 4 years ago

Issue

I don't think we specified that SHMEM_THREAD_SINGLE < SHMEM_THREAD_FUNNELED < SHMEM_THREAD_SERIALIZED < SHMEM_THREAD_MULTIPLE.

Proposed change

Option 1:

Section 9.2:

There are four levels of threading defined by the OpenSHMEM specification, +with increasing integer values+.

Option 2:

Section 9.2, add to the bulleted list of semantics:

  • The thread level constants must have increasing integer values, i.e., SHMEM_THREAD_SINGLE < SHMEM_THREAD_FUNNELED < SHMEM_THREAD_SERIALIZED < SHMEM_THREAD_MULTIPLE.
jdinan commented 4 years ago

Would folks be comfortable handling this as a document edit, so we can squeeze it into OpenSHMEM 1.5? This feels to me like an erratum, which seems fine to implement as a document edit. Also would like to hear preferences on option 1 vs 2 above.

davidozog commented 4 years ago

Thanks @jdinan - I'm comfortable as a doc-edit, and (very slightly) prefer option 2 since it seems more explicit about what "with increasing integer values" means.

jdinan commented 4 years ago

Option 2 actually seems a bit weird since the the bulleted list is introduced as follows:

The following semantics apply to the usage of these models:

However, this requirement has to do with how the library is implemented, not how it is used. I think option 1 makes the most sense (as a doc edit).

jdinan commented 4 years ago

Closed by: https://github.com/openshmem-org/specification/pull/418/commits/8a672e5d957c3d805edd7e33986415f53d1755a8