Program Listing for File realtime.h
↰ Return to documentation for file (include/embers/amdgpu/realtime.h
)
/* Copyright © 2020 Advanced Micro Devices, Inc. All rights reserved */
#ifndef _EMBERS_AMDGPU_REALTIME_H_
#define _EMBERS_AMDGPU_REALTIME_H_
#include <cstdint>
namespace embers
{
namespace amdgpu
{
__device__ inline void get_realtime(uint64_t *count)
{
#if defined(__gfx1100__) || defined(__gfx1101__) || defined(__gfx1102__) || defined(__gfx1103__)
asm volatile("s_sendmsg_rtn_b64 %0 0x83\n s_waitcnt lgkmcnt(0)" : "=s"(count)::);
#else
asm volatile("s_memrealtime %0\n s_waitcnt lgkmcnt(0)" : "=s"(count)::);
#endif
}
} // namespace amdgpu
} // namespace embers
#endif // _EMBERS_AMDGPU_REALTIME_H_