[all-commits] [llvm/llvm-project] 7c8f4e: [OpenMP] Avoid costly shadow map traversals whenev...

Joseph Huber via All-commits all-commits at lists.llvm.org
Fri Dec 10 11:33:33 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7c8f4e7b85ed98497f37571d72609f39a8eed447
      https://github.com/llvm/llvm-project/commit/7c8f4e7b85ed98497f37571d72609f39a8eed447
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2021-12-10 (Fri, 10 Dec 2021)

  Changed paths:
    M openmp/libomptarget/src/api.cpp
    M openmp/libomptarget/src/device.cpp
    M openmp/libomptarget/src/device.h
    M openmp/libomptarget/src/omptarget.cpp

  Log Message:
  -----------
  [OpenMP] Avoid costly shadow map traversals whenever possible

In the OpenMC app we saw `omp target update` spending an awful lot of
time in the shadow map traversal without ever doing any update there.
There are two cases that allow us to avoid the traversal completely.
The simplest thing is that small updates cannot (reasonably) contain
an attached pointer part. The other case requires to track in the
mapping table if an entry might contain an attached pointer as part.
Given that we have a single location shadow map entries are created,
the latter is actually fairly easy as well.

Reviewed By: grokos

Differential Revision: https://reviews.llvm.org/D113124




More information about the All-commits mailing list