Matrix CUDA线程分配

Matrix CUDA线程分配,matrix,cuda,Matrix,Cuda,我试图在CUDA中实现一个名为“共轭梯度解算器”的迭代线性解算器,该解算器求解形式方程 A*x=b, 其中A是大小为nXn的稀疏对称正定矩阵, x是大小为n的未知向量,初始猜测值为0,且 b是方程右侧大小为n的向量 我的代码中包含了很多操作,比如稀疏矩阵向量乘法、向量运算 我的代码在矩阵大小达到31 X 31,但不超过31 X 31时运行良好。这可能是因为分配给内核函数的线程数。我将线程分配为 mul<<<1,nrows>>>() mul() 这里mul

我试图在
CUDA
中实现一个名为
“共轭梯度解算器”
的迭代线性解算器,该解算器求解形式方程

A*x=b,
其中A是大小为nXn的稀疏对称正定矩阵, x是大小为n的未知向量,初始猜测值为0,且 b是方程右侧大小为n的向量

我的代码中包含了很多操作,比如稀疏矩阵向量乘法、向量运算

我的代码在矩阵大小达到31 X 31,但不超过31 X 31时运行良好。这可能是因为分配给内核函数的线程数。我将线程分配为

mul<<<1,nrows>>>()
mul()
这里mul是用于执行稀疏矩阵向量乘法的函数,nrows是稀疏矩阵中的行数,a

此问题是否与1个包裹大小=32个线程有关

如果有人知道,请建议我


谢谢你

> P>试着从英伟达CUDA样本运行<强>“DeVICE”<强>程序,以获得安装中的翘曲尺寸。如果其显示的扭曲大小=32,则您的问题可能与此相关,否则必须使用特定的代码片段才能给出任何解决方案。

如果没有任何代码,这个问题不可能在没有推测的情况下回答。请附上一份。