Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 18, 2018 02:57:06

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Ускорение дешифратор SHA256 с способами GPU, многопоточности и многопроцессорности

Didarcom
Я же писал что новичок в питоне и никто не сказал что это, только спамят меня
Разделение функции main() на несколько функции не дает результата, скорость перебора падает
Тебе говорят, что ты в программировании полный ноль. Ты, может, не понял, но здесь не форум бухгалтерш, которым можно любые залипухи кидать и они схавают, так как не смыслят ничего.

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

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

Видишь, ты ТЗ никогда не писал и никогда не читал, поэтому ты даже не понимаешь, что у тебя спрашивают.



Отредактировано py.user.next (Сен. 18, 2018 02:59:50)

Офлайн

#2 Сен. 18, 2018 07:21:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Ускорение дешифратор SHA256 с способами GPU, многопоточности и многопроцессорности

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

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

Список можно продолжать. Попробуйте решить проблемы с пунктами 1,2



Офлайн

#3 Сен. 18, 2018 11:27:07

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Ускорение дешифратор SHA256 с способами GPU, многопоточности и многопроцессорности

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

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

Но перед этим всем надо сделать профилирование текущего - понять его узкие места, которые можно переделать. Например у тебя в коде есть функци которые записывает что то в файл. Я не знаю насколкьо часто они вызываются, но они делают это в основном цикле. Это операции блокирующие IO - т оесть в этом месте будет простой. Если сохранение частое - общая скорость падает. И таких мест можно поискать еще.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Сен. 18, 2018 12:27:21

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Ускорение дешифратор SHA256 с способами GPU, многопоточности и многопроцессорности

JOHN_16
Если хочешь задействовать ресурсы GPU то для тебя выход только один - CUDA.
Но там порог входа высокий,
да ХЗ, вроде все уже украдено придумано до нас.
вроде ничего архисложного, ставиться тулкит, сставиться нумба, подключаеться и все работает
https://developer.nvidia.com/how-to-cuda-python
там даже есть видеомурзилка для даунов. и куча примеров на гитхабе для обучения.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Сен. 18, 2018 12:29:24)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version