LINUX.ORG.RU
ФорумTalks

grep + CUDA = …

 ,


0

1

Представлен вариант утилиты Grep и связанной с ним реализации регулярных выражений, отличающихся задействованием CUDA для распараллеливания операций и их выноса на плечи GPU. Код утилиты и библиотеки регулярных выражений распространяется под лицензией MIT.

В зависимости от особенностей обрабатываемых данных CUDA grep демонстрирует в 2-10 раз более высокую производительность по сравнению с обычным grep. По сравнению с движком регулярных выражений Perl заявлено о достижении ускорения в 68 раз, но, судя по всему, подобный результат получен из-за ошибок (/^$line$/ вместо /^$re$/) и неверной логики организации циклов (перечитывание файла данных для каждого регулярного выражения) в тестовом файле (представленный на GitHub тестовый файл вообще неработоспособен, но возможно при тестировании использовался исправленный на уровне синтаксиса вариант, но сохранивший логические ошибки).

http://opennet.ru/opennews/art.shtml?num=37076

★★★★★

А как это «ускорение» вкючается? Накладываем патч и запускать с ключом --cuda? Хочется сделать кнопку TURBO и повесить на неё алиас grep=«grep --cuda».

CYB3R ★★★★★ ()

CUDA

результат получен из-за ошибок и неверной логики организации циклов

представленный на GitHub тестовый файл вообще неработоспособен

Похоже какой-то первокур свой троечный курсач выложил.

kranky ★★★★★ ()

Демонстрирует в 2-10 раз более высокую производительность по сравнению с обычным grep.

В принципе нормальный результат для обработки строк. Правда OpenCL на подобных задачах работает почему-то медленнее SIMP (SSE2).

DNA_Seq ★★☆☆☆ ()

а что, тормоза грепа по вагону файлов не из-за i\o? Как оно работает?

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

Если ищешь тупо подстроку, то да, упрётся в I/O, а если достаточно сложную регулярку, то в процессор. Вот работу с регулярками и оптимизировали.

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