AccelerateHS / AccelerateHS/accelerate

[QUESTION/DOCUMENTATION] Document about reproducibility of computations

Aberta
#545 4 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Haskell
Estrelas
1k
Forks
135
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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!

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.