Я использую следующий код для определения времени звонков на cudaMalloc()
.Мне любопытно: события CUDA влияют только на наше ядро, или же на «встроенные ядра».Другими словами, является ли следующий метод для синхронизации cudaMalloc()
действительным?
cudaEvent_t start, stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);
cudaEventRecord(start, 0);
for(int t =0 ; t < 100 ; t++){
float* test;
cudaMalloc((void**)&test, 3000000 * sizeof(float));
cudaFree(test);
}
cudaEventRecord(stop, 0);
cudaEventSynchronize(stop);
float elapsedTime;
cudaEventElapsedTime(&elapsedTime , start, stop);
printf("time elapsed on the GPU: %f ms", elapsedTime/100);