You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Argobots defines when undefined behaviors can happen, but this is not very user friendly. If possible, Argobots should warn users when a debug option is true so that user can easily find and fix the cause of undefined behavior. The idea is that, since the behavior is undefined in such a case, that behavior can be an assertion when a debug option is enabled. Undefined-behavior checks are expensive, so they will be removed for a non-debug configuration.
Examples of when undefined behaviors happen:
Passing NULL
Double-freeing an Argobots object (e.g., ABT_pool)
Double-joining a ULT
Explicitly freeing an automatic scheduler/pool
Explicitly freeing a pool of the primary execution stream.
Note that this detection is neither mandatory nor strict since it causes "undefined behavior". Argobots should do the best to show a useful error message rather than incur an error somewhere else, but the user should not expect assertion.
Argobots defines when undefined behaviors can happen, but this is not very user friendly. If possible, Argobots should warn users when a debug option is true so that user can easily find and fix the cause of undefined behavior. The idea is that, since the behavior is undefined in such a case, that behavior can be an assertion when a debug option is enabled. Undefined-behavior checks are expensive, so they will be removed for a non-debug configuration.
Examples of when undefined behaviors happen:
NULL
ABT_pool
)Note that this detection is neither mandatory nor strict since it causes "undefined behavior". Argobots should do the best to show a useful error message rather than incur an error somewhere else, but the user should not expect assertion.
See this thread for related discussion: https://lists.argobots.org/pipermail/discuss/2021-March/000103.html
The text was updated successfully, but these errors were encountered: