[llvm-dev] [cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.

Doerfert, Johannes via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 4 10:11:00 PDT 2019


On 06/04, Simon Moll wrote:
> > > On May 31, 2019, at 8:17 PM, Doerfert, Johannes <jdoerfert at anl.gov> wrote:
> > > 
> > > On 06/01, Saito, Hideki wrote:
> > > > Page 22 of OpenMP 5.0 specification (Lines 13/14):
> > > > 
> > > > 	When any thread encounters a simd construct, the iterations of the loop associated with the
> > > > 	construct may be executed concurrently using the SIMD lanes that are available to the thread
> > > > 
> > > > This is the Execution Model. The word here is "may" i.e., not "must".
> 
> As long as this reads "may" and there is no clear semantics for "concurrent
> execution using the SIMD lanes", "pragma omp simd" is precluded from
> advancing from "vectorize this loop" to a SPMD-like programming model for
> vectorization as it is common place in the GPU domain.

Side note:
Some OpenMP implementations choose to map SIMD to GPU lanes but others,
including LLVM/Clang, do not. So, SIMD in OpenMP is for us orthogonal to
SPMD mode execution on GPUs. (We map the "teams" to thread blocks and
"parallel" to the lanes.)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190604/a90a1b48/attachment.sig>


More information about the llvm-dev mailing list