ABataev added a comment.

In https://reviews.llvm.org/D29910#676777, @arpith-jacob wrote:

> Hi Alexey,
>
> Thank you for reviewing this patch.
>
> > I don't like the idea of adding some kind of default scheduling, that is 
> > not defined in standard in Sema
>
> Actually, "default scheduling" is defined in the OpenMP spec.  It is called 
> "def-sched-var" and controls the scheduling of loops.  It's value is 
> implementation (compiler) defined.  So why not allow the target device to 
> choose this value in the compiler?
>
>   http://www.openmp.org/wp-content/uploads/openmp-4.5.pdf
>  
>   Section 2.3.1: ICV Descriptions, pg 46:
>   def-sched-var - controls the implementation defined default scheduling of 
> loop regions. There is one copy of this ICV per device.
>  
>   Section 2.3.2: ICV Initialization, pg 47:
>   Table 2.1:
>   def-sched-var   No environment variable      Initial value is 
> implementation defined
>  
>   Section 2.7.1.1: Determining the Schedule of a Worksharing Loop
>   When execution encounters a loop directive, the schedule clause (if any) on 
> the directive, and the run-sched-var and def-sched-var ICVs are used to 
> determine how loop iterations are assigned to threads. See Section 2.3 on 
> page 36 for details of how the values of the ICVs are determined. If the loop 
> directive does not have a schedule clause then the current value of the 
> def-sched-var ICV determines the schedule.
>
>
> I've reworked the patch to handle the default scheduling in Sema and removed 
> the function from OpenMPKind.cpp.  Please let me know if this looks good.
>
> I can rewrite the patch as you suggested, involving NVPTX specific RT, but I 
> think the code will look quite ugly.


Arpith, yes, there is such variable. But also standard says, that it is device 
specific. My opinion, all device-specific things must be defined by runtime 
library or at least runtime-support class, not by Sema. Sema must be as much 
platform independent as possible


https://reviews.llvm.org/D29910



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to