Próbuję porównać GPU do wydajności procesora. W przypadku procesora graficznego NVIDIA używam typów cudaEvent_t
, aby uzyskać bardzo precyzyjny timing.Jak utworzyć zegar o wysokiej rozdzielczości w systemie Linux, aby mierzyć wydajność programu?
Dla CPU Używam następujący kod:
// Timers
clock_t start, stop;
float elapsedTime = 0;
// Capture the start time
start = clock();
// Do something here
.......
// Capture the stop time
stop = clock();
// Retrieve time elapsed in milliseconds
elapsedTime = (float)(stop - start)/(float)CLOCKS_PER_SEC * 1000.0f;
Widocznie, że fragment kodu jest tylko dobra, jeśli liczysz w sekundach. Poza tym wyniki czasami wydają się dość dziwne.
Czy ktoś wie, w jaki sposób utworzyć zegar wysokiej rozdzielczości w systemie Linux?
Zobacz na to pytanie: http://stackoverflow.com/questions/700392/high-resolution-timing-part- of-your-code –