[Offload] Debug message update part 1 (#171672)
Update debug messages based on the new method from #170425. Updated the
following files.
- libomptarget/LegacyAPI.cpp
- libomptarget/OpenMP/API.cpp
- libomptarget/OpenMP/InteropAPI.cpp
diff --git a/offload/libomptarget/LegacyAPI.cpp b/offload/libomptarget/LegacyAPI.cpp
index 033d7a3..b76159b 100644
--- a/offload/libomptarget/LegacyAPI.cpp
+++ b/offload/libomptarget/LegacyAPI.cpp
@@ -19,6 +19,7 @@
#ifdef OMPT_SUPPORT
using namespace llvm::omp::target::ompt;
#endif
+using namespace llvm::omp::target::debug;
EXTERN void __tgt_target_data_begin(int64_t DeviceId, int32_t ArgNum,
void **ArgsBase, void **Args,
@@ -180,7 +181,8 @@
EXTERN void __kmpc_push_target_tripcount_mapper(ident_t *Loc, int64_t DeviceId,
uint64_t LoopTripcount) {
TIMESCOPE_WITH_IDENT(Loc);
- DP("WARNING: __kmpc_push_target_tripcount has been deprecated and is a noop");
+ ODBG(ODT_Interface) << "WARNING: " << __func__
+ << " has been deprecated and is a noop";
}
EXTERN void __kmpc_push_target_tripcount(int64_t DeviceId,
diff --git a/offload/libomptarget/OpenMP/API.cpp b/offload/libomptarget/OpenMP/API.cpp
index 6e85e57..dddd494 100644
--- a/offload/libomptarget/OpenMP/API.cpp
+++ b/offload/libomptarget/OpenMP/API.cpp
@@ -39,6 +39,7 @@
#ifdef OMPT_SUPPORT
using namespace llvm::omp::target::ompt;
#endif
+using namespace llvm::omp::target::debug;
using GenericDeviceTy = llvm::omp::target::plugin::GenericDeviceTy;
@@ -55,7 +56,7 @@
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
size_t NumDevices = PM->getNumDevices();
- DP("Call to omp_get_num_devices returning %zd\n", NumDevices);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << NumDevices;
return NumDevices;
}
@@ -65,7 +66,7 @@
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
int HostDevice = omp_get_initial_device();
- DP("Call to omp_get_device_num returning %d\n", HostDevice);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << HostDevice;
return HostDevice;
}
@@ -79,12 +80,14 @@
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
if (!DeviceUid) {
- DP("Call to omp_get_device_from_uid returning omp_invalid_device\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returning omp_invalid_device";
return omp_invalid_device;
}
if (is_initial_device_uid(DeviceUid)) {
- DP("Call to omp_get_device_from_uid returning initial device number %d\n",
- omp_get_initial_device());
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returning initial device number "
+ << omp_get_initial_device();
return omp_get_initial_device();
}
@@ -99,7 +102,7 @@
}
}
- DP("Call to omp_get_device_from_uid returning %d\n", DeviceNum);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << DeviceNum;
return DeviceNum;
}
@@ -108,11 +111,12 @@
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
if (DeviceNum == omp_invalid_device) {
- DP("Call to omp_get_uid_from_device returning nullptr\n");
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning nullptr";
return nullptr;
}
if (DeviceNum == omp_get_initial_device()) {
- DP("Call to omp_get_uid_from_device returning initial device UID\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returning initial device UID";
return GenericPluginTy::getHostDeviceUid();
}
@@ -122,7 +126,7 @@
const char *Uid =
DeviceOrErr->RTL->getDevice(DeviceOrErr->RTLDeviceID).getDeviceUid();
- DP("Call to omp_get_uid_from_device returning %s\n", Uid);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << Uid;
return Uid;
}
@@ -130,7 +134,7 @@
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
int HostDevice = omp_get_num_devices();
- DP("Call to omp_get_initial_device returning %d\n", HostDevice);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returning " << HostDevice;
return HostDevice;
}
@@ -201,16 +205,17 @@
EXTERN int omp_target_is_present(const void *Ptr, int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_is_present for device %d and address " DPxMOD "\n",
- DeviceNum, DPxPTR(Ptr));
+ ODBG(ODT_Interface) << "Call to " << __func__ << " for device " << DeviceNum
+ << " and address " << Ptr;
if (!Ptr) {
- DP("Call to omp_target_is_present with NULL ptr, returning false\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " with NULL ptr, returning false";
return false;
}
if (DeviceNum == omp_get_initial_device()) {
- DP("Call to omp_target_is_present on host, returning true\n");
+ ODBG(ODT_Interface) << "Call to " << __func__ << " on host, returning true";
return true;
}
@@ -227,7 +232,7 @@
/*UpdateRefCount=*/false,
/*UseHoldRefCount=*/false);
int Rc = TPR.isPresent();
- DP("Call to omp_target_is_present returns %d\n", Rc);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " returns " << Rc;
return Rc;
}
@@ -237,17 +242,17 @@
int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_is_accessible for device %d, address " DPxMOD
- ", size %zu\n",
- DeviceNum, DPxPTR(Ptr), Size);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " for device " << DeviceNum
+ << ", address " << Ptr << ", size " << Size;
if (!Ptr) {
- DP("Call to omp_target_is_accessible with NULL ptr returning false\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " with NULL ptr returning false";
return false;
}
if (DeviceNum == omp_get_initial_device() || DeviceNum == -1) {
- DP("Call to omp_target_is_accessible on host, returning true\n");
+ ODBG(ODT_Interface) << "Call to " << __func__ << " on host, returning true";
return true;
}
@@ -266,19 +271,19 @@
";src_dev=" + std::to_string(SrcDevice) +
";size=" + std::to_string(Length));
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memcpy, dst device %d, src device %d, "
- "dst addr " DPxMOD ", src addr " DPxMOD ", dst offset %zu, "
- "src offset %zu, length %zu\n",
- DstDevice, SrcDevice, DPxPTR(Dst), DPxPTR(Src), DstOffset, SrcOffset,
- Length);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", dst device " << DstDevice
+ << ", src device " << SrcDevice << ", dst addr " << Dst
+ << ", src addr " << Src << ", dst offset " << DstOffset
+ << ", src offset " << SrcOffset << ", length " << Length;
if (!Dst || !Src || Length <= 0) {
if (Length == 0) {
- DP("Call to omp_target_memcpy with zero length, nothing to do\n");
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " with zero length, nothing to do";
return OFFLOAD_SUCCESS;
}
- REPORT("Call to omp_target_memcpy with invalid arguments\n");
+ REPORT() << "Call to " << __func__ << " with invalid arguments";
return OFFLOAD_FAIL;
}
@@ -288,12 +293,12 @@
if (SrcDevice == omp_get_initial_device() &&
DstDevice == omp_get_initial_device()) {
- DP("copy from host to host\n");
+ ODBG(ODT_Interface) << "copy from host to host";
const void *P = memcpy(DstAddr, SrcAddr, Length);
if (P == NULL)
Rc = OFFLOAD_FAIL;
} else if (SrcDevice == omp_get_initial_device()) {
- DP("copy from host to device\n");
+ ODBG(ODT_Interface) << "copy from host to device";
auto DstDeviceOrErr = PM->getDevice(DstDevice);
if (!DstDeviceOrErr)
FATAL_MESSAGE(DstDevice, "%s",
@@ -301,7 +306,7 @@
AsyncInfoTy AsyncInfo(*DstDeviceOrErr);
Rc = DstDeviceOrErr->submitData(DstAddr, SrcAddr, Length, AsyncInfo);
} else if (DstDevice == omp_get_initial_device()) {
- DP("copy from device to host\n");
+ ODBG(ODT_Interface) << "copy from device to host";
auto SrcDeviceOrErr = PM->getDevice(SrcDevice);
if (!SrcDeviceOrErr)
FATAL_MESSAGE(SrcDevice, "%s",
@@ -309,7 +314,7 @@
AsyncInfoTy AsyncInfo(*SrcDeviceOrErr);
Rc = SrcDeviceOrErr->retrieveData(DstAddr, SrcAddr, Length, AsyncInfo);
} else {
- DP("copy from device to device\n");
+ ODBG(ODT_Interface) << "copy from device to device";
auto SrcDeviceOrErr = PM->getDevice(SrcDevice);
if (!SrcDeviceOrErr)
FATAL_MESSAGE(SrcDevice, "%s",
@@ -341,7 +346,7 @@
free(Buffer);
}
- DP("omp_target_memcpy returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
return Rc;
}
@@ -364,12 +369,12 @@
Args->DstOffsets, Args->SrcOffsets, Args->DstDimensions,
Args->SrcDimensions, Args->DstDevice, Args->SrcDevice);
- DP("omp_target_memcpy_rect returns %d\n", Rc);
+ ODBG(ODT_Interface) << " omp_target_memcpy_rect returns " << Rc;
} else {
Rc = omp_target_memcpy(Args->Dst, Args->Src, Args->Length, Args->DstOffset,
Args->SrcOffset, Args->DstDevice, Args->SrcDevice);
- DP("omp_target_memcpy returns %d\n", Rc);
+ ODBG(ODT_Interface) << " omp_target_memcpy returns " << Rc;
}
// Release the arguments object
@@ -443,8 +448,8 @@
int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memset, device %d, device pointer %p, size %zu\n",
- DeviceNum, Ptr, NumBytes);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", device " << DeviceNum
+ << ", device pointer " << Ptr << ", size " << NumBytes;
// Behave as a no-op if N==0 or if Ptr is nullptr (as a useful implementation
// of unspecified behavior, see OpenMP spec).
@@ -453,7 +458,7 @@
}
if (DeviceNum == omp_get_initial_device()) {
- DP("filling memory on host via memset");
+ ODBG(ODT_Interface) << "filling memory on host via memset";
memset(Ptr, ByteVal, NumBytes); // ignore return value, memset() cannot fail
} else {
// TODO: replace the omp_target_memset() slow path with the fast path.
@@ -473,12 +478,13 @@
// If the omp_target_alloc has failed, let's just not do anything.
// omp_target_memset does not have any good way to fail, so we
// simply avoid a catastrophic failure of the process for now.
- DP("omp_target_memset failed to fill memory due to error with "
- "omp_target_alloc");
+ ODBG(ODT_Interface)
+ << __func__
+ << " failed to fill memory due to error with omp_target_alloc";
}
}
- DP("omp_target_memset returns %p\n", Ptr);
+ ODBG(ODT_Interface) << __func__ << " returns " << Ptr;
return Ptr;
}
@@ -486,8 +492,8 @@
int DeviceNum, int DepObjCount,
omp_depend_t *DepObjList) {
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memset_async, device %d, device pointer %p, size %zu",
- DeviceNum, Ptr, NumBytes);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", device " << DeviceNum
+ << ", device pointer " << Ptr << ", size " << NumBytes;
// Behave as a no-op if N==0 or if Ptr is nullptr (as a useful implementation
// of unspecified behavior, see OpenMP spec).
@@ -513,11 +519,10 @@
";src_dev=" + std::to_string(SrcDevice) +
";size=" + std::to_string(Length));
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memcpy_async, dst device %d, src device %d, "
- "dst addr " DPxMOD ", src addr " DPxMOD ", dst offset %zu, "
- "src offset %zu, length %zu\n",
- DstDevice, SrcDevice, DPxPTR(Dst), DPxPTR(Src), DstOffset, SrcOffset,
- Length);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", dst device " << DstDevice
+ << ", src device " << SrcDevice << ", dst addr " << Dst
+ << ", src addr " << Src << ", dst offset " << DstOffset
+ << ", src offset " << SrcOffset << ", length " << Length;
// Check the source and dest address
if (Dst == nullptr || Src == nullptr)
@@ -531,7 +536,7 @@
int Rc = libomp_helper_task_creation(Args, &libomp_target_memcpy_async_task,
DepObjCount, DepObjList);
- DP("omp_target_memcpy_async returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
return Rc;
}
@@ -542,23 +547,23 @@
const size_t *DstDimensions, const size_t *SrcDimensions,
int DstDevice, int SrcDevice) {
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memcpy_rect, dst device %d, src device %d, "
- "dst addr " DPxMOD ", src addr " DPxMOD ", dst offsets " DPxMOD ", "
- "src offsets " DPxMOD ", dst dims " DPxMOD ", src dims " DPxMOD ", "
- "volume " DPxMOD ", element size %zu, num_dims %d\n",
- DstDevice, SrcDevice, DPxPTR(Dst), DPxPTR(Src), DPxPTR(DstOffsets),
- DPxPTR(SrcOffsets), DPxPTR(DstDimensions), DPxPTR(SrcDimensions),
- DPxPTR(Volume), ElementSize, NumDims);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", dst device " << DstDevice
+ << ", src device " << SrcDevice << ", dst addr " << Dst
+ << ", src addr " << Src << ", dst offsets " << DstOffsets
+ << ", src offsets " << SrcOffsets << ", dst dims "
+ << DstDimensions << ", src dims " << SrcDimensions
+ << ", volume " << Volume << ", element size "
+ << ElementSize << ", num_dims " << NumDims;
if (!(Dst || Src)) {
- DP("Call to omp_target_memcpy_rect returns max supported dimensions %d\n",
- INT_MAX);
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returns max supported dimensions " << INT_MAX;
return INT_MAX;
}
if (!Dst || !Src || ElementSize < 1 || NumDims < 1 || !Volume ||
!DstOffsets || !SrcOffsets || !DstDimensions || !SrcDimensions) {
- REPORT("Call to omp_target_memcpy_rect with invalid arguments\n");
+ REPORT() << "Call to " << __func__ << " with invalid arguments";
return OFFLOAD_FAIL;
}
@@ -585,13 +590,14 @@
DstDimensions + 1, SrcDimensions + 1, DstDevice, SrcDevice);
if (Rc) {
- DP("Recursive call to omp_target_memcpy_rect returns unsuccessfully\n");
+ ODBG(ODT_Interface)
+ << "Recursive call to " << __func__ << " returns unsuccessfully";
return Rc;
}
}
}
- DP("omp_target_memcpy_rect returns %d\n", Rc);
+ ODBG(ODT_Interface) << " returns " << Rc;
return Rc;
}
@@ -605,18 +611,18 @@
";size=" + std::to_string(ElementSize) +
";num_dims=" + std::to_string(NumDims));
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_memcpy_rect_async, dst device %d, src device %d, "
- "dst addr " DPxMOD ", src addr " DPxMOD ", dst offsets " DPxMOD ", "
- "src offsets " DPxMOD ", dst dims " DPxMOD ", src dims " DPxMOD ", "
- "volume " DPxMOD ", element size %zu, num_dims %d\n",
- DstDevice, SrcDevice, DPxPTR(Dst), DPxPTR(Src), DPxPTR(DstOffsets),
- DPxPTR(SrcOffsets), DPxPTR(DstDimensions), DPxPTR(SrcDimensions),
- DPxPTR(Volume), ElementSize, NumDims);
+ ODBG(ODT_Interface) << "Call to " << __func__ << ", dst device " << DstDevice
+ << ", src device " << SrcDevice << ", dst addr " << Dst
+ << ", src addr " << Src << ", dst offsets " << DstOffsets
+ << ", src offsets " << SrcOffsets << ", dst dims "
+ << DstDimensions << ", src dims " << SrcDimensions
+ << ", volume " << Volume << ", element size "
+ << ElementSize << ", num_dims " << NumDims;
// Need to check this first to not return OFFLOAD_FAIL instead
if (!Dst && !Src) {
- DP("Call to omp_target_memcpy_rect returns max supported dimensions %d\n",
- INT_MAX);
+ ODBG(ODT_Interface) << "Call to " << __func__
+ << " returns max supported dimensions " << INT_MAX;
return INT_MAX;
}
@@ -633,7 +639,7 @@
int Rc = libomp_helper_task_creation(Args, &libomp_target_memcpy_async_task,
DepObjCount, DepObjList);
- DP("omp_target_memcpy_rect_async returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
return Rc;
}
@@ -642,17 +648,18 @@
int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_associate_ptr with host_ptr " DPxMOD ", "
- "device_ptr " DPxMOD ", size %zu, device_offset %zu, device_num %d\n",
- DPxPTR(HostPtr), DPxPTR(DevicePtr), Size, DeviceOffset, DeviceNum);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " with host_ptr " << HostPtr
+ << ", device_ptr " << DevicePtr << ", size " << Size
+ << ", device_offset " << DeviceOffset << ", device_num "
+ << DeviceNum;
if (!HostPtr || !DevicePtr || Size <= 0) {
- REPORT("Call to omp_target_associate_ptr with invalid arguments\n");
+ REPORT() << "Call to " << __func__ << " with invalid arguments";
return OFFLOAD_FAIL;
}
if (DeviceNum == omp_get_initial_device()) {
- REPORT("omp_target_associate_ptr: no association possible on the host\n");
+ REPORT() << __func__ << ": no association possible on the host";
return OFFLOAD_FAIL;
}
@@ -669,25 +676,23 @@
int Rc = DeviceOrErr->getMappingInfo().associatePtr(
const_cast<void *>(HostPtr), const_cast<void *>(DeviceAddr), Size);
- DP("omp_target_associate_ptr returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
return Rc;
}
EXTERN int omp_target_disassociate_ptr(const void *HostPtr, int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_target_disassociate_ptr with host_ptr " DPxMOD ", "
- "device_num %d\n",
- DPxPTR(HostPtr), DeviceNum);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " with host_ptr " << HostPtr
+ << ", device_num " << DeviceNum;
if (!HostPtr) {
- REPORT("Call to omp_target_associate_ptr with invalid host_ptr\n");
+ REPORT() << "Call to " << __func__ << " with invalid host_ptr";
return OFFLOAD_FAIL;
}
if (DeviceNum == omp_get_initial_device()) {
- REPORT(
- "omp_target_disassociate_ptr: no association possible on the host\n");
+ REPORT() << __func__ << ": no association possible on the host";
return OFFLOAD_FAIL;
}
@@ -702,30 +707,31 @@
int Rc = DeviceOrErr->getMappingInfo().disassociatePtr(
const_cast<void *>(HostPtr));
- DP("omp_target_disassociate_ptr returns %d\n", Rc);
+ ODBG(ODT_Interface) << __func__ << " returns " << Rc;
return Rc;
}
EXTERN void *omp_get_mapped_ptr(const void *Ptr, int DeviceNum) {
TIMESCOPE();
OMPT_IF_BUILT(ReturnAddressSetterRAII RA(__builtin_return_address(0)));
- DP("Call to omp_get_mapped_ptr with ptr " DPxMOD ", device_num %d.\n",
- DPxPTR(Ptr), DeviceNum);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " with ptr " << Ptr
+ << ", device_num " << DeviceNum;
if (!Ptr) {
- REPORT("Call to omp_get_mapped_ptr with nullptr.\n");
+ REPORT() << "Call to " << __func__ << " with nullptr.";
return nullptr;
}
int NumDevices = omp_get_initial_device();
if (DeviceNum == NumDevices) {
- DP("Device %d is initial device, returning Ptr " DPxMOD ".\n", DeviceNum,
- DPxPTR(Ptr));
+ ODBG(ODT_Interface) << "Device " << DeviceNum
+ << " is initial device, returning Ptr " << Ptr;
return const_cast<void *>(Ptr);
}
if (NumDevices <= DeviceNum) {
- DP("DeviceNum %d is invalid, returning nullptr.\n", DeviceNum);
+ ODBG(ODT_Interface) << "DeviceNum " << DeviceNum
+ << " is invalid, returning nullptr.";
return nullptr;
}
@@ -738,12 +744,12 @@
/*UpdateRefCount=*/false,
/*UseHoldRefCount=*/false);
if (!TPR.isPresent()) {
- DP("Ptr " DPxMOD "is not present on device %d, returning nullptr.\n",
- DPxPTR(Ptr), DeviceNum);
+ ODBG(ODT_Interface) << "Ptr " << Ptr
+ << "is not present on device %d, returning nullptr.";
return nullptr;
}
- DP("omp_get_mapped_ptr returns " DPxMOD ".\n", DPxPTR(TPR.TargetPointer));
+ ODBG(ODT_Interface) << __func__ << " returns " << TPR.TargetPointer << ".";
return TPR.TargetPointer;
}
diff --git a/offload/libomptarget/OpenMP/InteropAPI.cpp b/offload/libomptarget/OpenMP/InteropAPI.cpp
index b307011..258f711 100644
--- a/offload/libomptarget/OpenMP/InteropAPI.cpp
+++ b/offload/libomptarget/OpenMP/InteropAPI.cpp
@@ -18,6 +18,8 @@
#include <cstdlib>
#include <cstring>
+using namespace llvm::omp::target::debug;
+
namespace {
omp_interop_rc_t getPropertyErrorType(omp_interop_property_t Property) {
switch (Property) {
@@ -191,11 +193,11 @@
interop_spec_t *Prefers,
interop_ctx_t *Ctx, dep_pack_t *Deps) {
- DP("Call to %s with device_num %" PRId64 ", interop type %" PRId32
- ", number of preferred specs %" PRId32 "%s%s\n",
- __func__, DeviceNum, InteropType, NumPrefers,
- Ctx->flags.implicit ? " (implicit)" : "",
- Ctx->flags.nowait ? " (nowait)" : "");
+ ODBG(ODT_Interface) << "Call to " << __func__ << " with device_num "
+ << DeviceNum << ", interop type " << InteropType
+ << ", number of preferred specs " << NumPrefers
+ << (Ctx->flags.implicit ? " (implicit)" : "")
+ << (Ctx->flags.nowait ? " (nowait)" : "");
if (OffloadPolicy::get(*PM).Kind == OffloadPolicy::DISABLED)
return omp_interop_none;
@@ -208,8 +210,8 @@
if (InteropType == kmp_interop_type_targetsync) {
if (Ctx->flags.nowait)
- DP("Warning: nowait flag on interop creation not supported yet. "
- "Ignored\n");
+ ODBG(ODT_Interface) << "Warning: nowait flag on interop creation not "
+ "supported yet. Ignored";
if (Deps)
__kmpc_omp_wait_deps(LocRef, gtid, Deps->ndeps, Deps->deplist,
Deps->ndeps_noalias, Deps->noalias_deplist);
@@ -217,9 +219,9 @@
auto DeviceOrErr = PM->getDevice(DeviceNum);
if (!DeviceOrErr) {
- DP("Couldn't find device %" PRId64
- " while constructing interop object: %s\n",
- DeviceNum, toString(DeviceOrErr.takeError()).c_str());
+ ODBG(ODT_Interface) << "Couldn't find device " << DeviceNum
+ << " while constructing interop object: "
+ << toString(DeviceOrErr.takeError());
return omp_interop_none;
}
auto &Device = *DeviceOrErr;
@@ -227,12 +229,15 @@
auto InteropSpec = Device.RTL->select_interop_preference(
DeviceNum, InteropType, NumPrefers, Prefers);
if (InteropSpec.fr_id == tgt_fr_none) {
- DP("Interop request not supported by device %" PRId64 "\n", DeviceNum);
+ ODBG(ODT_Interface) << "Interop request not supported by device "
+ << DeviceNum;
return omp_interop_none;
}
- DP("Selected interop preference is fr_id=%s%s impl_attrs=%" PRId64 "\n",
- getForeignRuntimeIdToStr((tgt_foreign_runtime_id_t)InteropSpec.fr_id),
- InteropSpec.attrs.inorder ? " inorder" : "", InteropSpec.impl_attrs);
+ ODBG(ODT_Interface) << "Selected interop preference is fr_id="
+ << getForeignRuntimeIdToStr(
+ (tgt_foreign_runtime_id_t)InteropSpec.fr_id)
+ << (InteropSpec.attrs.inorder ? " inorder" : "")
+ << " impl_attrs=" << InteropSpec.impl_attrs;
if (Ctx->flags.implicit) {
// This is a request for an RTL managed interop object.
@@ -241,17 +246,17 @@
if (iop->isCompatibleWith(InteropType, InteropSpec, DeviceNum, gtid)) {
Interop = iop;
Interop->markDirty();
- DP("Reused interop " DPxMOD " from device number %" PRId64
- " for gtid %" PRId32 "\n",
- DPxPTR(Interop), DeviceNum, gtid);
+ ODBG(ODT_Interface)
+ << "Reused interop " << Interop << " from device number "
+ << DeviceNum << " for gtid " << gtid;
return Interop;
}
}
}
Interop = Device.RTL->create_interop(DeviceNum, InteropType, &InteropSpec);
- DP("Created an interop " DPxMOD " from device number %" PRId64 "\n",
- DPxPTR(Interop), DeviceNum);
+ ODBG(ODT_Interface) << "Created an interop " << Interop
+ << " from device number " << DeviceNum;
if (Ctx->flags.implicit) {
// register the new implicit interop in the RTL
@@ -268,16 +273,17 @@
int __tgt_interop_use60(ident_t *LocRef, omp_interop_val_t *Interop,
interop_ctx_t *Ctx, dep_pack_t *Deps) {
bool Nowait = Ctx->flags.nowait;
- DP("Call to %s with interop " DPxMOD ", nowait %" PRId32 "\n", __func__,
- DPxPTR(Interop), Nowait);
+ ODBG(ODT_Interface) << "Call to " << __func__ << " with interop " << Interop
+ << ", nowait " << Nowait;
if (OffloadPolicy::get(*PM).Kind == OffloadPolicy::DISABLED || !Interop)
return OFFLOAD_FAIL;
if (Interop->interop_type == kmp_interop_type_targetsync) {
if (Deps) {
if (Nowait) {
- DP("Warning: nowait flag on interop use with dependences not supported"
- "yet. Ignored\n");
+ ODBG(ODT_Interface)
+ << "Warning: nowait flag on interop use with dependences "
+ "not supported yet. Ignored";
Nowait = false;
}
@@ -288,8 +294,8 @@
auto DeviceOrErr = Interop->getDevice();
if (!DeviceOrErr) {
- REPORT("Failed to get device for interop " DPxMOD ": %s\n", DPxPTR(Interop),
- toString(DeviceOrErr.takeError()).c_str());
+ REPORT() << "Failed to get device for interop " << Interop << ": "
+ << toString(DeviceOrErr.takeError());
return OFFLOAD_FAIL;
}
auto &IOPDevice = *DeviceOrErr;
@@ -309,15 +315,16 @@
int __tgt_interop_release(ident_t *LocRef, omp_interop_val_t *Interop,
interop_ctx_t *Ctx, dep_pack_t *Deps) {
- DP("Call to %s with interop " DPxMOD "\n", __func__, DPxPTR(Interop));
+ ODBG(ODT_Interface) << "Call to " << __func__ << " with interop " << Interop;
if (OffloadPolicy::get(*PM).Kind == OffloadPolicy::DISABLED || !Interop)
return OFFLOAD_FAIL;
if (Interop->interop_type == kmp_interop_type_targetsync) {
if (Ctx->flags.nowait)
- DP("Warning: nowait flag on interop destroy not supported "
- "yet. Ignored\n");
+ ODBG(ODT_Interface)
+ << "Warning: nowait flag on interop destroy not supported yet. "
+ "Ignored";
if (Deps) {
__kmpc_omp_wait_deps(LocRef, Ctx->gtid, Deps->ndeps, Deps->deplist,
Deps->ndeps_noalias, Deps->noalias_deplist);
@@ -326,8 +333,8 @@
auto DeviceOrErr = Interop->getDevice();
if (!DeviceOrErr) {
- REPORT("Failed to get device for interop " DPxMOD ": %s\n", DPxPTR(Interop),
- toString(DeviceOrErr.takeError()).c_str());
+ REPORT() << "Failed to get device for interop " << Interop << ": "
+ << toString(DeviceOrErr.takeError());
return OFFLOAD_FAIL;
}
@@ -337,9 +344,9 @@
EXTERN int ompx_interop_add_completion_callback(omp_interop_val_t *Interop,
ompx_interop_cb_t *CB,
void *Data) {
- DP("Call to %s with interop " DPxMOD ", property callback " DPxMOD
- "and data " DPxMOD "\n",
- __func__, DPxPTR(Interop), DPxPTR(CB), DPxPTR(Data));
+ ODBG(ODT_Interface) << "Call to " << __func__ << " with interop " << Interop
+ << ", property callback " << reinterpret_cast<void *>(CB)
+ << " and data " << Data;
if (OffloadPolicy::get(*PM).Kind == OffloadPolicy::DISABLED || !Interop)
return omp_irc_other;
@@ -424,7 +431,7 @@
FATAL_MESSAGE(device_id, "Interop sync barrier failed for %p object\n",
this);
}
- DP("Calling completion callbacks for " DPxMOD "\n", DPxPTR(this));
+ ODBG(ODT_Sync) << "Calling completion callbacks for " << this;
runCompletionCbs();
return OFFLOAD_SUCCESS;
}
@@ -445,8 +452,8 @@
if (PM->InteropTbl.size() == 0)
return;
- DP("target_sync: syncing interops for gtid %" PRId32 ", event " DPxMOD "\n",
- Gtid, DPxPTR(Event));
+ ODBG(ODT_Sync) << "target_sync: syncing interops for gtid " << Gtid
+ << ", event " << Event;
for (auto iop : PM->InteropTbl) {
if (iop->async_info && iop->async_info->Queue && iop->isOwnedBy(Gtid) &&
@@ -454,8 +461,8 @@
auto DeviceOrErr = iop->getDevice();
if (!DeviceOrErr) {
- REPORT("Failed to get device for interop " DPxMOD ": %s\n", DPxPTR(iop),
- toString(DeviceOrErr.takeError()).c_str());
+ REPORT() << "Failed to get device for interop " << iop << ": "
+ << toString(DeviceOrErr.takeError());
continue;
}
auto &IOPDevice = *DeviceOrErr;
@@ -482,12 +489,12 @@
}
void InteropTblTy::clear() {
- DP("Clearing Interop Table\n");
+ ODBG(ODT_Deinit) << "Clearing Interop Table";
PerThreadTable::clear([](auto &IOP) {
auto DeviceOrErr = IOP->getDevice();
if (!DeviceOrErr) {
- REPORT("Failed to get device for interop " DPxMOD ": %s\n", DPxPTR(IOP),
- toString(DeviceOrErr.takeError()).c_str());
+ REPORT() << "Failed to get device for interop " << IOP << ": "
+ << toString(DeviceOrErr.takeError());
return;
}
IOP->release(*DeviceOrErr);