lanl / lanl/singularity-eos

Checking EOS bounds

Open
#241 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion enhancement
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.