Subject: Re: [linux-audio-dev] runtime / compiletime processing proof of concept
From: Jake Donham (jake_AT_sparkplug.bitmechanic.com)
Date: Fri Jul 26 2002 - 17:28:04 EEST
"Maarten" == Maarten de Boer <mdeboer_AT_iua.upf.es> murmurs:
Maarten> Hello, Juan Linietsky (reduz on #lad) talked on #lad
Maarten> about an idea of Benno to have processing graphs generate
Maarten> source code, compile it on the fly, thus taking advantage
Maarten> of all compiled optimizations, as an alternative to
Maarten> runtime processing. Especially for sample based
Maarten> processing instead of block based processing this can be
Maarten> very useful and a lot faster.
I tried a version of this in Freebirth (a defunct project but you can
see it at http://www.bitmechanic.com/projects/freebirth/) and it
didn't help as much as I'd hoped (over block-based processing). I
suspect that it is rather easy to compile yourself a processing loop
that is bigger than the processor instruction cache and really lose to
cache misses.
Of course we didn't really know what we were doing so there could be
other factors.
If you don't need single-sample processing maybe you could rewrite the
graph into chunks where each chunk is a single loop smaller than the
icache.
I wonder if Scott Draves' work on program specialization for media
processing might be relevant:
http://www-2.cs.cmu.edu/~spot/research.html
Jake
This archive was generated by hypermail 2b28 : Fri Jul 26 2002 - 17:37:01 EEST