Skip to content

Commit bafde34

Browse files
committed
Do not do async copies for OpenMP offload runtime for non-x86 till we understand why completion signal is not seen. This patch includes a FIXME in rtl.cpp (OpenMP's offload runtime)
1 parent 295b2c1 commit bafde34

File tree

1 file changed

+16
-0
lines changed
  • offload/plugins-nextgen/amdgpu/src

1 file changed

+16
-0
lines changed

offload/plugins-nextgen/amdgpu/src/rtl.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3705,7 +3705,15 @@ struct AMDGPUDeviceTy : public GenericDeviceTy, AMDGenericDeviceTy {
37053705

37063706
// For large transfers use synchronous behavior.
37073707
// If OMPT is enabled or synchronous behavior is explicitly requested:
3708+
// FIXME: Currently hsa async copy fails to see completion signal for
3709+
// non-x86 dataSubmit/Retrieve. Other non-x86 calls to asyncMemCopy
3710+
// work. So for now, skip async copy for non-x86 for dataSubmit
3711+
// and dataRetrive only.
3712+
#if defined(__i386__) || defined(__x86_64__) || defined(_M_IX86)
37083713
if (OMPX_ForceSyncRegions || Size >= OMPX_MaxAsyncCopyBytes) {
3714+
#else
3715+
if (false) {
3716+
#endif
37093717
if (AsyncInfoWrapper.hasQueue())
37103718
if (auto Err = synchronize(AsyncInfoWrapper))
37113719
return Err;
@@ -3792,7 +3800,15 @@ struct AMDGPUDeviceTy : public GenericDeviceTy, AMDGenericDeviceTy {
37923800

37933801
// For large transfers use synchronous behavior.
37943802
// If OMPT is enabled or synchronous behavior is explicitly requested:
3803+
// FIXME: Currently hsa async copy fails to see completion signal for
3804+
// non-x86 dataSubmit/Retrieve. Other non-x86 calls to asyncMemCopy
3805+
// work. So for now, skip async copy for non-x86 for dataSubmit
3806+
// and dataRetrive only.
3807+
#if defined(__i386__) || defined(__x86_64__) || defined(_M_IX86)
37953808
if (OMPX_ForceSyncRegions || Size >= OMPX_MaxAsyncCopyBytes) {
3809+
#else
3810+
if (false) {
3811+
#endif
37963812
if (AsyncInfoWrapper.hasQueue())
37973813
if (auto Err = synchronize(AsyncInfoWrapper))
37983814
return Err;

0 commit comments

Comments
 (0)