0
もし私がいくつかのストライドを持ったC++のforループを持っていたら、どうすればOpenCLカーネルでそれを並列化できますか?例えばOpenCLでのストライドを伴うループ
:私は、ループを並列化したい場合にOpenCLでは
for(int i=0;i<100;i++4)
for(int j=0;j<60;j++4)
{
a[i]= b[j]+2;
}
、私は"/"または"%"を使用して考えることができますが、他の解決策はありますか? 私はこのようなものを考えています:
int id1= get_global_id(0);
int id2= get_global_id(1);
if((id1%4==0) && (id2%4==0))
{
a[id1] = b[id2]+2;
}
これは、私が知りたいと、どのようにストライドを扱うことができ、一例に過ぎません。他の方法はありますか?
どのデータ型がaおよびbですか? (私は整数と仮定します)2つのリストに含まれるエントリの数はいくつですか? – mfa
あなたがコードをまとめて読み書きするように手配しないと、テーブルに多くのパフォーマンスが残されます。 – Dithermaster