1 问题描述
原代码:for(int m=0;m<M;m++)
for(intn=0;n<N;n++)
for(inti=0;i<I;i++)
for(intj=0;j<J;j++)
{
//X条算术运算;(X=6)
B[i][j]= pow(A[i][j],2);
C[ij][]= sqrt(B[i][j]);
……
}
两种并行方式:
1 粗粒度并行:分成X个kernel函数,每个kernel函数里面做两层循环,内层循环并行打开,每个kernel执行一条算数运算。
Kernek_1:for(int m=0;m<M;m++)
for(intn=0,n<N’n++)