代码编织梦想

2.6.22. cublashpr()

在这里插入图片描述

cublasStatus_t cublasChpr(cublasHandle_t handle, cublasFillMode_t uplo,
                          int n, const float *alpha,
                          const cuComplex       *x, int incx,
                          cuComplex       *AP)
cublasStatus_t cublasZhpr(cublasHandle_t handle, cublasFillMode_t uplo,
                          int n, const double *alpha,
                          const cuDoubleComplex *x, int incx,
                          cuDoubleComplex *AP)

此函数执行打包的 Hermitian rank-1 更新

A = α x x H + A A=\alpha xx^H + A A=αxxH+A

其中 A 是以列优先格式存储的 NxN Hermitian 矩阵,x 是向量, α \alpha α 是标量。

如果 uplo == CUBLAS_FILL_MODE_LOWER 则将Hermitian 矩阵 A(i,j) 下三角部分的元素逐列无间隙地打包在一起,使得元素存储在内存位置 AP[i+((2*n -j+1)*j)/2] 对于 j=1,…,n 和 i>=j 。 因此,打包格式只需要 n(n+1)/2 个元素进行存储。

如果 uplo == CUBLAS_FILL_MODE_UPPER 则将Hermitian 矩阵上三角部分的元素逐列无间隙地打包在一起,使得元素存储在内存位置 AP[i+(j*(j+1))/2 ] 对于 j=1,…,n 和 i<=j 。 因此,打包格式只需要 n(n+1)/2 个元素进行存储。

Param.MemoryIn/outMeaning
handleinputhandle to the cuBLAS library context.
uploinputIndicates if matrix A lower or upper part is stored, the other Hermitian part is not referenced and is inferred from the stored elements.
ninputnumber of columns of matrix A.
alphahost or deviceinput<type> scalar used for multiplication.
APdeviceinput/output<type> array with A stored in packed format. The imaginary parts of the diagonal elements are assumed and set to zero.
xdeviceinput<type> vector with n elements if transa == CUBLAS_OP_N and m elements otherwise.
incxinputstride between consecutive elements of x.

该函数可能返回的错误值及其含义如下所列。

ErrorValueMeaning
CUBLAS_STATUS_SUCCESS操作成功完成
CUBLAS_STATUS_NOT_INITIALIZED库未初始化
CUBLAS_STATUS_INVALID_VALUEIf n < 0 or if incx == 0 or if uplo != CUBLAS_FILL_MODE_UPPER ,CUBLAS_FILL_MODE_LOWER or if lda < max(1, n) oralpha == NULL
CUBLAS_STATUS_EXECUTION_FAILED该功能无法在 GPU 上启动

详细信息, 请参考:

chpr, zhpr

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/kunhe0512/article/details/128012656

cocos2d-x学习(2) - cocos2d运行分析-爱代码爱编程

1、Cocos2d-x程序运行过程 Cocos2d-x工程组织形式如图所示: Classes一般用来放用户自己编写的类。在Win32下,可以看到main.cpp和main.h两个文件,程序的入口就是在main.cpp中。 int APIENTRY _tWinMain(HINSTANCE hInstance,

linux内核中NCFGR,The Linux-IrDA Project-爱代码爱编程

You can subscribe to this list here. 2001 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec (1) 2008 Feb Mar (7) Apr (8) May (6) Jun (7) Jul (5) Aug Se

海康SDK开发1---demo文件部署运行-爱代码爱编程

在接下来一段时间,本博客将由浅入深逐渐讲解利用海康SDK对前端监控设备如何进行二次开发。 在开始使用海康SDK时,首先会使用到海康官网提供的demo文件进行了解,但是由于海康SDK的demo文件注释文件较少,所以在第一次使用的过程中,会遇到部署运行不成功。下来我们将逐步讲解,如何对海康提供的demo文件进行部署运行。 步骤一:登录海康官方进行demo文

mit6.006-爱代码爱编程

一、回顾 数据结构操作,最坏情形O容器(container)静态(static)动态(dynamic)顺序(order)build(X)find(k)insert(x)delete(k)find_min()find_

正算主程序(zs-7.1)《七一大道》-爱代码爱编程

正算主程序(ZS-7.1)《七一大道》 FIX4:“k” ?S:“z-,y+”?Z:Prog “PM-SJ-7.1”: Abs(S-O) → W:Prog "SUB1": "XS=":X◢ "YS=":Y◢ F-90→F(需要时可以让他显示):Prog“SQX-SJ-7.1”: Prog“SQX”:“HS=”:H◢ 反算主程序(FS-7.1) “k