CUDA C Руководство по программированию предоставляет следующие операторы:Понимание CUDA проверка зависимостей
Для устройств, которые поддерживают одновременное выполнение ядра и имеют вычислительные возможности 3,0 или ниже, любая операция, которая требует проверять зависимости, чтобы увидеть, если потоковое ядро завершено:
‣ Может запускаться только тогда, когда все поточные блоки всех предыдущих запусков ядра из любого потока в контексте CUDA начали выполнение;
‣ Блокирует все последующие запуска ядра из любого потока в контексте CUDA до завершения проверки ядра .
Я совершенно потерян здесь. Что такое проверка зависимостей? Могу ли я сказать, что выполнение ядра на некоторых устройствах требует проверки зависимостей во всех предыдущих передачах ядра или памяти с использованием той же памяти устройства? Если это верно (может быть, неверно), эта проверка зависимостей блокирует все последующие ядра из любого другого потока в соответствии с вышеприведенным утверждением, и поэтому после этого не произойдет асинхронного или параллельного выполнения, что кажется неверным.
Любое объяснение или разработка будут оценены!