14

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

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;
    }
}

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

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

4

2 回答 2

8

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

matrixMul 示例还显示了一个自定义内核,当然它的性能不如 CUBLAS。

于 2011-10-04T15:49:22.250 回答
1

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

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

于 2011-10-08T15:29:17.350 回答