これが私がopenCLに変換したいループです。
for(n=0; n < LargeNumber; ++n) {
for (n2=0; n2< SmallNumber; ++n2) {
A[n]+=B[n2][n];
}
Re+=A[n];
}
そして、これが私がこれまでに持っているものですが、それは正しくなく、いくつかのことが欠けていることを私は知っています。
__kernel void openCL_Kernel( __global int *A,
__global int **B,
__global int *C,
__global _int64 Re,
int D)
{
int i=get_global_id(0);
int ii=get_global_id(1);
A[i]+=B[ii][i];
//barrier(..); ?
Re+=A[i];
}
私はこの種のことの完全な初心者です。まず第一に、私はグローバルダブルポインターをopenCLカーネルに渡すことができないことを知っています。可能であれば、解決策を投稿する前に数日ほど待ってください。私はこれを自分で理解したいと思いますが、正しい方向に私を向けるのを手伝っていただければ幸いです。