CEED / CEED/libCEED

Backend determinism

Open
#443 0 comments 1 reaction 3 assignees Claimed by @jeremylt View on GitHub
Dominant language
C
Stars
265
Forks
78
Avg merge
2d 8h
Merged PRs (30d)
11

Description

Some backends, such as those that use atomics to resolve write conflicts, are non-deterministic due to lack of floating point associativity. We should

- [x] Add an interface to query backend properties. Perhaps `CeedGetDeterministic(Ceed, bool*)` or `CeedGetProperty(ceed, "deterministic", &prop)`.
- [x] Document which backends are deterministic (automated or not)
- [ ] Test that backends claiming to be deterministic are empirically
- [ ] Eventually: develop a high-performance deterministic CUDA backend (e.g., via interface coloring)

Cc: @tzanio

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.