Checking EOS bounds
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 39
- Forks
- 22
- Avg merge
- 10h 22m
- Merged PRs (30d)
- 3
Description
In https://github.com/lanl/singularity-eos/issues/180 the discussion is about how to return appropriate values despite the fact that the inputs have gone beyond some appropriate limits. However, it may also be useful to provide some level of introspection about whether an EOS has gone beyond the domain for which it is appropriate without actually providing a suitable solution.
In talks with @dholladay00 @aematts and @annapiegra , we discussed the option of having singularity-eos provide some means of introspection about whether a given set of lookups has violated the domain of the EOS in some way. We discussed how print statements are not an option due to not having knowledge about how many operations are being performed and not wanting to spam the user with a ton of errors.
The first step in any of this would be providing the EOS with an introspection function that determines whether or not a given input condition violates the relevant domain of the EOS. This could be very easily made to be a vector.
We could also overload the lookups to provide a place to store an error flag that could provide information about the extrapolation. Similarly, the vector functions could be overloaded so that they could optionally perform a parallel reduction over all lookups to provide a means of determining whether or not to call the bounds checking function.
Alternatively, EOSPAC takes the approach of providing bounds checking only on CPU and only as an additional step after the initial lookup has been performed.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests; start by reviewing the existing EOS lookup and vector-function APIs. Compare the proposed introspection, lookup error-flag, and CPU-only bounds-checking approaches, then define the accepted API and behavior for detecting inputs outside the EOS domain.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100