简单的CUBLAS矩阵乘法示例?

Chr*_*ord 10 cuda gpu matrix-multiplication cublas

我正在为CUBLAS寻找一个非常简单的骨骼矩阵乘法示例,它可以将M乘以N并将结果放在P中,用于以下代码,使用高性能GPU操作:

float M[500][500], N[500][500], P[500][500];
for(int i = 0; i < Width; i++){
    for(int j = 0; j < Width; j++)
    {
        M[i][j] = 500;
        N[i][j] = 500;
        P[i][j] = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现使用CUBLAS进行任何类型的矩阵乘法的大多数代码(看似?)过于复杂.

我正在尝试设计一个基础实验室,学生可以在其中比较GPU上的矩阵乘法与CPU上的矩阵乘法的性能,可能是GPU上的性能提升.

Tom*_*Tom 7

SDK包含matrixMul,它说明了CUBLAS的使用.有关更简单的示例,请参阅CUBLAS手册第1.3节.

matrixMul示例还显示了一个自定义内核,当然这不会像CUBLAS那样好.


Chr*_*ord 1

CUBLAS 没有必要证明 GPU 的性能优于 CPU,尽管 CUBLAS 的性能可能会更好。如果给定足够大的数据集,许多简单的 CUDA 实现(包括矩阵乘法)似乎可以超越 CPU,如下所示:

使用 CUDA 显示 GPU 优于 CPU 的最简单示例