[PATCH] #pragma vectorize

Hal Finkel hfinkel at anl.gov
Tue Apr 22 12:47:45 PDT 2014


----- Original Message -----
> From: "Chandler Carruth" <chandlerc at google.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "Nadav Rotem" <nrotem at apple.com>, "Alexey Bataev" <alexey.bataev at intel.com>, "llvm cfe" <cfe-commits at cs.uiuc.edu>
> Sent: Tuesday, April 22, 2014 2:40:49 PM
> Subject: Re: [PATCH] #pragma vectorize
> 
> 
> 
> FWIW, only joining in the naming side of the discussion ...
> 
> 
> On Tue, Apr 22, 2014 at 11:39 AM, Hal Finkel < hfinkel at anl.gov >
> wrote:
> 
> 
> 
> > I also like ‘interleave’.
> > 
> 
> I like this as well.
> I very much dislike the term 'interleave'. We had a great deal of
> trouble with this term in the C++ committee. There are execution
> models which want this information but do not guarantee
> "interleaved" execution, and this is observable.

In this particular case, I think this objection is misplaced. The particular transformation that we're discussing is, literally, one that provides interleaving of loop iterations. We could also call it unsequenced (as I mentioned in some earlier e-mail), but in some sense, this transformation is more specific than that.

> 
> 
> Interleaved also seems to be promising much more than it can if this
> pragma does not assert safety.

Agreed; but we should keep the interleave (or whatever we call it) and the vectorize pragma consistent in this regard.

> 
> 
> If this is just a cost model hint, I like "widen" quite a bit better,
> and maybe there is a way to work "hint" or "cost" into the name?

In some sense it is a cost model hint, but I'm not sure a user would see it as such.

Using hint for the non-safety-asserting variants seems like a good idea. We should be clear with the users whether they are providing only a hint, or asserting something more.

 -Hal

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory




More information about the cfe-commits mailing list