我正在为CUBLAS寻找一个非常简单的骨骼矩阵乘法示例,它可以将M乘以N,并使用高性能GPU操作将结果放在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上的性能提升。
答案 0 :(得分:7)
SDK包含matrixMul,它说明了CUBLAS的使用。有关更简单的示例,请参阅CUBLAS manual部分1.3。
matrixMul示例还显示了一个自定义内核,当然这不会像CUBLAS那样好。
答案 1 :(得分:1)
CUBLAS没有必要显示GPU胜过CPU,尽管CUBLAS可能会超越它。如果给出足够大的数据集,许多直接的CUDA实现(包括矩阵乘法)似乎可以胜过CPU,如下所述:
Simplest Possible Example to Show GPU Outperform CPU Using CUDA