Для Куды не надо, надо для OpenCL
. Неплохо было бы для начала, чтобы отдали видюхе визуализацию - анализаторы, спектрограммы там, гониометры. Потом ревера с трассировкой полезно бы, это ж какие возможности по моделированию пространства...
Как правило, для организации архитектурно-независимой работы большого количества видеокарточек, необходима работа с низкоуровневой виртуальной машиной и, в этом случае, OpenCL никак вам не поможет. Можете с помощью C написать программу и работать с драйверами, к примеру, но, в действительности, для стабильной работы без лагов большому количеству видеокарточек нужно работать напрямую с низкоуровневой виртуальной машиной семейства карт, к которой относится конкретная видеокарточка.
Сделать обёртку для динамических расчётов и компоновки ресурсов девайса - тоже не лучший вариант, если речь идёт лишь о запросе ресурсов и compute capability.
В целом, достаточно знать, какие бывают особенности у девайсов CUDA разной версии ptx isa [compute capability], чтобы понимать, о чём идёт речь.
Можно, опять же, сделать обёртку для разных версий разных виртуальных машин разных семейств девайсов, однако, в этом уже можно "пожелать удачи" команде разработчиков: трудоёмкость разработки будет катастрофической.