Существуют ли реализации MapReduce на графических процессорах (CUDA)? - PullRequest
9 голосов
/ 14 июня 2011

Пока что я знаю о Марсе , хотя как насчет альтернатив?

Ответы [ 2 ]

6 голосов
/ 16 июля 2011

В настоящее время самый простой интерфейс обеспечивается thrust :: redu .

Как вы заметили, существует также Mars .

0 голосов
/ 17 ноября 2017

Несколько лет назад я внедрил кумар .

Поскольку я использовал Mac OS X и компилятор 'nvcc' не был доволен 'лязгом' Apple, я разработал эту библиотеку для чистого C ++ (и разновидности лямбды).

Типичная операция на карте выглядит следующим образом:

//A = B + C, all of length 'n'
cumar::map()("[](double a&, double b, double c){ a = b+c; }" )(A, A+n, B, C);

Для операции уменьшения это выглядит так:

// x = min(A), A of size 'n'
cumar::reduce()( "[](double a, double b){ return a < b ? a : b; }" )(A, A+n);
...