CUDA编程练习(十四) Thrust、CuBLAS、CuRAND和CuDNN

1 想法

感觉有用就会记下来

背后原理了解个7788,关注点:

  1. 怎么用的;
  2. 我能用到哪些功能;
  3. 不利于性能的操作有。

为什么不写输入输出?太复杂了,本文是为了让我知道,什么操作依赖什么库,矩阵向量怎么表示。看参数直接看手册或者编辑器提示。

2 汇总

2.1 Thrust

所有的函数名和对象名我都省略了thrust::命名空间限定。

支持很多STL容器!🆗,那就很好用了。相见恨晚。

不要把设备端的数组放在主机端循环执行。否则取一次值,就PCIE传输一次。

无法改变使用哪个流(骗你的,现在可以了)。

数组:host_vector<>, device_vector<>,初始化方式同vector,可以跨设备初始化;

移动数组:使用copy移动数据;

生成数组:generate,可以随机初始化;

排序:背后是鸡排+合并排序;

一些重要操作

  •  二分查找;
  • 归约;reduce
  • 归并;merge
  • 重排;reverse、rotate、shuffle
  • 前缀和;inclusive_scan、exclusive_scan
  • 集合操作;unique1、count
  • 变换;transform

2.2 CuBLAS

是高性能 GPU 线性代数库,用于加速矩阵和向量操作。

其中S和D分别代表单双精度浮点数。

1. 向量加法 (cublasSaxpycublasDaxpy)

2. 矩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值