Boost logo

Boost :

Subject: Re: [boost] Boost SIMD beta release
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2012-12-25 12:19:37


On 24/12/12 03:54, Dave Abrahams wrote:

> Well, that is one view.

It's not a matter of view. The definition of the concepts is not really
subject to interpretation.

> A simple change to that loop could allow a SIMD-specialized version of
> fill to kick in.

If we're going to specialize for SIMD anyway, then there is no point to
the exercise at all.
The solution you're proposing is more about extending our SIMD variants
to the algorithms to work with segmented sequences, not re-using
segmented iterator algorithms as defined in the paper to do SIMD.
Those are entirely two different things.

I can tell you the second is not really conceptually feasible, and in
the cases it is it is not a good idea.
The first one is trivial and just a matter of adding the code for it,
but there isn't really any incentive to do so since there are no
segmented iterators in existence anywhere.

>> That means we cannot have a 4xfloat body and a trailing 1xfloat
>> epilogue. We need to have 4xfloat everywhere, which, while possible in
>> some cases, would be limiting in others, needing a case-by-case
>> workaround depending on the operation being done (like conditional
>> stores or filling with neutral data).
>
> I'm not sure what kinds of workarounds you have in mind. An example
> might help.

The examples of workarounds are in parentheses.


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