結果の配列を生成するカーネルがあり、これらの値の最大値を効率的に見つけたいと思います。配列は、負の値(たとえば-1)でカーネルの先頭で初期化されます。カーネルは、例えば256スレッドの5つのブロックを使用して実行されます。私は有効でないスレッドを終了する必要があり、そのため私のデータのCUDA共有メモリの最大値を見つける
ので、私は時々、256スレッド、50、20などで時々働いています:
は、ここで問題となっています。
共有メモリにはブロックからの結果が書かれていますが、私が触れたように、いくつかの配列には50の結果があり、256の結果はいくつかあります...(共有配列はこのように見えます)8,6,4,9,1、 -1、-1、-1 ...
この場合、効率的に1ブロックで最大値を見つけるにはどうすればよいですか?
これらのタイプのアレイでは並列化が複雑になるでしょうか?これを行う方法 ?
いいえ、私は全く新しいです:) – Hlavson
'terminate'スレッドとはどういう意味ですか?そのスレッドの「返却」を行いますか?これはお勧めできません – pQB
最大値(例:ArrayFire)を見つけるための空きライブラリの1つを使用することを検討しましたか? – arrayfire