[Openmp-commits] [openmp] [libc] [amdgpu][openmp] Treat missing TIMESTAMP_FREQUENCY as non-fatal (PR #70987)
Jon Chesterfield via Openmp-commits
openmp-commits at lists.llvm.org
Wed Nov 1 15:37:49 PDT 2023
================
@@ -1810,10 +1810,12 @@ struct AMDGPUDeviceTy : public GenericDeviceTy, AMDGenericDeviceTy {
return Err;
GridValues.GV_Warp_Size = WavefrontSize;
- // Get the frequency of the steady clock.
- if (auto Err = getDeviceAttr(HSA_AMD_AGENT_INFO_TIMESTAMP_FREQUENCY,
- ClockFrequency))
- return Err;
+ // Get the frequency of the steady clock. If the attribute is missing
+ // assume running on an older libhsa and default to 0, omp_get_wtime
+ // will be inaccurate but otherwise programs can still run.
+ if (auto Err = getDeviceAttrRaw(HSA_AMD_AGENT_INFO_TIMESTAMP_FREQUENCY,
----------------
JonChesterfield wrote:
If the enum field is missing, no compilation, no progress. I don't think there's a reasonable way to reflect on whether an enum field is present or not (i.e. no `#ifdef` equivalent).
However the enum field is present in the dynamic_hsa header, so openmp compiles just fine against that.
https://github.com/llvm/llvm-project/pull/70987
More information about the Openmp-commits
mailing list