Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there MapReduce implementations on GPUs (CUDA)?

So far, I'm aware of the Mars, though what about alternatives?

like image 909
Nikita Zhiltsov Avatar asked Jun 14 '11 07:06

Nikita Zhiltsov


2 Answers

At present, the easiest interface is provided by thrust::reduce.

As you noted, there is also Mars.

like image 114
M. Tibbits Avatar answered Oct 15 '22 01:10

M. Tibbits


Years ago I have implemented cumar.

As I was using Mac OS X and 'nvcc' compiler was not happy with Apple's 'clang', I designed this library pure C++ ( and a flavor of lambda ).

A typical map operation looks like this:

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

For reduce operation, it looks like this:

// x = min(A), A of size 'n'
cumar::reduce()( "[](double a, double b){ return a < b ? a : b; }" )(A, A+n);
like image 37
Feng Wang Avatar answered Oct 15 '22 01:10

Feng Wang