Questions on GPU timestamps: cuptiDeviceGetTimestamp and cuptiGetTimestamp

I am trying to synchronize cpu messages that are timestamped with CPU’s TSC together with the timestamps reported by cupti while using ActivityAPI.
I see cuptiDeviceGetTimestamp gives time on the device since last reset while cuptiGetTimestamp Returns a timestamp normalized to correspond with the start and end timestamps reported in the CUPTI activity records.

  • Is there an example that could explain cuptiGetTimestamp more clearly (esp the normalized part)?
  • Does new GPU have a counter which acts similar to a TSC counter in x86 cpus?
  • How accurate is cuptiDeviceGetTimestamp for an observer, will it have errors if the gpu’s frequency changes?