@art1636203

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

Пару месяцев как начал изучать Python, и имеется много разных скриптов на нем, например вот такой:
перебирающий символы для поиска seed в aes256 - https://github.com/daedalus/misc/blob/master/crack...
Написан "как обычно" используя по умолчанию только мощность процессора.
Собственно вопрос - как добавить возможность использовать GPU для таких программ? Нужно полностью переписывать код?
  • Вопрос задан
  • 12167 просмотров
Решения вопроса 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, но зато вам не придется переписывать код.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы