Найти - Пользователи
Полная версия: Ускорение дешифратор SHA256 с способами GPU, многопоточности и многопроцессорности
Начало » Python для экспертов » Ускорение дешифратор SHA256 с способами GPU, многопоточности и многопроцессорности
1 2
py.user.next
Didarcom
Я же писал что новичок в питоне и никто не сказал что это, только спамят меня
Разделение функции main() на несколько функции не дает результата, скорость перебора падает
Тебе говорят, что ты в программировании полный ноль. Ты, может, не понял, но здесь не форум бухгалтерш, которым можно любые залипухи кидать и они схавают, так как не смыслят ничего.

Didarcom
Вот описание:
Это описание кода, а нужно описание программы без всякого кода.

Твой код нафиг не нужен, нужно описание в стиле “1) программа должна делать то-то и то-то; 2) когда её запускаешь, она должна работать с такой-то скоростью; 3) есть такие-то файлы, в них такие-то данные в таком-то виде”.

Видишь, ты ТЗ никогда не писал и никогда не читал, поэтому ты даже не понимаешь, что у тебя спрашивают.
doza_and
У начинающих качество кода всегда не очень. Это нормально. Надо учиться.
1. Конечно нужно описание задачи. Без этого тут нечего обсуждать.
2. Нужны требования по быстродействию.
3. Тут вам пытаются объяснить что такой код надо не ускорять нумбой и не запихивать на видеокарту а просто полностью выкинуть и писать заново.

Поскольку неясно для чего он предназначен то люди смотрят на мелочи. Вам нужно быстродействие? Внутри критического цикла print? Что???? Почему файл открывается внутри wile а закрывается снаружи? Это ошибка.
Тут явно не нужны глобальные переменные в таком количестве. Зачем столько проверок? У вас нет понимания какие требования к исходным данным? Почему столько непонятных констант? Любая константа причина возможной логической не согласованности кода (если она не будет соответствовать остальным частям кода) Такой код будет очень трудно поддерживать.

Список можно продолжать. Попробуйте решить проблемы с пунктами 1,2
JOHN_16
Если хочешь задействовать ресурсы GPU то для тебя выход только один - CUDA.
Но там порог входа высокий, плюс надо знать много специфики, так как GPU и CPU это ну оооооочень разные процессоры в плане того как они работают.
Далее, просто так нельзя взять и задействовать GPU, ни питоном, ни джавой ни даже c++. Это не какое то устройство общего назначения, и тут даже не в драйвере дело.

Если же ускорять именно по средством CPU, то многопоточность или лучше много процессность поможет в том случае если твой алгоритм может быть разбит на N отдельным подзадач, независящих друг от друга. Тогда их легко можно раскидать по всем процесорным ядрам/потокам. Найти эту информацию не сложно. СЛожнее подготовить алгоритм.

Но перед этим всем надо сделать профилирование текущего - понять его узкие места, которые можно переделать. Например у тебя в коде есть функци которые записывает что то в файл. Я не знаю насколкьо часто они вызываются, но они делают это в основном цикле. Это операции блокирующие IO - т оесть в этом месте будет простой. Если сохранение частое - общая скорость падает. И таких мест можно поискать еще.
PEHDOM
JOHN_16
Если хочешь задействовать ресурсы GPU то для тебя выход только один - CUDA.
Но там порог входа высокий,
да ХЗ, вроде все уже украдено придумано до нас.
вроде ничего архисложного, ставиться тулкит, сставиться нумба, подключаеться и все работает
https://developer.nvidia.com/how-to-cuda-python
там даже есть видеомурзилка для даунов. и куча примеров на гитхабе для обучения.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB