0

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

1 回答 1

3

正如@talonmies 所说,您没有在问题中提供足够的信息来获得完整的答案。但是,您所描述的内容听起来很适合Thrustcopy_if算法。看看这个例子

于 2013-08-07T08:54:42.390 回答