Implement event based CUDA profiling. Continue to use CUPTI callback API to generate events, but avoid activity API.
PiperOrigin-RevId: 238427551
This commit is contained in:
parent
66df637441
commit
5f071f2eb2
@ -577,7 +577,14 @@ def tf_protos_grappler():
|
||||
)
|
||||
|
||||
def tf_additional_cupti_wrapper_deps():
|
||||
return ["//tensorflow/core/platform/default/gpu:cupti_wrapper"]
|
||||
return [
|
||||
"//tensorflow/core/platform/default/gpu:cupti_wrapper",
|
||||
"@com_google_absl//absl/base",
|
||||
"@com_google_absl//absl/strings",
|
||||
"@com_google_absl//absl/strings:str_format",
|
||||
"@com_google_absl//absl/container:node_hash_map",
|
||||
"@com_google_absl//absl/container:flat_hash_map",
|
||||
]
|
||||
|
||||
def tf_additional_device_tracer_srcs():
|
||||
return ["platform/default/device_tracer.cc"]
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -61,6 +61,7 @@ LIBCUPTI_WRAP(cuptiEnableCallback);
|
||||
LIBCUPTI_WRAP(cuptiEnableDomain);
|
||||
LIBCUPTI_WRAP(cuptiSubscribe);
|
||||
LIBCUPTI_WRAP(cuptiUnsubscribe);
|
||||
LIBCUPTI_WRAP(cuptiGetResultString);
|
||||
|
||||
} // namespace dynload
|
||||
|
||||
@ -124,6 +125,11 @@ CUptiResult CuptiWrapper::Unsubscribe(CUpti_SubscriberHandle subscriber) {
|
||||
return dynload::cuptiUnsubscribe(subscriber);
|
||||
}
|
||||
|
||||
CUptiResult CuptiWrapper::GetResultString(CUptiResult result,
|
||||
const char** str) {
|
||||
return dynload::cuptiGetResultString(result, str);
|
||||
}
|
||||
|
||||
} // namespace profiler
|
||||
} // namespace gputools
|
||||
} // namespace perftools
|
||||
|
@ -68,6 +68,8 @@ class CuptiWrapper {
|
||||
CUpti_CallbackFunc callback, void* userdata);
|
||||
|
||||
CUptiResult Unsubscribe(CUpti_SubscriberHandle subscriber);
|
||||
|
||||
CUptiResult GetResultString(CUptiResult result, const char** str);
|
||||
};
|
||||
|
||||
} // namespace profiler
|
||||
|
Loading…
Reference in New Issue
Block a user