0
如果您有多個想要時間連續的CUDA事件(例如cudaMemcpy,然後是內核啓動,然後是另一個cudaMemcpy),它是安全/適當/準確的僅在最後一個事件上同步?例如:cuda中的連續事件時序
cudaEventRecord(event1_start);
// do something
cudaEventRecord(event1_stop);
cudaEventRecord(event2_start);
// do something else
cudaEventRecord(event2_stop);
cudaEventSynchronize(event2_stop);
cudaEventElapsedTime(&time1, event1_start, event1_stop);
cudaEventElapsedTime(&time2, event2_start, event2_stop);
我的理解是這些事件和實際的cuda調用會被放入一個FIFO隊列中。然後,CPU需要等到最後一個事件被記錄後才記錄所有事件的時間。它是否正確?
謝謝!