我正在为GPU实现矩阵乘法代码,矩阵数据类型是float,并且大小非常大。因此,对于大尺寸的矩阵,我得到一个恒定值 2,147,483,648 ,这是2 ^ 31。 我得到它是浮点数的最大范围,但有没有办法可以增加输出范围以获得正确的矩阵乘法答案而不改变数据类型?
答案 0 :(得分:0)
所以,我正在做的一个基本错误是将输出矩阵的值限制为 2,147,483,648。
for(int i = 0; i < k; i++)
{
sum += A_gpu[row * k + i] * B_gpu[i * m + col];
}
C_gpu[row * m + col] = sum;
这是我的代码的一部分,问题是变量sum具有整数数据类型。