Boost logo

Boost :

Subject: Re: [boost] Accelerating algorithms with SIMD - Segmented iterators and alternatives
From: David Abrahams (dave_at_[hidden])
Date: 2010-10-16 15:20:21


At Sat, 16 Oct 2010 19:01:12 +0100,
Mathias Gaunard wrote:
>
> On 15/10/2010 04:48, David Abrahams wrote:
> > At Thu, 14 Oct 2010 20:00:15 +0100,
> > Mathias Gaunard wrote:
> >>
> >> On 13/10/10 18:50, David Abrahams wrote:
> >>
> >>> I think you mean
> >>>
> >>> 1 2 | 3 4 5 6 | 7 8 9 10 | 11
> >>
> >> What is that nonsense supposed to be?
> >
> > I fear this conversation is becoming uncivil.
>
> Sorry, I just couldn't make sense of what this is supposed to be,
> and used bad phrasing.
>
> What would the value type of that range be?

int

>
> > That's what "if" statements are for.
>
> We want to avoid these.

Actually, you don't need them. This is really simple; it's just like
processing a deque.

> > Unless you process the uneven end bits with non-SIMD code.
>
> I would quite like a provide a way to do this.
> A range, however, must be homogeneous, and have all its elements be
> the same type, so it's either a scalar or a vector, can't be both.

That's where your problem is; you can't look at the "vectors" as
elements. They're just views used as an optimization technique for
operating on subsequences of a particular number of scalars.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk