From 037cc162d02a020b284233fe60ccdf7f2494e11a Mon Sep 17 00:00:00 2001 From: ROCm CI Service Account <66695075+rocm-ci@users.noreply.github.com> Date: Thu, 27 Oct 2022 20:24:17 +0530 Subject: [PATCH] SWDEV-356567 - Remove notes for limitation of using start & end events of same hipExtLaunchKernelGGL in hipEventElapsedTime. (#3032) Change-Id: I6041f90f6e3a41d19697a31f31220aedfa5f2fa8 --- docs/markdown/hip_programming_guide.md | 3 --- include/hip/hip_runtime_api.h | 7 ------- 2 files changed, 10 deletions(-) diff --git a/docs/markdown/hip_programming_guide.md b/docs/markdown/hip_programming_guide.md index 1fc966e898..507a72c502 100644 --- a/docs/markdown/hip_programming_guide.md +++ b/docs/markdown/hip_programming_guide.md @@ -102,9 +102,6 @@ A stronger system-level fence can be specified when the event is created with hi - hipEventReleaseToSystem : Perform a system-scope release operation when the event is recorded.  This will make both Coherent and Non-Coherent host memory visible to other agents in the system, but may involve heavyweight operations such as cache flushing.  Coherent memory will typically use lighter-weight in-kernel synchronization mechanisms such as an atomic operation and thus does not need to use hipEventReleaseToSystem. - hipEventDisableTiming: Events created with this flag would not record profiling data and provide best performance if used for synchronization. -Note, for HIP Events used in kernel dispatch using hipExtLaunchKernelGGL/hipExtLaunchKernel, events passed in the API are not explicitly recorded and should only be used to get elapsed time for that specific launch. -In case events are used across multiple dispatches, for example, start and stop events from different hipExtLaunchKernelGGL/hipExtLaunchKernel calls, they will be treated as invalid unrecorded events, HIP will throw error "hipErrorInvalidHandle" from hipEventElapsedTime. - ### Summary and Recommendations: - Coherent host memory is the default and is the easiest to use since the memory is visible to the CPU at typical synchronization points. This memory allows in-kernel synchronization commands such as threadfence_system to work transparently. diff --git a/include/hip/hip_runtime_api.h b/include/hip/hip_runtime_api.h index 631ae31bf6..b76f4b7037 100644 --- a/include/hip/hip_runtime_api.h +++ b/include/hip/hip_runtime_api.h @@ -2477,13 +2477,6 @@ hipError_t hipEventSynchronize(hipEvent_t event); * recorded on one or both events (that is, hipEventQuery() would return #hipErrorNotReady on at * least one of the events), then #hipErrorNotReady is returned. * - * Note, for HIP Events used in kernel dispatch using hipExtLaunchKernelGGL/hipExtLaunchKernel, - * events passed in hipExtLaunchKernelGGL/hipExtLaunchKernel are not explicitly recorded and should - * only be used to get elapsed time for that specific launch. In case events are used across - * multiple dispatches, for example, start and stop events from different hipExtLaunchKernelGGL/ - * hipExtLaunchKernel calls, they will be treated as invalid unrecorded events, HIP will throw - * error "hipErrorInvalidHandle" from hipEventElapsedTime. - * * @see hipEventCreate, hipEventCreateWithFlags, hipEventQuery, hipEventDestroy, hipEventRecord, * hipEventSynchronize */