cuBLAS库入门

cuBLAS:CUDA基本线性代数子程序库(CUDA Basic Linear Algebra Subroutine library)

        最初,为了尽可能地兼容Fortran语言环境,cuBLAS库被设计成列优先存储的数据格式,不过C/C++是行优先的,所以在使用时要注意数据格式。

        要使用 cuBLAS API,应用程序必须在 GPU 内存空间中分配所需的矩阵和矢量,用数据填充它们,调用所需 cuBLAS 函数的序列,然后将结果从 GPU 内存空间上传回主机。cuBLAS API 还提供了用于从 GPU 写入和检索数据的帮助程序函数。

一、数据类型表示

二、 cuBLAS Level-1 Function

官方把常用函数分成了3个等级,Level-1、Level-2、Level-3处理的情境逐渐变得复杂,功能变得强大。

 cublasI<t>amax()

中间的<t>意思是类型,用上面表格中的s、d、c、z(或他们的大写)填充。

此函数用于查找最大幅值元素的(最小)索引。因此,结果是第一个这样的结果

除了上面表格中的四种数据类型,此函数还支持 64 位整数接口

 cublasI<t>amin()

此函数用于查找最小幅值元素的(最小)索引。因此,结果是第一个这样的结果

除了上面表格中的四种数据类型,此函数还支持 64 位整数接口

 cublas<t>asum()

 函数还支持 64 位整数接口

This function computes the sum of the absolute values of the elements of vector .

cublas<t>axpy()

 函数还支持 64 位整数接口

此函数将矢量与标量相乘,并将其添加到矢量中,从而用结果覆盖最新的矢量。

cublas<t>copy

此函数将矢量复制到矢量中。

cublas<t>dot()

 函数还支持 64 位整数接口

此函数计算向量的点积。

cublas<t>nrm2()

这个函数计算向量的欧几里得范数。

 cublas<t>rot()

 函数还支持 64 位整数接口

该函数应用Givens旋转矩阵

cublas<t>rotg()

cublas<t>rotm()

cublas<t>rotmg()

cublas<t>scal()

 函数还支持 64 位整数接口

此函数按标量缩放矢量,并用结果覆盖它。

 cublas<t>swap()

 函数还支持 64 位整数接口

此函数交换向量的元素。

三、 cuBLAS Level-2 Function

2.6.1. cublas<t>gbmv()

此函数支持 64 位整数接口

此函数执行带状矩阵与矢量的乘法

2.6.2. cublas<t>gemv()

此函数执行矩阵向量乘法

2.6.3. cublas<t>ger()

此函数支持64位整数接口。

此函数执行排名1更新

2.6.4. cublas<t>sbmv()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值