[Openmp-commits] [PATCH] D98678: [OpenMP][DeviceRT] Remove eager allocation for dynamic schedule handling

Johannes Doerfert via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Mon Mar 15 20:32:36 PDT 2021


jdoerfert created this revision.
jdoerfert added reviewers: JonChesterfield, tianshilei1992, grokos, ye-luo.
Herald added subscribers: guansong, yaxunl.
Herald added a reviewer: bollu.
jdoerfert requested review of this revision.
Herald added a subscriber: sstefan1.
Herald added a project: OpenMP.

This removes roughly 20% of the memory allocated statically by the
runtime (1010592744 vs 801186888 bytes). It will make loops without
statically known `static` schedule more expensive (for the one time
allocation and free). It will make new data environments, e.g., nested
parallels, cheaper, as we don't state/reload the "loop data" anymore.
Overall, it's a trade-off which makes sure you only pay for what you
use.

A better solution would be to extend the _dispatch_ API such that we
can pass in "stack-allocations" to hold the data. Since that requires
more work this seemed like a good first step.

Probably needs more testing.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D98678

Files:
  openmp/libomptarget/deviceRTLs/common/allocator.h
  openmp/libomptarget/deviceRTLs/common/omptarget.h
  openmp/libomptarget/deviceRTLs/common/omptargeti.h
  openmp/libomptarget/deviceRTLs/common/src/loop.cu
  openmp/libomptarget/deviceRTLs/common/src/parallel.cu

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98678.330869.patch
Type: text/x-patch
Size: 20676 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210316/cdaac8fc/attachment-0001.bin>


More information about the Openmp-commits mailing list