On 11/13/2015 04:11 PM, Nathan Sidwell wrote:
I noticed that we weren't supporting reductions of complex type,
particularly complex double.

I've committed this patch to add support for vector reductions.  We
split the complex type apart and process each half before sticking it
back together again.  As it happens only 32-bit shuffles exist on
hardware, so splitting (say) complex float this way doesn't result in
worse code that punning the  whole thing to a 64-bit int.  I suspect it
might play better, by keeping the real and imaginary parts separate.

Worker and gang-level reductions of such types will be a different
patch, which I need to think about.

LGTM.


Bernd

Reply via email to