我想从满足特定标准的数组中挑选三角形。我将如何在 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];