[llvm-branch-commits] [openmp] 227c8ff - [OpenMP][Docs] Add more content, call coordinates, FAQ entries, links

Johannes Doerfert via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Nov 25 09:59:56 PST 2020


Author: Johannes Doerfert
Date: 2020-11-25T11:52:35-06:00
New Revision: 227c8ff189c3861c11f6e80c31274c5fa28a2ee9

URL: https://github.com/llvm/llvm-project/commit/227c8ff189c3861c11f6e80c31274c5fa28a2ee9
DIFF: https://github.com/llvm/llvm-project/commit/227c8ff189c3861c11f6e80c31274c5fa28a2ee9.diff

LOG: [OpenMP][Docs] Add more content, call coordinates, FAQ entries, links

Added: 
    

Modified: 
    openmp/docs/SupportAndFAQ.rst
    openmp/docs/design/Overview.rst
    openmp/docs/design/Runtimes.rst
    openmp/docs/index.rst
    openmp/docs/optimizations/OpenMPOpt.rst
    openmp/docs/optimizations/OpenMPUnawareOptimizations.rst

Removed: 
    


################################################################################
diff  --git a/openmp/docs/SupportAndFAQ.rst b/openmp/docs/SupportAndFAQ.rst
index 545dd89189c8..6b8f0d2f72b0 100644
--- a/openmp/docs/SupportAndFAQ.rst
+++ b/openmp/docs/SupportAndFAQ.rst
@@ -1,4 +1,93 @@
-Support And FAQ
-===============
+Support, Getting Involved, and FAQ
+==================================
 
+Please do not hesitate to reach out to us via openmp-dev at lists.llvm.org or join
+one of our :ref:`regular calls <calls>`. Some common questions are answered in
+the :ref:`faq`.
 
+.. _calls:
+
+Calls
+-----
+
+OpenMP in LLVM Technical Call
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+-   Development updates on OpenMP (and OpenACC) in the LLVM Project, including Clang, optimization, and runtime work.
+-   Join `OpenMP in LLVM Technical Call <https://bluejeans.com/544112769//webrtc>`__.
+-   Time: Weekly call on every Wednesday 7:00 AM Pacific time.
+-   Meeting minutes are `here <https://docs.google.com/document/d/1Tz8WFN13n7yJ-SCE0Qjqf9LmjGUw0dWO9Ts1ss4YOdg/edit>`__.
+-   Status tracking `page <https://openmp.llvm.org/docs>`__.
+
+
+OpenMP in Flang Technical Call
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-   Development updates on OpenMP and OpenACC in the Flang Project.
+-   Join `OpenMP in Flang Technical Call <https://bit.ly/39eQW3o>`_
+-   Time: Weekly call on every Thursdays 8:00 AM Pacific time.
+-   Meeting minutes are `here <https://docs.google.com/document/d/1yA-MeJf6RYY-ZXpdol0t7YoDoqtwAyBhFLr5thu5pFI>`__.
+-   Status tracking `page <https://docs.google.com/spreadsheets/d/1FvHPuSkGbl4mQZRAwCIndvQx9dQboffiD-xD0oqxgU0/edit#gid=0>`__.
+
+
+.. _faq:
+
+FAQ
+---
+
+.. note::
+   The FAQ is a work in progress and most of the expected content is not
+   yet available. While you can expect changes, we always welcome feedback and
+   additions. Please contact, e.g., through ``openmp-dev at lists.llvm.org``.
+
+
+Q: How to contribute a patch to the webpage or any other part?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+All patches go through the regular `LLVM review process
+<https://llvm.org/docs/Contributing.html#how-to-submit-a-patch>`_.
+
+
+.. _build_offload_capable_compiler:
+
+Q: How to build an OpenMP offload capable compiler?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To build an *effective* OpenMP offload capable compiler we recommend a two
+stage build. The first stage Clang does not require to be offload capable but
+all backends that are targeted by OpenMP need to be enabled. By default, Clang
+will be build with all backends enabled. This initial (stage 1) Clang is used
+to create a second Clang compiler that is offload capable as well as the
+:ref:`device runtime libraries <device_runtime>` that will be linked into the
+offloaded code to provide OpenMP runtime support on the device.
+
+Generic information about building LLVM is available `here
+<https://llvm.org/docs/GettingStarted.html>`__. The CMake options for the
+second stage Clang should include:
+
+- `LIBOMPTARGET_NVPTX_CUDA_COMPILER=$STAGE1/bin/clang` to use the stage one
+  compiler for the device runtime compilation.
+- `LIBOMPTARGET_NVPTX_ENABLE_BCLIB=ON` to enable efficient device runtimes in
+  bitcode format.
+
+If your build machine is not the target machine or automatic detection of the
+available GPUs failed, you should also set:
+
+- `CLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_XX` where `XX` is the architecture of your GPU, e.g, 80.
+- `LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=YY` where `YY` is the numeric compute capacity of your GPU, e.g., 75.
+
+.. note::
+  The compiler that generates the offload code should be the same (version) as
+  the compiler that build the OpenMP device runtimes. The OpenMP host runtime
+  can be build by a 
diff erent compiler.
+
+.. _advanced_builds: https://llvm.org//docs/AdvancedBuilds.html
+
+
+
+Q: Does OpenMP offloading support work in pre-packaged LLVM releases?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+For now, the answer is most likely *no*. Please see :ref:`build_offload_capable_compiler`.
+
+Q: Does OpenMP offloading support work in packages distributed as part of my OS?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+For now, the answer is most likely *no*. Please see :ref:`build_offload_capable_compiler`.

