r322018 - [OPENMP] Current status of OpenMP support.

Jonas Hahnfeld via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 8 11:09:47 PST 2018


Can we backport this page to release_60? I think the documented support 
is also valid for 6.0 or did I miss recent commits that added support 
for new directives / clauses?

Am 2018-01-08 20:02, schrieb Alexey Bataev via cfe-commits:
> Author: abataev
> Date: Mon Jan  8 11:02:51 2018
> New Revision: 322018
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=322018&view=rev
> Log:
> [OPENMP] Current status of OpenMP support.
> 
> Summary: Some info about supported features of OpenMP 4.5-5.0.
> 
> Reviewers: hfinkel, rsmith
> 
> Subscribers: kkwli0, Hahnfeld, cfe-commits
> 
> Differential Revision: https://reviews.llvm.org/D39457
> 
> Added:
>     cfe/trunk/docs/OpenMPSupport.rst
> Modified:
>     cfe/trunk/docs/index.rst
> 
> Added: cfe/trunk/docs/OpenMPSupport.rst
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/OpenMPSupport.rst?rev=322018&view=auto
> ==============================================================================
> --- cfe/trunk/docs/OpenMPSupport.rst (added)
> +++ cfe/trunk/docs/OpenMPSupport.rst Mon Jan  8 11:02:51 2018
> @@ -0,0 +1,68 @@
> +.. raw:: html
> +
> +  <style type="text/css">
> +    .none { background-color: #FFCCCC }
> +    .partial { background-color: #FFFF99 }
> +    .good { background-color: #CCFF99 }
> +  </style>
> +
> +.. role:: none
> +.. role:: partial
> +.. role:: good
> +
> +==================
> +OpenMP Support
> +==================
> +
> +Clang fully supports OpenMP 3.1 + some elements of OpenMP 4.5. Clang
> supports offloading to X86_64, AArch64 and PPC64[LE] devices.
> +Support for Cuda devices is not ready yet.
> +The status of major OpenMP 4.5 features support in Clang.
> +
> +Standalone directives
> +=====================
> +
> +* #pragma omp [for] simd: :good:`Complete`.
> +
> +* #pragma omp declare simd: :partial:`Partial`.  We support 
> parsing/semantic
> +  analysis + generation of special attributes for X86 target, but 
> still
> +  missing the LLVM pass for vectorization.
> +
> +* #pragma omp taskloop [simd]: :good:`Complete`.
> +
> +* #pragma omp target [enter|exit] data: :good:`Complete`.
> +
> +* #pragma omp target update: :good:`Complete`.
> +
> +* #pragma omp target: :partial:`Partial`.  No support for the `depend` 
> clauses.
> +
> +* #pragma omp declare target: :partial:`Partial`.  No full codegen 
> support.
> +
> +* #pragma omp teams: :good:`Complete`.
> +
> +* #pragma omp distribute [simd]: :good:`Complete`.
> +
> +* #pragma omp distribute parallel for [simd]: :good:`Complete`.
> +
> +Combined directives
> +===================
> +
> +* #pragma omp parallel for simd: :good:`Complete`.
> +
> +* #pragma omp target parallel: :partial:`Partial`.  No support for
> the `depend` clauses.
> +
> +* #pragma omp target parallel for [simd]: :partial:`Partial`.  No
> support for the `depend` clauses.
> +
> +* #pragma omp target simd: :partial:`Partial`.  No support for the
> `depend` clauses.
> +
> +* #pragma omp target teams: :partial:`Partial`.  No support for the
> `depend` clauses.
> +
> +* #pragma omp teams distribute [simd]: :good:`Complete`.
> +
> +* #pragma omp target teams distribute [simd]: :partial:`Partial`.  No
> support for the and `depend` clauses.
> +
> +* #pragma omp teams distribute parallel for [simd]: :good:`Complete`.
> +
> +* #pragma omp target teams distribute parallel for [simd]:
> :partial:`Partial`.  No full codegen support.
> +
> +Clang does not support any constructs/updates from upcoming OpenMP
> 5.0 except for `reduction`-based clauses in the `task` and
> `target`-based directives.
> +
> 
> Modified: cfe/trunk/docs/index.rst
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/index.rst?rev=322018&r1=322017&r2=322018&view=diff
> ==============================================================================
> --- cfe/trunk/docs/index.rst (original)
> +++ cfe/trunk/docs/index.rst Mon Jan  8 11:02:51 2018
> @@ -39,6 +39,7 @@ Using Clang as a Compiler
>     SourceBasedCodeCoverage
>     Modules
>     MSVCCompatibility
> +   OpenMPSupport
>     ThinLTO
>     CommandGuide/index
>     FAQ
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list