【发布时间】:2012-02-27 10:31:31
【问题描述】:
我需要在下面的代码中尽量减少失败的总数,任何人都可以快速浏览一下并告诉我应该在哪里努力吗? 我已经尝试了几个性能分析器,但结果无关紧要..
int twoDToOneD(int i, int j, int nRows)
{
return j*nRows + i;
}
double* addMatrices(int m, int n, double* A, double* B, bool add)
{
double* C = new double[m*n];
double* pA = A;
double* pB = B;
double* pC = C;
int i = m*n;
while(i--)
{
if(add)
{
*pC = *pA + *pB;
} else
{
*pC = *pA - *pB;
}
pC++;
pA++;
pB++;
}
return C;
}
谢谢, 乔
【问题讨论】:
-
有什么理由不能使用 SIMD?并且看到这都是基于矩阵的,它可能作为 GPGPU 内核表现最好
-
是的,你可以在从vc6开始的任何版本中使用,更多的是你的目标平台是否支持SSE1/2/3/4