From: Ian S. <ian...@st...> - 2007-12-18 15:13:58
|
Amitha Perera wrote: > I've looked a briefly at the Intel TBB, and it seems to be a C++ library > implementation of OpenMP. Being geared for C++, it may certainly be > more powerful and useful. One issue that immediately came to mind there > was the requirement for function objects: all the parallel code needs to > be implemented in a function object. That may not be a bad thing by > itself, but it is different from the way imperative C++ is typically > written. (Mind you, heavy use of Boost would force you to write many > more function objects.) I'd be tempted to include boost lambda at the same time, to minimise this problem. > I do think that we need something like TBB to implement algorithms; I > think explicit threading and locking is *not* the way to go there. I > also think we need explicit threads to allow the building blocks to be > put together into a system. I'd agree with that. What worries me is keeping the two thread implementations compatible. In particular keep them from fighting over access to cores and from blocking each others access to the memory allocator. > Does anyone want to spend an hour on the phone to hash out some of these > issues? I'm thinking of a discussion grounded on concrete goals. For > example: I'm up for that. This Thursday in the early afternoon, or January, is good for me > - keeping the gui responsive an algorithm is running; > - parallel implementation of Gaussian smoothing; > - parallel implementation of connected component labeling. > > In particular, I'd be very interested to learn about what Ian has found > out about the various options available. I'm afraid its literature review and simple coding exercises only so far. Ian. |