一、注意事项
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提供了大量能使我们快速便捷地处理数据的函数和方法。