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