Для параллельных ядер вам потребуется SM 2.0 или выше.
Чтобы получить параллельное выполнение, вам нужно вручную указать, что между двумя ядрами нет зависимости.Это связано с тем, что компилятор не может определить, что одно ядро не будет изменять данные, используемые в другом, это может происходить путем чтения и записи в один и тот же буфер, который кажется достаточно простым, но на самом деле его гораздо сложнее обнаружить, поскольку внутри могут быть указателиструктуры данных и т. д.
Чтобы выразить независимость, вы должны запускать ядра в разных потоках.Четвертый параметр в синтаксисе тройного шеврона указывает поток, посмотрите Руководство по программированию или пример SDK concurrentKernels.