Subject: Re: [boost] Accelerating algorithms with SIMD - Segmented iterators and alternatives
From: Jeffrey Lee Hellrung, Jr. (jhellrung_at_[hidden])
Date: 2010-10-13 16:56:29
On 10/13/2010 01:43 PM, Mathias Gaunard wrote:
> [Repost: first one doesn't appear to have made it through]
> Just trying to refocus this thread to what I meant it to be.
> What I would like to know, is how people think we could integrate this
> system into iterators and ranges so that existing algorithms could be
> adapted to treat N elements at a time instead of 1, and therefore get a
> potential speed gain.
> As I said, we currently have an iterator adapter that adapts a range of
> properly aligned Ts, that are also contiguous at least in chunks of N
> elements, into a range of pack<T, N>s.
> Are there other utilities we could provide to help with the usage of SIMD?
> I was thinking of supporting adapting non-aligned ranges as well and
> padding them with some values, but that is not possible to do
> efficiently with the standard iterator model, which led to some
> discussion about an alternative iterator model that seems to be going
"seems" being the operative word ;)
I find the argument to investigate a framework for internal iteration /
push iteration / visitation iteration / whatever convincing. I haven't
been convinced yet (despite Dave's best efforts) that the standard,
external iteration model, segmented or otherwise, will absolutely
address your efficiency concerns.
Have you benchmarked the performance difference between the standard
iteration model and push iteration?