###前提・実現したいこと
現在、OpenCLでjpegのデコーダを作っています。
ですが、タイトルの通りカーネル関数内で使用する、get_global_id()の使い方が分かりません。
###該当のソースコード
int sl = mProperty.SamplePrecision == 8 ? 128 : 2048;
for(int y = 0; y < 8; y++)
{
for(int x = 0; x < 8; x++)
{
double sum = 0;
for(int v =0; v < 8; v++)
{
double cv = v == 0 ? kDiSqrt2 : 1.0;
for(int u = 0; u < 8; u++)
{
double cu = u ==0 ? kDisSqrt2 : 1.0;
sum += cu * cv *mDctDataA[v * 8 + u] * mCosT[u][x] * mCosT[v][y];
}
}
mBlockA[y * 8 + x] = int(sum / + sl);
}
}
上記の文をOpenCLで処理させる時は
__kernel void addVevtor(__global int *mDctDataA,
__global int *mCosT,
__global int *mBlockA)
{
int a??? = get_global_id(0);
int b??? = get_global_id(1):
int sl = mProperty.SamplePrecision == 8 ? 128 : 2048;
for(int y = 0; y < 8; y++)
{
for(int x = 0; x < 8; x++)
{
double sum = 0;
for(int v =0; v < 8; v++)
{
double cv = v == 0 ? kDiSqrt2 : 1.0;
for(int u = 0; u < 8; u++)
{
double cu = u ==0 ? kDisSqrt2 : 1.0;
sum += cu * cv *mDctDataA[v * 8 + u] * mCosT[u][x] * mCosT[v][y];
}
}
mBlockA[y * 8 + x] = int(sum / + sl);
}
}
}
現在のカーネル関数はこのようになっています。a???とb???の部分をどうすれば良いか分かりません。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
言語:C++(カーネル関数はOpenCL C)
FW:Intel SDK for OpenCL Applications 2016
IDE:visual stdio 2013

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/03 07:20
2016/08/03 07:26