我想用2个非方矩阵进行矩阵乘法,(2000,100),(100,100),我尝试在Nvidia示例中使用块子矩阵,但结果是错误的,我在这里找到了一个求解的方法。 Non Square Matrix Multiplication in CUDA 它使用零填充,因此我将块大小更改为16,但它的工作组大小错误, 我使用pyopencl并且不能使用Blas等。
答案 0 :(得分:0)
迄今为止我在这个主题上看过的最好的演讲之一是AFDS 2011。
他们的矩阵很大 - 包装大小 - 非方形。您可以将其主GPU内核的块大小从1024缩小到更小(32,64,128?),以更好地解决您的问题,甚至可能适合您硬件上的LDS。演示者使用CPU来处理GPU未触及的不规则尺寸区域。