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

Johannes Doerfert via Openmp-commits openmp-commits at lists.llvm.org
Wed Nov 25 09:55:25 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




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:
+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:
+.. 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
+.. _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
+- OpenMP Booth @ SC19: "OpenMP clang and flang Development" https://youtu.be/6yOa-hRi63M
 .. toctree::

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`.
-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
 .. toctree::

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
+- 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
+- 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 Openmp-commits mailing list