gmegan / specification

OpenSHMEM Application Programming Interface
http://www.openshmem.org
1 stars 0 forks source link

Error handling and SHMEM_DEBUG #65

Closed nspark closed 5 years ago

nspark commented 5 years ago

Thank you @gmegan for all your work on the Teams draft!

I was reading the "Error Handling" section and the following stood out to me:

OpenSHMEM implementations for high performance production environments may do minimal internal error checking for performance reasons. [...]

In "Environment Variables", the specification doesn't say much about what the SHMEM_DEBUG environment variable does. Do we consider it relevant here? If so, do we want to more fully define the effects of setting SHMEM_DEBUG to particular values? For example, SHMEM_DEBUG=0 could mean "don't perform safety checks at the SHMEM level" (e.g., Is this a valid PE? Is this a valid symmetric address?), while setting SHMEM_DEBUG to a nonzero value could request such checks. Note that failing those checks might still be fatal, but could result in an OpenSHMEM-level error message vs. an error at a lower layer of the runtime (which is often more cryptic). Also, I don't think SHMEM_DEBUG should affect the error checking for conditions explicitly specified as checked by a particular routine.