Здравствуте!
Технология параллельного программирования OpenMP версии 4.0 и выше декларирует "прозрачное" использование графических вычислительных плат, т.е. автоматическое подключение мощностей графического процессора при наличии такой возможности без внесения в код дополнительных прагм. Что вроде как должно разгрузить конечного пользователя (программиста) и избавить от необходимости осваивать Cuda или другие технологии в случаях, когда не нужна тонкая оптимизация.
На данный момент мне известно, что определенного выигрыша в производительности можно достичь при использовании компилятора от Intel в связке с их же процессором и графплатой, но это дорого.
ВОПРОС: как протестировать возможности OpenMP на предмет эффективности использования вычислительных ресурсов графических процессоров более бюджетно?
Например, хочу пойти по такому пути:
На компьютер с процессором Core i7 и видеокартой GeForce GT 740 (в спецификации
www.nvidia.ru/object/geforce-gt-740-ru.html#pdpCon... которой указано наличие 384 Cuda ядер) устанавливаю Ubuntu 15.10 (в состав которой входит gcc 5.2.1, который по данным сайта
openmp.org/wp/openmp-compilers поддерживает OpenMP 4.0 )
создаю програмку-пример, демонстрирующий возможности использования графплаты и компилирую её с ключом -fopenmp.
Соответственно два подвопроса:
1) достаточно ли стандартных драйверов в системе, чтобы gcc использовал cuda ядра графплаты, или нужно как-то дополнительно "скормить" карту компилятору?
2) какая простенькая программа сможет элементарно продемонстрировать преимущество использования графплаты?
3) может быть нужно что-то ещё?
Спасибо!