В CUDA потоки - это средство хост-драйвера - фактически это просто набор командных конвейеров, из которых драйвер выбирает задачи для запуска на GPU. В «базовой» архитектуре CUDA графический процессор имеет «механизм DMA» для передачи памяти по шине PCI Express и «механизм выполнения» для выполнения кода ядра и все. В Fermi может быть до двух «механизмов DMA», и «механизм выполнения», по-видимому, настраивается в качестве хост-драйвера, что позволяет выполнять несколько ядер. Драйвер передает работу из одного или нескольких буферов FIFO (которые предоставляются через API потоков) на эти механизмы. Но сам GPU ничего не знает о потоках, они просто устройства на стороне хоста.