Tôi đang cố gắng so sánh hiệu suất của GPU với CPU. Đối với GPU NVIDIA, tôi đã sử dụng các loại cudaEvent_t
để có được thời gian chính xác.Cách tạo bộ hẹn giờ có độ phân giải cao trong Linux để đo lường hiệu suất chương trình?
Đối với CPU Tôi đã sử dụng đoạn mã sau:
// 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;
Rõ ràng, đó là đoạn mã chỉ tốt nếu bạn đang đếm trong vài giây. Ngoài ra, kết quả đôi khi đi ra khá lạ.
Có ai biết cách nào đó để tạo bộ hẹn giờ có độ phân giải cao trong Linux không?
Xem câu hỏi này: http://stackoverflow.com/questions/700392/high-resolution-timing-part- mã số của bạn –