E3SM-Project / E3SM-Project/eamxx-scripts

Testing on GPU

Open
#75 2 comments 0 reactions 1 assignee Claimed by @jgfouca View on GitHub
Dominant language
Shell
Stars
2
Forks
4
PR merge metrics
No merged PRs in 30d

Description

1a. to get gcc to do the same as `-fp-model=strict`, one uses
`-ffp-contract=off`.

1b. to get cuda to do the same, one adds `--fmad=false` to `cuda_args` in
`nvcc_wrapper`.

2. in addition, team reductions and scans will still diff. hommexx serializes
these with a wrapper. however, these account for too much of the code in p3, so
we can't use this route w/o losing tons of testing of important ||ism.

thus, for gpu tests, we should do non-bfb testing and set an appropriate tol. we
can augment the tolerance specification in run_and_cmp with something like
```
if (OnGpu::value)
tol = 10*std::numeric_limits::epsilon();
```
we can still use 1a and 1b to get the diffs down to just the reduction/scan
ones.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.