Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-138603

C++17 parallel execution policies with OpenMP backend

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • Low
    • rhel-pt-cpp-libs
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified

      Hi,

      We would like to use C++17 parallel execution policies [1] provided by GCC with the OpenMP backend.
      The Intel TBB backend provided and maintained by Intel [2] can be used with linker flag -ltbb but the OpenMP backend is desirable for at least the below reasons:
      *IntelTBB produce many true/false positives with ASAN and TSAN instrumentations while OpenMP ASAN support looks good [3] and TSAN support is not clear [4].
      *IntelTBB is not recommended by Intel nor AMD on AMD hardware
      *Clang already supports it [5]
      *By default system frozen IntelTBB is used (for instance tbb-2018 on RHEL 8, tbb-2020 on RHEL 9...) for the IntelTBB backend. With an OpenMP backend the backend could be upgraded with the compiler if parallel toolchain are used (gcc-toolset on RHEL, Development Tools Module on SLES...).

      From the latest GCC git sources, there is only a placeholder for an OpenMP backend. Currently only IntelTBB is supported for STL parallel algorithms. If the OpenMP backend is not available is there a plan to add it?

      Best regards,

      Christophe Piault

      [1] https://en.cppreference.com/w/cpp/algorithm/execution_policy_tag
      [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85998
      [3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97294
      [4] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55561
      [5] https://reviews.llvm.org/D99836?id=377510

              jwakely@redhat.com Jonathan Wakely
              rh-ee-ralvaro Ricardo Alvaro
              Jonathan Wakely Jonathan Wakely
              Vaclav Kadlcik Vaclav Kadlcik
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated: