一段程序代码,需要改成cuda格式之行,可是效果非常差,希望大神看看
小牛牛K 2016-03-09 03:35:22 [code=c]__global__ void LU_SGS(double *temperature) {
int tx = threadIdx.x;
double Residual = NUM;
//int stableTimes = 0;
while (Residual > EPS)
{
Residual = 0.0;
for (int i = NUM - 2; i > 0; i--)
{
double preResidual = temperature[i];
temperature[i] = (temperature[i + 1] + temperature[i - 1]) / 2.0;
Residual += temperature[i] - preResidual;
}
for (int i = 1; i < NUM-1; i++)
{
double preResidual = temperature[i];
temperature[i] = (temperature[i + 1] + temperature[i - 1]) / 2.0;
Residual += temperature[i] - preResidual;
}
//stableTimes++;
}
}
/code]