On Mon, 24 May 2010, John Lato wrote:
On Sun, May 23, 2010 at 5:47 PM, Henning Thielemann
With the LLVM based signal processing EDSL that I developed recently
(http://arxiv.org/abs/1004.4796) you could in principle generate fast signal
processing code from GHCi. However sadly, in LLVM-2.6 GHCi aborts with a
failed LLVM assertion, whereas LLVM-2.5 could be pursuaded to work with GHCi
with a bit of effort.
Thanks for sharing that paper; I look forward to reading it! I've
done some experimenting with LLVM code generation recently,
unfortunately it didn't work out quite how I would have liked (mostly
due to OS/llvm version problems on which progress has been made).
I've just begin experimenting with a CCA-based system instead, and it
would be interesting to compare the two once my work is a little
further along. In particular, I think the CCA code with ghc's LLVM
backend could be competitive.
Actually I use causal arrows for the LLVM code generation (additional to
the causal arrow code in
http://code.haskell.org/synthesizer/core/src-4/Synthesizer/Causal/Process.hs).
However it will certainly need some more time until GHC supports CPU
vector types, and even more time to support CPU specific vector
operations. Both of these features are already available in LLVM. For
instance I have written some ix86 specific optimizations:
http://code.haskell.org/~thielema/llvm-extra/src/LLVM/Extra/Vector.hs
http://code.haskell.org/~thielema/llvm-2.6/
_______________________________________________
haskell-art mailing list
[email protected]
http://lists.lurk.org/mailman/listinfo/haskell-art