Задать вопрос
@art1636203

Как добавить использование GPU в программы на Python?

Пару месяцев как начал изучать Python, и имеется много разных скриптов на нем, например вот такой:
перебирающий символы для поиска seed в aes256 - https://github.com/daedalus/misc/blob/master/crack...
Написан "как обычно" используя по умолчанию только мощность процессора.
Собственно вопрос - как добавить возможность использовать GPU для таких программ? Нужно полностью переписывать код?
  • Вопрос задан
  • 12637 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@SolidMinus
PyCUDA https://documen.tician.de/pycuda/

Нет, полностью не надо. Только там где идет перебор seed. Надо распараллелить по ядрам куда. Конкретно как это в питоне делается я хз, юзаю CUDA из Си. Уверен, что в PyCuda все еще проще.

P.S. Для работы требуется видеокарта Nvidia с установленной CUDA toolkit

UPD: Погуглил. Поддержки у питона CUDA API нет. PyCUDA использует wrapper для Си-образного кода для параллельного программирования от Nvidia. Придется весь код перебора переписывать в этом контексте, и исполнять его через PyCUDA. В документации есть пример такой реализации. Поэтому вердикт: если хочешь юзать GPU, придется изучать еще как кодить под GPU.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Вот статья на эту тему. Кроме PyCUDA есть еще Numba. Это JIT компилятор который может запускать ваш код как на CPU так и на GPU. Работать он будет медленнее чем PyCUDA, но зато вам не придется переписывать код.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