[Openmp-commits] [PATCH] D115273: [NFC][OpenMP] Prepare amdgpu plugin for asynchronous implementation of target region launch
Carlo Bertolli via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Fri Dec 10 11:21:36 PST 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rG28309c543669: [OpenMP] Part 2 of At present, amdgpu plugin merges both asynchronous (authored by carlo.bertolli).
Herald added a project: OpenMP.
Herald added a subscriber: openmp-commits.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115273/new/
https://reviews.llvm.org/D115273
Files:
openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
Index: openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
===================================================================
--- openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
+++ openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
@@ -1042,10 +1042,10 @@
return packet_id;
}
-int32_t __tgt_rtl_run_target_team_region_locked(
- int32_t device_id, void *tgt_entry_ptr, void **tgt_args,
- ptrdiff_t *tgt_offsets, int32_t arg_num, int32_t num_teams,
- int32_t thread_limit, uint64_t loop_tripcount) {
+int32_t runRegionLocked(int32_t device_id, void *tgt_entry_ptr, void **tgt_args,
+ ptrdiff_t *tgt_offsets, int32_t arg_num,
+ int32_t num_teams, int32_t thread_limit,
+ uint64_t loop_tripcount) {
// Set the context we are using
// update thread limit content in gpu memory if un-initialized or specified
// from host
@@ -2218,9 +2218,9 @@
uint64_t loop_tripcount) {
DeviceInfo.load_run_lock.lock_shared();
- int32_t res = __tgt_rtl_run_target_team_region_locked(
- device_id, tgt_entry_ptr, tgt_args, tgt_offsets, arg_num, num_teams,
- thread_limit, loop_tripcount);
+ int32_t res =
+ runRegionLocked(device_id, tgt_entry_ptr, tgt_args, tgt_offsets, arg_num,
+ num_teams, thread_limit, loop_tripcount);
DeviceInfo.load_run_lock.unlock_shared();
return res;
@@ -2238,6 +2238,20 @@
thread_limit, 0);
}
+int32_t __tgt_rtl_run_target_team_region_async(
+ int32_t device_id, void *tgt_entry_ptr, void **tgt_args,
+ ptrdiff_t *tgt_offsets, int32_t arg_num, int32_t num_teams,
+ int32_t thread_limit, uint64_t loop_tripcount) {
+
+ DeviceInfo.load_run_lock.lock_shared();
+ int32_t res =
+ runRegionLocked(device_id, tgt_entry_ptr, tgt_args, tgt_offsets, arg_num,
+ num_teams, thread_limit, loop_tripcount);
+
+ DeviceInfo.load_run_lock.unlock_shared();
+ return res;
+}
+
int32_t __tgt_rtl_run_target_region_async(int32_t device_id,
void *tgt_entry_ptr, void **tgt_args,
ptrdiff_t *tgt_offsets,
@@ -2250,9 +2264,9 @@
// fix thread num
int32_t team_num = 1;
int32_t thread_limit = 0; // use default
- return __tgt_rtl_run_target_team_region(device_id, tgt_entry_ptr, tgt_args,
- tgt_offsets, arg_num, team_num,
- thread_limit, 0);
+ return __tgt_rtl_run_target_team_region_async(device_id, tgt_entry_ptr,
+ tgt_args, tgt_offsets, arg_num,
+ team_num, thread_limit, 0);
}
int32_t __tgt_rtl_synchronize(int32_t device_id, __tgt_async_info *AsyncInfo) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115273.393546.patch
Type: text/x-patch
Size: 2884 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20211210/81289f4a/attachment.bin>
More information about the Openmp-commits
mailing list