AccelerateHS / AccelerateHS/accelerate
Loop-invariant code motion
Abierto
frontend
new feature
- Lenguaje dominante
- Haskell
- Estrellas
- 1k
- Forks
- 135
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
We don't have any form of loop-invariant code-motion implemented. At the scalar level we could assume that the backend compiler (CUDA / LLVM) will do that for us, but at the array level we are on our own (given the current approach of compiling each collective operation individually).
In the mean time, the following little hack will force a thing to be executed before moving on:
``` haskell
licm :: (Arrays a, Arrays b) => Acc a -> (Acc a -> Acc b) -> Acc b
licm x f = (id >-> f) x
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.