AccelerateHS / AccelerateHS/accelerate
[QUESTION/DOCUMENTATION] Document about reproducibility of computations
- 主要语言
- Haskell
- 星标
- 1k
- 派生
- 135
- PR 合并指标
- 30 天内没有已合并 PR
描述
Hi! I have a question about something I was considering using accelerate for scientific computation that we wish to be reproducible.
The goal is to be able to run the same computation again on a different setup and get the same result, e.g. with CUDA on GPU or on X86 CPU.
I found in https://github.com/AccelerateHS/accelerate/blob/master/accelerate.cabal that it is possible to eliminate a large source of platform/optimisation-dependant behavior with `-fno-fast-math`. That's great. I also saw a `-fno-fast-permute-const` which I'm not sure what it does but I'm curious about.
Would you say disabling fast-math is enough to have IEEE754 floating point behavior with deterministic order of operations, so that the calculation result can be the same no matter the platform?
(I can make a PR afterwards to try to summarise this discussion in the README or wherever applicable.)
So:
1. Can I get reproducible floating point results?
2. (additionally) What's the effect of `-fno-fast-permute-const`?
Thanks!
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。