[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.
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...
Size: 228 bytes
Desc: not available
More information about the llvm-dev