Mars: A MapReduce Framework on Graphics Processors

продолжаем перевод свежих анонсов с GPGPU.ORG.

Mars: A MapReduce Framework on Graphics Processors - именно то самое, что написано: это готовая библиотека для Map/Sort/Reduce над данными. В-принципе, для быстрой проверки каких-то идей должно быть очень полезно. Совсем честно, оно вовсе не на произвольных Graphics Processors, а вовсе даже на CUDA. Раздается в исходных текстах.

К библиотеке прилагается статья c тем же названием: Mars: A MapReduce Framework on Graphics Processors, где подробнее написано что, зачем и почему.

Мои комментарии

  1. Я смотрел в исходники, а компилировать пока не пробовал. Исходники приятные для глаза.
  2. В частности приятно то, что реализованы строковые операции, что позволяет развлекаться с текстовыми данными не задумываясь.
  3. С другой стороны, это CUDA 1.x, атомарные операции не используются, а их наличие позволило бы многие вещи упростить.
  4. Интересно что один из тестовых примеров - это сравнение документов на похожесть (по TF*IDF), у авторов получилось примерно 6-кратное ускорение в сравнении с CPU. Я вот про эту тему давно размышляю, ибо "в лоб" она ложится на GPU/CUDA просто великолепно и speedup должен бы получаться еще больше чем в 6 раз (ну, при некоторых допущениях, допустим что векторы достаточно компактные и в shared memory влезают). Но вот для CPU возможны эвристики (естественно, с условными переходами), которые на GPU/CUDA натягиваются туго (по причине этих самых условных переходов) и какая реализация в результате будет эффективнее - мне неясно.

Tags: