Boost logo

Boost :

Subject: Re: [boost] Accelerating algorithms with SIMD - Segmented iterators and alternatives
From: Jeffrey Lee Hellrung, Jr. (jhellrung_at_[hidden])
Date: 2010-10-13 16:39:29


On 10/13/2010 01:19 PM, David Abrahams wrote:
> At Wed, 13 Oct 2010 12:18:13 -0700,
> Jeffrey Lee Hellrung, Jr. wrote:
>>
>> On 10/13/2010 10:50 AM, David Abrahams wrote:
>>> At Wed, 13 Oct 2010 17:38:56 +0100,
>>> Mathias Gaunard wrote:
>> [...]
>>>> Segmented iterators are only useful if the iteration of all my
>>>> segments is done with the exact same logic but at different locations,
>>>> since they all must have the same type. They don't allow to circumvent
>>>> the problem I exposed with normal iterators at all.
>>>
>>> I think they do. However, you might find that you need some dynamic
>>> dispatching to get it to work. In other words,
>>>
>>> if (operating on complete segment)
>>> SIMD algorithm
>>> else
>>> elementwise algorithm
>>
>> That doesn't seem any better than what I would imagine the
>> range_detail::join_iterator does. I.e., I don't see what segmented
>> iteration buys us here over what I'd imagine Mathias is currently
>> doing (which, I'd imagine, is some variant on a joint_iterator that
>> returns aligned packets).
>
> where's that list of algorithms again? sort, transform, merge,
> binary_search ...

Ummm...not sure what your point is. Are you saying a join_iterator (the
iterator used in the result of boost::join) has issues with these
algorithms?

- Jeff


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