Bolt is a C++ template library optimized for GPUs. Bolt provides high-performance library implementations for common algorithms such as scan, reduce, transform, and sort.
Other
373
stars
65
forks
source link
Bolt1.2: std::partial sum is having compilation issues when we used with UDD by calling transform_iterator. #214
CODE:
int get_global_id(int i);
int global_id;
BOLT_FUNCTOR(UDD_trans, struct UDD_trans { int i ; float f ;
}; );
int get_global_id(int i) { return global_id++; }
BOLT_FUNCTOR(add_UDD, struct add_UDD { int operator() (const UDD_trans x) const { return x.i + 3; } typedef int result_type; }; );
BOLT_TEMPLATE_REGISTER_NEW_ITERATOR( bolt::cl::device_vector, int, UDD_trans); BOLT_TEMPLATE_REGISTER_NEW_TRANSFORM_ITERATOR( bolt::cl::transform_iterator, add_UDD, UDD_trans);
int main() {
std::vector< int > stlOut(length);
return 0; }