On May 8, 2008, at 15:45, Christopher Peplin wrote:> That's true, TBB is limited in compatibility. I don't necessarily
> think that's where a parallel FLAC API should head, but they're
> something to be said for Intel's increasing openness with the
> project and the pipeline design itself. The pipeline could possible
> be ported to pthreads.
>
> Our project was conceived as a way to learn TBB by doing, so we
> didn't put any time/thought into other multithread approaches.
>
> Chris
Kudos for taking a learning experience project and making it useful
for at least some FLAC users.
I have used the Intel IPP product for DSP, and it is at least
conceptually similar to other DSP libraries, making it reasonably
portable with additional effort. I am curious to know what the Intel
TBB offers. Are the features limited to threading only? ... or do
they offer any math processing or buffer management or anything
beyond? If TBB is limited to the basic threading concepts, including
mutex and semaphores, then it should not be too difficult to port
your work to a Unix-standard open source implementation. You can
possibly maintain TBB where it is available, and switch to other
threading API otherwise. The only problem I see is that the TBB
makes use of templates, which are notoriously less portable than
other C++ language features.
I also suppose that your team may not want to put the additional
effort into this beyond the TBB, so perhaps there is a way for the
FLAC Developer community to cooperate on the extension.
Brian Willoughby
Sound Consulting