到目前为止,我知道Mars,虽然有什么替代方案?
答案 0 :(得分:6)
目前,最简单的界面由thrust::reduce提供。
如您所述,还有Mars。
答案 1 :(得分:0)
多年前我实施了cumar。
因为我使用的是Mac OS X和' nvcc'编译器对Apple' clang'不满意,我设计了这个库纯C ++(和lambda的味道)。
典型的地图操作如下所示:
//A = B + C, all of length 'n'
cumar::map()("[](double a&, double b, double c){ a = b+c; }" )(A, A+n, B, C);
对于reduce操作,它看起来像这样:
// x = min(A), A of size 'n'
cumar::reduce()( "[](double a, double b){ return a < b ? a : b; }" )(A, A+n);