
John Maddock wrote:
Matthias Troyer wrote:
This would be particularly useful for parallel computing applications.
Is this possible? Would it be difficult to add?
I agree that this would be highly desirable.
Yes, this is definitely needed but I think it will be lots of work to add it, based on my own experience in implementing something like this in our ALPS library for parallel Monte Carlo simulations. I am planning to think about this sometime this year, but believe it is a substantial extension to the library and will not be easy to design right. The problem I see is that preparing an estimate from a sequence of values, and preparing an estimate from a number of estimates of independent accumulators requires different algorithms., e.g.:
Right: and for some accumulators the addition of two accumulators may not be possible at all. But can't we make this a conceptual requirement that if you try and combine two accumulator sets, then each accumulator must have a "combine" method (otherwise you get a compile time error). The "combine" methods for min/max/sum/count etc are all trivial aren't they - and could be added fairly easily ? But Eric would know the details :-)
This seems like a workable approach to me. But I've learned to believe Matthias when he says something is hard. It usually means I've overlooked something. :-) -- Eric Niebler Boost Consulting www.boost-consulting.com