cuda_stream_synchronize
Перейти к навигации
Перейти к поиску
void cuda_stream_synchronize(cudaStream_t stream);
Синхронизирует выполнение задач, связанных с указанным потоком CUDA stream, и производит дополнительную общую постобработку результатов.
- Параметры
stream Поток CUDA, который необходимо синхронизировать с выполнением на CPU. - Возможные исключения
cuda_exception Шаблон:Cuda exception brief cuda_user_exception Шаблон:Cuda user exception brief - См. также
cuda_kernel_call Если необходимо, создает и инициализирует и инициализирует разделяемое состояние для ядер CUDA, после чего производит вызов указанного ядра. cuda_abort_with_error Устанавливает код ошибки с опциональным связанным текстовым описанием в глобальной памяти устройства, на котором производится вызов, и досрочно завершает выполнения ядра (kernel) CUDA.
Функция предназначена для синхронизации одновременных вызовов ядер CUDA по указанным потокам. Ядра должны быть вызваны с помощью функции cuda_kernel_call, иначе эффект функции cuda_stream_synchronize не определен.
Пример
unsigned pVector[100];
auto pDeviceVector = make_cuda_unique_ptr<unsigned>(sizeof(pVector));
cuda_kernel_call(my_kernel, 10, 10, 0, stream, true, thread_id, pDeviceVector.get());
cuda_runtime_call(cudaMemcpyAsync, pVector, pDeviceVector.get(), sizeof(pVector), cudaMemcpyDeviceToHost, stream);
cuda_stream_synchronize(stream);