特定の基準を満たす配列から三角形を選択したいと思います。CUDAでそのようなことをするにはどうすればよいですか?
入力は三角形の配列です。次に、CUDA は各三角形の値を計算します。出力は、値がしきい値 (たとえば 2) より小さい三角形で構成される配列である必要があります。
triangle array: [tri1][tri2][tri3][tri4]
value array: [1.00][0.50][3.50][0.50]
-> pick triangles with value <= 2
output: [tri1][tri2][tri4]
この場合、cudas 並列処理を最適に活用する方法がわかりません。
現時点では、値の配列を mathematica に読み戻し、Cases[] を使用して三角形を選択しますが、これは遅すぎます。
result = CUDAMemoryGet[cOutput];
validTriangleIndices = Cases[Range[Length[result]], x_ /; result[[x]] < threshold];