Skip to content

Commit a0d8f01

Browse files
authored
[SYCL][ESIMD] Move rdtsc function out of experimental namespace (#13417)
1 parent bcf7d4d commit a0d8f01

File tree

5 files changed

+16
-10
lines changed

5 files changed

+16
-10
lines changed

sycl/include/sycl/ext/intel/esimd/detail/math_intrin.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T1, N)
193193
__esimd_ssdp4a_sat(__ESIMD_raw_vec_t(T2, N) src0,
194194
__ESIMD_raw_vec_t(T3, N) src1,
195195
__ESIMD_raw_vec_t(T4, N) src2) __ESIMD_INTRIN_END;
196+
__ESIMD_INTRIN __ESIMD_raw_vec_t(uint32_t, 4)
197+
__esimd_timestamp() __ESIMD_INTRIN_END;
196198

197199
#ifdef __SYCL_DEVICE_ONLY__
198200

sycl/include/sycl/ext/intel/esimd/math.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1302,6 +1302,13 @@ __ESIMD_API uint32_t subb(uint32_t &borrow, uint32_t src0, uint32_t src1) {
13021302
return Res[0];
13031303
}
13041304

1305+
/// rdtsc - get the value of timestamp counter.
1306+
/// @return the current value of timestamp counter
1307+
__ESIMD_API uint64_t rdtsc() {
1308+
__ESIMD_NS::simd<uint32_t, 4> retv = __esimd_timestamp();
1309+
return retv.template bit_cast_view<uint64_t>()[0];
1310+
}
1311+
13051312
/// @} sycl_esimd_math
13061313

13071314
} // namespace ext::intel::esimd

sycl/include/sycl/ext/intel/experimental/esimd/detail/math_intrin.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,6 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(sycl::half, N)
151151
__ESIMD_DNS::vector_type_t<uint16_t, N> src2)
152152
__ESIMD_INTRIN_END;
153153

154-
__ESIMD_INTRIN __ESIMD_raw_vec_t(uint32_t, 4)
155-
__esimd_timestamp() __ESIMD_INTRIN_END;
156-
157154
#undef __ESIMD_raw_vec_t
158155
#undef __ESIMD_cpp_vec_t
159156

sycl/include/sycl/ext/intel/experimental/esimd/math.hpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1724,11 +1724,9 @@ __ESIMD_API std::enable_if_t<__ESIMD_DNS::is_esimd_scalar<T>::value &&
17241724
}
17251725

17261726
/// rdtsc - get the value of timestamp counter.
1727-
/// \return the current value of timestamp counter
1728-
ESIMD_INLINE uint64_t rdtsc() {
1729-
__ESIMD_NS::simd<uint32_t, 4> retv = __esimd_timestamp();
1730-
return retv.template bit_cast_view<uint64_t>()[0];
1731-
}
1727+
/// @return the current value of timestamp counter
1728+
__SYCL_DEPRECATED("Please use sycl::ext::intel::esimd::rdtsc();")
1729+
ESIMD_INLINE uint64_t rdtsc() { return __ESIMD_NS::rdtsc(); }
17321730

17331731
/// @} sycl_esimd_logical
17341732

sycl/test-e2e/ESIMD/rdtsc.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,11 @@ int test_rdtsc() {
4141
auto Kernel = ([=](sycl::nd_item<1> ndi) [[intel::sycl_explicit_simd]] {
4242
using namespace sycl::ext::intel::esimd;
4343
auto Idx = ndi.get_global_id(0);
44-
uint64_t StartCounter = sycl::ext::intel::experimental::esimd::rdtsc();
44+
uint64_t StartCounter =
45+
Idx % 2 == 0 ? __ESIMD_NS::rdtsc() : __ESIMD_ENS::rdtsc();
4546
simd<uint64_t, 1> VectorResultRDTSC(VectorOutputRDTSCPtr + Idx);
46-
uint64_t EndCounter = sycl::ext::intel::experimental::esimd::rdtsc();
47+
uint64_t EndCounter =
48+
Idx % 2 == 0 ? __ESIMD_NS::rdtsc() : __ESIMD_ENS::rdtsc();
4749
VectorResultRDTSC += EndCounter > StartCounter;
4850

4951
VectorResultRDTSC.copy_to(VectorOutputRDTSCPtr + Idx);

0 commit comments

Comments
 (0)