Здравствуйте, подскажите пожалуйста, в чем разница между:
clock_t start1 = clock();
...
clock_t end1 = clock();
double seconds1 = (double)(end1 - start1) / CLOCKS_PER_SEC;
cout << "Time: " << seconds1 << " sec" << endl;
и
cudaEvent_t start, stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);
cudaEventRecord(start, 0);
...
cudaThreadSynchronize();
cudaEventRecord(stop, 0);
cudaEventSynchronize(stop);
float elapsedtime;
cudaEventElapsedTime(&elapsedtime, start, stop);
printf("Time = %3.1f ms\n", elapsedtime);
cudaEventDestroy(start);
cudaEventDestroy(stop);
Понимаю, что один для cuda, а второй на CPU, но в чем их принципиальное различие. Почему один и тот же фрагмент кода они меряют по-разному( разное время показывают?).
Заранее спасибо за ответ, и простите новичку, такие глупые вопросы...