Можно ли разгрузить функцию на графическую карту?

У меня есть многопоточное приложение C ++, и я хочу получить более высокую производительность и снизить общую загрузку процессора с помощью графики Intel HD.

Я не использую CILK. (Приложение написано на чистом C ++)

Я прочитал следующую ссылку:
Как перенести вычисления в графическую технологию Intel (R)

Но не нашел способа обрабатывать записанные функции или потоки на графической карте.

Является ли это возможным ?
Есть ли способ использовать компилятор Intel для разгрузки функций (или потоков) в Intel HD Graphics?

Спасибо

1

Решение

Да, это возможно. Но это не так просто.

Вы можете использовать CUDA, OpenCL или DirectCompute для того, что вы хотите, однако вам нужно написать параллельную версию вашей функции. Запуск «последовательной» функции на GPU определенно не интересен. Распараллеливание алгоритма может быть самой сложной задачей, базовые API-интерфейсы примерно одинаковы.

Я сочувствую этому:

  • код, который вы имеете, сделан для (однопоточных) процессоров, поэтому последовательный
  • код, который вы хотите запустить GPU необходимость быть параллельным

Я не знаю ни одного инструмента, способного распараллелить алгоритм.

4

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector