r351580 - [OPENMP][DOCS] Release notes/OpenMP support updates, NFC.

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 22 09:01:50 PST 2019


Thanks, I've merged it to 8.0 in r351839.

Since the release notes are for 8.0 and not trunk, I've removed the
change from trunk in r351841.

On Fri, Jan 18, 2019 at 12:05 PM Kelvin Li <kkwli0 at gmail.com> wrote:
>
> Hi Hans,
>
> I am not sure if it is the proper way to request the change committed
> to the release_80 branch.  Please let me know if I need to do
> something else.
>
> Thanks,
> Kelvin
>
> ---------- Forwarded message ---------
> From: Kelvin Li via cfe-commits <cfe-commits at lists.llvm.org>
> Date: Fri, Jan 18, 2019 at 3:01 PM
> Subject: r351580 - [OPENMP][DOCS] Release notes/OpenMP support updates, NFC.
> To: <cfe-commits at lists.llvm.org>
>
>
> Author: kli
> Date: Fri Jan 18 11:57:37 2019
> New Revision: 351580
>
> URL: http://llvm.org/viewvc/llvm-project?rev=351580&view=rev
> Log:
> [OPENMP][DOCS] Release notes/OpenMP support updates, NFC.
>
> Differential Revision: https://reviews.llvm.org/D56733
>
> Modified:
>     cfe/trunk/docs/OpenMPSupport.rst
>     cfe/trunk/docs/ReleaseNotes.rst
>
> Modified: cfe/trunk/docs/OpenMPSupport.rst
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/OpenMPSupport.rst?rev=351580&r1=351579&r2=351580&view=diff
> ==============================================================================
> --- cfe/trunk/docs/OpenMPSupport.rst (original)
> +++ cfe/trunk/docs/OpenMPSupport.rst Fri Jan 18 11:57:37 2019
> @@ -17,60 +17,50 @@
>  OpenMP Support
>  ==================
>
> -Clang fully supports OpenMP 4.5. Clang supports offloading to X86_64, AArch64,
> -PPC64[LE] and has `basic support for Cuda devices`_.
> -
> -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: :good:`Complete`.
> +Clang supports the following OpenMP 5.0 features
>
> -* #pragma omp declare target: :good:`Complete`.
> +* The `reduction`-based clauses in the `task` and `target`-based directives.
>
> -* #pragma omp teams: :good:`Complete`.
> +* Support relational-op != (not-equal) as one of the canonical forms of random
> +  access iterator.
>
> -* #pragma omp distribute [simd]: :good:`Complete`.
> +* Support for mapping of the lambdas in target regions.
>
> -* #pragma omp distribute parallel for [simd]: :good:`Complete`.
> +* Parsing/sema analysis for the requires directive.
>
> -Combined directives
> -===================
> +* Nested declare target directives.
>
> -* #pragma omp parallel for simd: :good:`Complete`.
> +* Make the `this` pointer implicitly mapped as `map(this[:1])`.
>
> -* #pragma omp target parallel: :good:`Complete`.
> +* The `close` *map-type-modifier*.
>
> -* #pragma omp target parallel for [simd]: :good:`Complete`.
> -
> -* #pragma omp target simd: :good:`Complete`.
> -
> -* #pragma omp target teams: :good:`Complete`.
> -
> -* #pragma omp teams distribute [simd]: :good:`Complete`.
> -
> -* #pragma omp target teams distribute [simd]: :good:`Complete`.
> -
> -* #pragma omp teams distribute parallel for [simd]: :good:`Complete`.
> -
> -* #pragma omp target teams distribute parallel for [simd]: :good:`Complete`.
> +Clang fully supports OpenMP 4.5. Clang supports offloading to X86_64, AArch64,
> +PPC64[LE] and has `basic support for Cuda devices`_.
>
> -Clang does not support any constructs/updates from OpenMP 5.0 except
> -for `reduction`-based clauses in the `task` and `target`-based directives.
> +* #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.
>
>  In addition, the LLVM OpenMP runtime `libomp` supports the OpenMP Tools
> -Interface (OMPT) on x86, x86_64, AArch64, and PPC64 on Linux,
> Windows, and mac OS.
> +Interface (OMPT) on x86, x86_64, AArch64, and PPC64 on Linux,
> Windows, and macOS.
> +
> +General improvements
> +--------------------
> +- New collapse clause scheme to avoid expensive remainder operations.
> +  Compute loop index variables after collapsing a loop nest via the
> +  collapse clause by replacing the expensive remainder operation with
> +  multiplications and additions.
> +
> +- The default schedules for the `distribute` and `for` constructs in a
> +  parallel region and in SPMD mode have changed to ensure coalesced
> +  accesses. For the `distribute` construct, a static schedule is used
> +  with a chunk size equal to the number of threads per team (default
> +  value of threads or as specified by the `thread_limit` clause if
> +  present). For the `for` construct, the schedule is static with chunk
> +  size of one.
> +
> +- Simplified SPMD code generation for `distribute parallel for` when
> +  the new default schedules are applicable.
>
>  .. _basic support for Cuda devices:
>
>
> Modified: cfe/trunk/docs/ReleaseNotes.rst
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=351580&r1=351579&r2=351580&view=diff
> ==============================================================================
> --- cfe/trunk/docs/ReleaseNotes.rst (original)
> +++ cfe/trunk/docs/ReleaseNotes.rst Fri Jan 18 11:57:37 2019
> @@ -133,7 +133,36 @@ ABI Changes in Clang
>  OpenMP Support in Clang
>  ----------------------------------
>
> -- ...
> +- OpenMP 5.0 features
> +
> +  - Support relational-op != (not-equal) as one of the canonical
> forms of random
> +    access iterator.
> +  - Added support for mapping of the lambdas in target regions.
> +  - Added parsing/sema analysis for the requires directive.
> +  - Support nested declare target directives.
> +  - Make the `this` pointer implicitly mapped as `map(this[:1])`.
> +  - Added the `close` *map-type-modifier*.
> +
> +- Various bugfixes and improvements.
> +
> +New features supported for Cuda devices:
> +
> +- Added support for the reductions across the teams.
> +
> +- Extended number of constructs that can be executed in SPMD mode.
> +
> +- Fixed support for lastprivate/reduction variables in SPMD constructs.
> +
> +- New collapse clause scheme to avoid expensive remainder operations.
> +
> +- New default schedule for distribute and parallel constructs.
> +
> +- Simplified code generation for distribute and parallel in SPMD mode.
> +
> +- Flag (``-fopenmp_optimistic_collapse``) for user to limit collapsed
> +  loop counter width when safe to do so.
> +
> +- General performance improvement.
>
>  CUDA Support in Clang
>  ---------------------
>
>
> _______________________________________________
> 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