| 1234567891011121314151617181920212223242526272829303132333435 |
- from triton.language import core
- @core.extern
- def memrealtime(_semantic=None):
- """
- Returns a 64-bit real time-counter value
- """
- target_arch = _semantic.builder.options.arch
- if 'gfx11' in target_arch or 'gfx12' in target_arch:
- return core.inline_asm_elementwise(
- """
- s_sendmsg_rtn_b64 $0, sendmsg(MSG_RTN_GET_REALTIME)
- s_waitcnt lgkmcnt(0)
- """,
- "=r",
- [],
- dtype=core.int64,
- is_pure=False,
- pack=1,
- _semantic=_semantic,
- )
- else:
- return core.inline_asm_elementwise(
- """
- s_memrealtime $0
- s_waitcnt vmcnt(0)
- """,
- "=r",
- [],
- dtype=core.int64,
- is_pure=False,
- pack=1,
- _semantic=_semantic,
- )
|