CUDA THRUST介绍


一、注意事项

thrust一般还是只能单独(从host中)调用,并不适合和.cu混合使用。
thrust中的算法主要是建立在vector和map<key,value>这两种数据结构之上。
比较适合工程使用,并不能实现复杂的算法;
如果你需要处理big size的vector和map,并且操作都比较简单,可以考虑。

二、算法(翻译自thrust文档)

原文链接

1.Searching

binary search
lower_bound
upper_bound

2.Copying

Gathering
Scattering

copy
swap
一般用于对整个vector的拷贝和互换
不过也可以只操作部分
毕竟参数设计与STL非常相似:
range: [first,last)

3.Reductions

Counting
count(val) 返回等于val的元素个数
count_if(predicate) 返回使predicate(谓词)是真的元素个数

Comparisons
bool equal() 通过逐元素比较,判断两段(range)是否完全相同

Extrema
min_element
max_element
minmax_element 一次性返回最小和最大两个值

Transformed Reductions
inner_product 内积:vec1和vec2的元素对应相乘之后相加

Logical
bool all_of
bool any_of
bool none_of

Predicates
is_sorted()
is_sorted_until() 返回第一个导致unsorted的位置
is_partitioned() 是否所有满足predicate的元素都出现在不满足predicate的元素之前

4.Merging

merge 合并两个有序序列
merge_by_key 合并两个有序map

2.copying

copy
swap
一般用于对整个vector的拷贝和互换
不过也可以只操作部分
参数设计与STL非常相似:
range: [first,last)

未完。。。待续

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。


版权声明:本文为qq_38977514原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。