CUDA THRUST介绍

本文介绍了CUDA Thrust库的基础用法,包括搜索(binary_search, lower_bound, upper_bound)、复制(Gathering, Scattering, copy, swap)、归约(计数、比较、极值、内积)以及合并操作。Thrust适用于处理大型向量和映射,适合简单的并行计算任务,与STL接口类似,方便使用。
摘要由CSDN通过智能技术生成


一、注意事项

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值