Advertisement

CUDA 矩阵乘法笔记(一)

阅读量:

简介

本节将对cublasSgemm()函数的应用进行说明。在C/C++编程语言中,二维矩阵通常以行优先的方式存储为一维数组。然而,在显存中,矩阵的存储方式则为列优先。因此,在实际操作过程中,用户可能会对cublasSgemm()函数内各参数的设置产生疑惑。

本文将通过一个具体的矩阵相乘实例,详细阐述cublasSgemm()函数的使用方法。

正文:

以下图中所展示的矩阵运算为例,我们将对其进行详细讲解。

由于GPU显存中矩阵是以列优先的方式进行存储的,若在GPU上直接执行F=D×E的运算,当将结果矩阵从显存中读取并传输至内存时,实际存储的是FT。因此,若我们能够在GPU中计算出FT=ET×DT,那么在将结果传送回内存后,所得到的正是所需的矩阵F。基于上述分析,在GPU中实际执行的运算为FT=ET×DT,待结果返回内存后,即可获得目标矩阵F。接下来,我们将介绍如何通过cublasSgemm()函数来实现FT=ET×DT的计算。该函数的具体输入参数如下所示

复制代码
 cublasStatus_t cublasSgemm (

    
 cublasHandl

全部评论 (0)

还没有任何评论哟~