[all-commits] [llvm/llvm-project] 5b19f4: [OpenMP][AMDGPU] Single eager resource init + HSA ...
Michael Halkenhäuser via All-commits
all-commits at lists.llvm.org
Wed Aug 2 05:24:19 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5b19f42b631dddf2bc69b667e560fd903b9ef689
https://github.com/llvm/llvm-project/commit/5b19f42b631dddf2bc69b667e560fd903b9ef689
Author: Michael Halkenhaeuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2023-08-02 (Wed, 02 Aug 2023)
Changed paths:
M openmp/docs/design/Runtimes.rst
M openmp/libomptarget/include/Utilities.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h
Log Message:
-----------
[OpenMP][AMDGPU] Single eager resource init + HSA queue utilization tracking
This patch lazily initializes queues/streams/events since their initialization
might come at a cost even if we do not use them.
To further benefit from this, AMDGPU/HSA queue management is moved into the
AMDGPUStreamManager of an AMDGPUDevice. Streams may now use different HSA queues
during their lifetime and identify busy queues.
When a Stream is requested from the resource manager, it will search for and
try to assign an idle queue. During the search for an idle queue the manager
may initialize more queues, up to the set maximum (default: 4).
When no idle queue could be found: resort to round robin selection.
With contributions from Johannes Doerfert <johannes at jdoerfert.de>
Depends on D156245
Reviewed By: kevinsala
Differential Revision: https://reviews.llvm.org/D154523
More information about the All-commits
mailing list