[Openmp-commits] [PATCH] D118626: [OpenMP][NFC] Change error message on offloading failure to mention documentation

Joseph Huber via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Mon Jan 31 09:19:36 PST 2022

jhuber6 created this revision.
jhuber6 added reviewers: jdoerfert, tianshilei1992, JonChesterfield.
Herald added subscribers: guansong, yaxunl.
jhuber6 requested review of this revision.
Herald added subscribers: openmp-commits, sstefan1.
Herald added a project: OpenMP.

This patch changes the error message to instead mention the
documentation page for the debugging options provided by libomptarget
and the bitcode runtimes. Add some extra information to the documentation to
help users more quickly identify debugging resources.

  rG LLVM Github Monorepo



Index: openmp/libomptarget/src/omptarget.cpp
--- openmp/libomptarget/src/omptarget.cpp
+++ openmp/libomptarget/src/omptarget.cpp
@@ -224,9 +224,8 @@
         for (auto &Device : PM->Devices)
           dumpTargetPointerMappings(Loc, *Device);
-        FAILURE_MESSAGE("Run with LIBOMPTARGET_INFO=%d to dump host-target "
-                        "pointer mappings.\n",
-                        OMP_INFOTYPE_DUMP_TABLE);
+        FAILURE_MESSAGE("Consult https://openmp.llvm.org/design/Runtimes.html "
+                        "for runtime debugging options.\n");
       SourceInfo info(Loc);
       if (info.isAvailible())
Index: openmp/docs/design/Runtimes.rst
--- openmp/docs/design/Runtimes.rst
+++ openmp/docs/design/Runtimes.rst
@@ -3,7 +3,15 @@
 LLVM/OpenMP Runtimes
-There are four distinct types of LLVM/OpenMP runtimes
+There are four distinct types of LLVM/OpenMP runtimes: the host runtime
+:ref:`libomp`, the target offloading runtime :ref:`libomptarget`, the target
+offloading plugin :ref:`libomptarget_plugin`, and finally the target device
+runtime :ref:`libomptarget_device`.
+For general information on debugging OpenMP target offloading applications, see
+:ref:`libomptarget_info` and :ref:`libomptarget_device_debugging`
+.. _libomp:
 LLVM/OpenMP Host Runtime (``libomp``)
@@ -663,6 +671,8 @@
 **Default:** ``true``
+.. _libomptarget:
 LLVM/OpenMP Target Host Runtime (``libomptarget``)
@@ -723,6 +733,8 @@
 ``LIBOMPTARGET_MEMORY_MANAGER_THRESHOLD`` is set to ``0`` the memory manager
 will be completely disabled.
+.. _libomptarget_info:
@@ -935,7 +947,7 @@
     Libomptarget error: Copying data from device failed.
     Libomptarget error: Call to targetDataEnd failed, abort target.
     Libomptarget error: Failed to process data after launching the kernel.
-    Libomptarget error: Run with LIBOMPTARGET_INFO=4 to dump host-target pointer mappings.
+    Libomptarget error: Consult https://openmp.llvm.org/design/Runtimes.html for runtime debugging options.
     sum.cpp:5:1: Libomptarget error 1: failure of target construct while offloading is mandatory
 This shows that there is an illegal memory access occuring inside the OpenMP
@@ -1020,6 +1032,7 @@
 The default behavior of LLVM 14 is to force atomic maps clauses, prior versions
 of LLVM did not.
+.. _libomptarget_plugin:
 LLVM/OpenMP Target Host Runtime Plugins (``libomptarget.rtl.XXXX``)
@@ -1082,6 +1095,8 @@
 This is the maximum amount of time the client will wait for a response from the server.
+.. _libomptarget_device:
 LLVM/OpenMP Target Device Runtime (``libomptarget-ARCH-SUBARCH.bc``)
@@ -1089,6 +1104,8 @@
 runtime functions on the target device. It is linked with the device code's LLVM
 IR during compilation.
+.. _libomptarget_device_debugging:
@@ -1103,6 +1120,7 @@
     * Enable debugging assertions in the device. ``0x01``
     * Enable OpenMP runtime function traces in the device. ``0x2``
+    * Enable diagnosing common problems during offloading . ``0x4``
 .. code-block:: c++

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118626.404574.patch
Type: text/x-patch
Size: 3519 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20220131/8d7af213/attachment.bin>

More information about the Openmp-commits mailing list