How to measure the inner kernel time in NVIDIA CUDA?

cuda, gpgpu, gpu, nvidia

Solution

Try this, it measures time between 2 events in milliseconds.

  cudaEvent_t start, stop;
  float elapsedTime;

  cudaEventCreate(&start);
  cudaEventRecord(start,0);

 //Do kernel activity here

 cudaEventCreate(&stop);
 cudaEventRecord(stop,0);
 cudaEventSynchronize(stop);

 cudaEventElapsedTime(&elapsedTime, start,stop);
 printf("Elapsed time : %f ms\n" ,elapsedTime);

Problem

I want to measure time inner kernel of GPU, how how to measure it in NVIDIA CUDA? e.g. ``` __global__ void kernelSample() { some code here get start time some code here get stop time some code here } ```

Original source

Related problems