LINUX.ORG.RU

Программирование и вычисления на GPU (аппаратное ускорение вычислений)

 , , ,


1

2

Приветствую ЛОР, доброго времени суток гики! Заранее извиняюсь, если не в тот раздел пишу, но тема такая, что затрагивает, наверное, не один раздел, а два-три.

Сижу я значит под Centos 7. Знаю язык программирования PHP. Есть видеокарта. Готов выучить любой язык программирования, лишь бы осуществить требуемую задачу и как можно скорее. Английский язык не знаю, поэтому на иноязычных сайтах не лазил, а на русскоязычных нужной инфы не нашёл.

А теперь к делу:

Каждый день, как только запускаю компьютер, открываю терминал и запускаю пхп-скрипт, которые осуществляет перебор, и ищет определённый результат перебора. Но это очень долго. Годами так буду перебирать. Я хочу поступить умно, и задействовать в этом свою видеокарту, то есть сделать аппаратное ускорение вычислений (перебора) за счёт множества ядер (ведь в GPU много ядер) на видеокарте. И тут возникает проблема - я в душе не знаю как это сделать! Ни как задействовать, ни какие языки поддерживают это. Только вот кажется мне, что придётся мне немного сишку подучить, чтоб реализовать это. Но выучить другой язык - не беда. Это легко для меня. А вот реализовать ускорение как - я не знаю. Кто с этим сталкивался? Может мельком где-то слышал, а может занимался? Подскажите, будьте добры. Или ткните носом в доки и маны, даже если те на английском (если что попрошу помощи у знающих английский, да и сам на интуитивном уровне зачастую понимаю).

Буду премного благодарен за любую помощь!

С уважением, Юрий.

P.S.: мне не обязательно использовать PHP! Мне подойдёт любой язык программирования, только подскажите какой лучше взять для аппаратного ускорения! Подозреваю, что им будет C.



Последнее исправление: intro (всего исправлений: 2)

Ответ на: комментарий от Suntechnic

Я до начала 80х компьютеров-то в глаза не видел. Но когда понадобилось учиться программировать, проблем с доступом к литературе не было никаких, да и вся документация и так была на английском. Понятно, что опыт тех, кто общался с отечественным железом, может несколько отличаться, но как минимум у них у всех должен был быть доступ к тем же самым библиотекам. И, да, минсредмаш, естественно. Кто еще тогда имел доступ к чему бы то ни было?

anonymous
()
Ответ на: комментарий от Suntechnic

Ты дислексик, или просто тупой?

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

anonymous
()
Ответ на: комментарий от intro

На данном этапе да, брутфорс хэшей.

Я конечно прошу прощения, но вы задачу оценили? Я в том смысле, что она вполне себе может быть не решаема даже на куда. Собственно для того и придумали солить пароли, чтобы на существующем оборудовании было невозможно восстановить пароль из хэша. Надо один пароль угадать или есть некая база из 100500 хэшей? Что известно о пароле/паролях. Т.е. для случая десятисимвольного пароля (~20^22 вариантов) за год (~10^8 секунд времени) надо найти железяку которая сумеет считать ~20^14 хэшей в секунду [в цифрах конечно наврал, но что-то около того].

Плюсом (как уже выше сказали) все очень сильно зависит от этого вашего crypt(). Хорошая хэш функция - такая которую очень дорого посчитать.

Tl;dr: в общем случае задача восстановления пароля из хэша не решается, в частных - возможно. Для начала нужно оценить вашу конкретную задачу.

naszar
()
Ответ на: комментарий от anonymous

Моим возрастом ты не интересовался. Ты сделал вывод только на основе доступности к англоязычной литературы, так, что брось упираться и юлить.

Suntechnic ★★★★★
()

Зависит от видеокарты и требуемого КПД. Если Nvidia, то CUDA (C/C++), если RADEON, то AMD FireStream, но я бы рекомендовал в таком случае OpenCL (он медленнее, но работает и на Nvidia и на Radeon).

peregrine ★★★★★
()
Ответ на: комментарий от naszar

Я конечно прошу прощения, но вы задачу оценили? Я в том смысле, что она вполне себе может быть не решаема даже на куда.

Хотя бы попытаться, ну или просто понять как будет выглядеть вариант на ускорении. :)

Надо один пароль угадать или есть некая база из 100500 хэшей?

Один пароль. Насчёт цифр - я сам считать. Если брать к примеру один пароль в секунду, то выходит для перебора пароля от 1 до 10 символов уйдёт год, если разделить перебор на 8.000.000.000 компьютеров. О пароле ничего не известно, кроме самого хэша и соли. По крайней мере на данном этапе.

intro
() автор топика
Ответ на: комментарий от EXL

Читай K&R, потом учи английский

яволь! именно в этом порядке ггг

anonymous
()
21 января 2015 г.
Ответ на: комментарий от EXL

Боресков автор. Написал книгу про CUDA, опираясь на официальный гайд. На торрентах найдешь.

anonymous
()
Ответ на: комментарий от Suntechnic

Моим возрастом ты не интересовался. Ты сделал вывод только на основе доступности к англоязычной литературы, так, что брось упираться и юлить.

Шо, до сих пор даже поздороваться по-английски не можешь? Зато хвастаешься такими вещами, которые приличному человеку стыдно? Вступаешься за таких же оболтусов, которые книжки видели только издалека, всю школу проспали на последней парте, а сейчас рассказывают, что у них учителя плохие были? Вместо того, чтобы честно признать: таки да, я самый натуральный дебил! Этакий клуб таинственных дебилов?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.