SIMD swizzle

General OpenMP discussion

SIMD swizzle

Postby bruno.uy » Thu Oct 12, 2017 2:02 pm

Hi,

How can I use shuffle/swizzle/cross lane operations in openMP? Something like https://ispc.github.io/ispc.html#cross- ... operations

Bruno
bruno.uy
 
Posts: 3
Joined: Wed Oct 11, 2017 6:58 am

Re: SIMD swizzle

Postby MarkB » Fri Oct 13, 2017 5:29 am

In short, you can't: OpenMP doesn't offer that sort of low-level interface to SIMD operations.
MarkB
 
Posts: 768
Joined: Thu Jan 08, 2009 10:12 am
Location: EPCC, University of Edinburgh

Re: SIMD swizzle

Postby bruno.uy » Fri Oct 13, 2017 6:12 am

Maybe there's a way to nudge implementations to generate swizzle code, or some coding patterns that are expected to end up as swizzle code? I could force the simdlen and then write to an array of that size that ends up implemented as a register.
bruno.uy
 
Posts: 3
Joined: Wed Oct 11, 2017 6:58 am

Re: SIMD swizzle

Postby MarkB » Fri Oct 13, 2017 8:43 am

bruno.uy wrote:Maybe there's a way to nudge implementations to generate swizzle code, or some coding patterns that are expected to end up as swizzle code? I could force the simdlen and then write to an array of that size that ends up implemented as a register.


Maybe, but it will be very implementation dependent!
MarkB
 
Posts: 768
Joined: Thu Jan 08, 2009 10:12 am
Location: EPCC, University of Edinburgh

Re: SIMD swizzle

Postby bruno.uy » Fri Oct 13, 2017 8:44 am

Thanks, Mark :)
bruno.uy
 
Posts: 3
Joined: Wed Oct 11, 2017 6:58 am


Return to Using OpenMP

Who is online

Users browsing this forum: No registered users and 4 guests