我有以下紧密循环构成了我的代码的串行瓶颈。理想情况下,我会并行化调用它的函数,但这是不可能的。
//n is about 60
for (int k = 0;k < n;k++)
{
double fone = z[k*n+i+1];
double fzer = z[k*n+i];
z[k*n+i+1]= s*fzer+c*fone;
z[k*n+i] = c*fzer-s*fone;
}
是否可以进行任何优化,例如矢量化或一些可以帮助此代码的邪恶内联?
我正在寻找三对角矩阵的特征解。http://www.cimat.mx/~posada/OptDoglegGraph/DocLogisticDogleg/projects/adjustedrecipes/tqli.cpp.html