когда вы вызываете эту функцию, поток прекращает выполнение до тех пор, пока не произойдет это событие, после чего программа продолжит работу.Это способ убедиться, что вы знаете состояние работающей программы.Это особенно важно в CUDA, потому что многие вещи являются асинхронными.
«Поток вызывающего хоста» - это поток, работающий на ЦПУ хост-компьютера, в котором находится устройство CUDA.
изменить в ответ на комментарий ниже:
Я считаю, что разница между «блокирующей синхронизацией» и обычной синхронизацией заключается в том, что поток блокируется и не будет работать до завершения события, в отличие отпоток, который "вращается", как он ждет, постоянно проверяя значение.Это означает, что поток не будет использовать дополнительное вращение ЦП, а будет пробужден после завершения события.Это полезно, например, если вы запускаете эту программу на сервере, где процессорное время платно, или вам приходится платить за единицу времени.