You are here: Home / videos / Euro LLVM 2013 / Euro LLVM 2013 Lightning Talks / Efficient audio signal processing using LLVM and Haskell
< September 2014 >
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Efficient audio signal processing using LLVM and Haskell

"Efficient audio signal processing using LLVM and Haskell"
by Henning Thielemann, on 2013-04-30 00:00
Playing Time: unknown

Creative Commons BY-ND

I am using LLVM for audio signal processing via Haskell. My goal is to combine the safety and elegance of Haskell with the speed of code generated by LLVM. My approach is an embedded domain specific language (EDSL), that is, my library provides Haskell functions that look like signal processing functions, but actually they represent pieces of LLVM assembly code. Composing such signal functions means assembling large LLVM code blocks from smaller ones. I use the JIT for turning the LLVM code into executable C functions. This also allows me to adapt to available processor extensions like SSE and AVX at startup time of a signal processing program. I make intensive use of the vector instructions of LLVM.