1+ /*
2+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3+ * All rights reserved.
4+ *
5+ * This source code is licensed under the BSD-style license found in the
6+ * LICENSE file in the root directory of this source tree.
7+ */
8+
19#include " XpuptiActivityApi.h"
210
311#include < assert.h>
@@ -170,6 +178,43 @@ void XpuptiActivityApi::bufferCompleted(
170178}
171179#endif
172180
181+ #if PTI_VERSION_MAJOR > 0 || PTI_VERSION_MINOR > 10
182+ static void enableSpecifcRuntimeAPIsTracing () {
183+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
184+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueUSMFill_id));
185+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
186+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueUSMFill2D_id));
187+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
188+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueUSMMemcpy_id));
189+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
190+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueUSMMemcpy2D_id));
191+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
192+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueKernelLaunch_id));
193+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
194+ 1 ,
195+ pti_api_group_id::PTI_API_GROUP_SYCL,
196+ urEnqueueKernelLaunchCustomExp_id));
197+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
198+ 1 ,
199+ pti_api_group_id::PTI_API_GROUP_SYCL,
200+ urEnqueueCooperativeKernelLaunchExp_id));
201+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
202+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueMemBufferFill_id));
203+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
204+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueMemBufferRead_id));
205+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
206+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueMemBufferWrite_id));
207+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
208+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urEnqueueMemBufferCopy_id));
209+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
210+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urUSMHostAlloc_id));
211+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
212+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urUSMSharedAlloc_id));
213+ XPUPTI_CALL (ptiViewEnableRuntimeApi (
214+ 1 , pti_api_group_id::PTI_API_GROUP_SYCL, urUSMDeviceAlloc_id));
215+ }
216+ #endif
217+
173218void XpuptiActivityApi::enableXpuptiActivities (
174219 const std::set<ActivityType>& selected_activities) {
175220#ifdef HAS_XPUPTI
@@ -192,7 +237,16 @@ void XpuptiActivityApi::enableXpuptiActivities(
192237 externalCorrelationEnabled_ = true ;
193238 }
194239 if (activity == ActivityType::XPU_RUNTIME) {
240+ #if PTI_VERSION_MAJOR > 0 || PTI_VERSION_MINOR > 11
241+ XPUPTI_CALL (ptiViewEnable (PTI_VIEW_RUNTIME_API));
242+ XPUPTI_CALL (ptiViewEnableRuntimeApiClass (
243+ 1 , PTI_API_CLASS_GPU_OPERATION_CORE, PTI_API_GROUP_ALL));
244+ #elif PTI_VERSION_MAJOR == 0 && PTI_VERSION_MINOR == 11
245+ XPUPTI_CALL (ptiViewEnable (PTI_VIEW_RUNTIME_API));
246+ enableSpecifcRuntimeAPIsTracing ();
247+ #else
195248 XPUPTI_CALL (ptiViewEnable (PTI_VIEW_SYCL_RUNTIME_CALLS));
249+ #endif
196250 }
197251 if (activity == ActivityType::OVERHEAD) {
198252 XPUPTI_CALL (ptiViewEnable (PTI_VIEW_COLLECTION_OVERHEAD));
@@ -222,7 +276,12 @@ void XpuptiActivityApi::disablePtiActivities(
222276 XPUPTI_CALL (ptiViewDisable (PTI_VIEW_EXTERNAL_CORRELATION));
223277 }
224278 if (activity == ActivityType::XPU_RUNTIME) {
279+ #if PTI_VERSION_MAJOR > 0 || PTI_VERSION_MINOR > 10
280+ XPUPTI_CALL (ptiViewDisable (PTI_VIEW_RUNTIME_API));
281+ #else
282+
225283 XPUPTI_CALL (ptiViewDisable (PTI_VIEW_SYCL_RUNTIME_CALLS));
284+ #endif
226285 }
227286 if (activity == ActivityType::OVERHEAD) {
228287 XPUPTI_CALL (ptiViewDisable (PTI_VIEW_COLLECTION_OVERHEAD));
0 commit comments