diff  --git a/openmp/docs/design/Overview.rst b/openmp/docs/design/Overview.rst
index 6753267d58d2..06c0ac930c30 100644
--- a/openmp/docs/design/Overview.rst
+++ b/openmp/docs/design/Overview.rst
@@ -2,6 +2,11 @@ OpenMP in LLVM --- Design Overview
 ==================================
 
 
+Resources
+---------
+
+- OpenMP Booth @ SC19: "OpenMP clang and flang Development" https://youtu.be/6yOa-hRi63M
+
 
 .. toctree::
    :glob:

diff  --git a/openmp/docs/design/Runtimes.rst b/openmp/docs/design/Runtimes.rst
index 9c9d4037cfed..61491060ea04 100644
--- a/openmp/docs/design/Runtimes.rst
+++ b/openmp/docs/design/Runtimes.rst
@@ -19,6 +19,8 @@ LLVM/OpenMP Target Host Runtime (``libomptarget``)
 LLVM/OpenMP Target Host Runtime Plugins (``libomptarget.rtl.XXXX``)
 -------------------------------------------------------------------
 
+.. _device_runtime:
+
 LLVM/OpenMP Target Device Runtime (``libomptarget-ARCH-SUBARCH.bc``)
 --------------------------------------------------------------------
 

diff  --git a/openmp/docs/index.rst b/openmp/docs/index.rst
index 3cc39b224d82..a7bd280d1f81 100644
--- a/openmp/docs/index.rst
+++ b/openmp/docs/index.rst
@@ -77,13 +77,16 @@ please refer to :doc:`remarks/OptimizationRemarks`.
    remarks/OptimizationRemarks
 
 
-Support & Frequently Asked Questions (FAQ)
-==========================================
+Support, Getting Involved, and Frequently Asked Questions (FAQ)
+===============================================================
 
 Dealing with OpenMP can be complicated. For help with the setup of an OpenMP
 (offload) capable compiler toolchain, its usage, and common problems, consult
 the :doc:`Support and FAQ <SupportAndFAQ>` page.
 
+We also encourage everyone interested in OpenMP in LLVM to :doc:`get involved
+<SupportAndFAQ>`.
+
 
 .. toctree::
    :hidden:

diff  --git a/openmp/docs/optimizations/OpenMPOpt.rst b/openmp/docs/optimizations/OpenMPOpt.rst
index fc1b1a763ff1..6606cb9ccd23 100644
--- a/openmp/docs/optimizations/OpenMPOpt.rst
+++ b/openmp/docs/optimizations/OpenMPOpt.rst
@@ -3,3 +3,11 @@ OpenMP-Aware Optimizations
 
 OpenMPOpt
 ---------
+
+
+Resources
+---------
+
+- 2020 LLVM Developers’ Meeting: "(OpenMP) Parallelism-Aware Optimizations" https://youtu.be/gtxWkeLCxmU
+- 2019 EuroLLVM Developers’ Meeting: "Compiler Optimizations for (OpenMP) Target Offloading to GPUs" https://youtu.be/3AbS82C3X30
+

diff  --git a/openmp/docs/optimizations/OpenMPUnawareOptimizations.rst b/openmp/docs/optimizations/OpenMPUnawareOptimizations.rst
index e764fa823af5..72ccc0355273 100644
--- a/openmp/docs/optimizations/OpenMPUnawareOptimizations.rst
+++ b/openmp/docs/optimizations/OpenMPUnawareOptimizations.rst
@@ -1,2 +1,9 @@
 OpenMP-Unaware Optimizations
 ============================
+
+
+Resources
+---------
+
+- 2018 LLVM Developers’ Meeting: "Optimizing Indirections, using abstractions without remorse" https://youtu.be/zfiHaPaoQPc
+- 2019 LLVM Developers’ Meeting: "The Attributor: A Versatile Inter-procedural Fixpoint Iteration Framework" https://youtu.be/CzWkc_JcfS0


        


More information about the llvm-branch-commits mailing list