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