Возможен ли парсинг на GPU?

Есть парсер, который обрабатывает миллионы записей. Просадка идет на 80% по процессору. Остальное я так думаю IO. Возможно ли текстовую информацию обрабатывать на GPU. Мне хотелось бы иметь несколько сотен или даже тысяч ядер.

Подобные задачи вообще на GPU решаются?
  • Вопрос задан
  • 808 просмотров
Пригласить эксперта
Ответы на вопрос 6
xez
@xez
TL Junior Roo
Определенно, возможен.
Вот например: https://github.com/antonmks/nvParse
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Начните отсюда.

Просадка идет на 80% по процессору
считывайте данные крупными блоками и обрабатывайте в асинхронном мультипоточном режиме.
Ответ написан
Комментировать
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Для начала надо найти, что именно потребляет процессор и выяснить поддаётся ли оно векторизации. GPU - не волшебная палочка, не всё может.
Ответ написан
Комментировать
gbg
@gbg
Любые ответы на любые вопросы
Очень зависит от задачи, вероятно нет, потому что парсинг обрабатывает данные одномерно и часто возвращается назад. Кроме того, это задача с низкой локальностью данных, а значит, много времени будет уходить на пересылки.

GPU быстро работает тогда, когда нужно перемолоть много данных с минимумом ветвелений. Парсинг этому противоположен по структуре алгоритма.
Ответ написан
Комментировать
profesor08
@profesor08
Попробуй Nvidia Cuda, позволяет решать задачки на гпу, и ты вполне сможешь что-то распарсить.
Ответ написан
Комментировать
Jump
@Jump
Системный администратор со стажем.
Теоретически можно. Практически маловероятно.
GPU дает хорошую вычислительную мощность, и с распаралеливанием задач при парсинге проблем нет, но надо понимать что GPU это узкоспециализированный процессор, выполняющий определенный тип вычислений.

В общем все зависит от того что за данные вы парсите, но мне трудно представить такие данные которые можно успешно считать на ГПУ.

Начинать надо с распараллеливания и оптимизации на стандартных процессорах, а уж потом, выявив участки которые можно перенести на ГПУ, думать о том как их перенести и будет ли смысл.

Мне хотелось бы иметь несколько сотен или даже тысяч ядер.
Попробуйте распределенные вычисления.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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