Вызовы ядра являются асинхронными с точки зрения ЦП, поэтому, если вы вызовете 2 ядра подряд, будет вызвано второе, не дожидаясь завершения первого.Это только означает, что элемент управления немедленно возвращается к ЦПУ.
На стороне графического процессора, если вы не указали разные потоки для запуска ядра, они будут выполняться в порядке их вызова (если вы неДля указания потока они оба идут в поток по умолчанию и выполняются последовательно).Только после того, как первое ядро будет завершено, будет запущено второе.
Это поведение действительно для устройств с вычислительной возможностью 2.x, которые поддерживают параллельное выполнение ядра.На других устройствах, даже если вызовы ядра все еще асинхронны, выполнение ядра всегда последовательное.
Ознакомьтесь с руководством по программированию CUDA C в разделе 3.2.5, которое должен прочитать каждый программист CUDA.