Skip to content
  • Kenneth Moreland's avatar
    Synchronize CUDA timer when stopping it · 4d9ce248
    Kenneth Moreland authored
    Previously, when Stop was called on a Cuda timer, it would record a stop
    event but it would not synchronize it at that time. Instead, the
    synchronize was only called when GetElapsedTime was called. The problem
    is that the time of the event is only marked when synchronize is called.
    Thus, if the event completed before GetElapsedTime was called, it would
    record the time from when the event acutally happened to the time when
    GetElapsedTime was called as part of the elapsed time, which is
    incorrect.
    
    Fix the problem by synchronizing when Stop is called. Although this
    makes the Timer more invasive, generally using the Timer can cause
    synchronization to happen. This behavior is consistent with the Timer
    implementation for other devices.
    4d9ce248