Я хотел бы выбрать треугольники из массива, удовлетворяющего определенным критериям. Как бы я сделал что-то подобное в CUDA?Выбор элементов массива с использованием 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]
Я не уверен, как оптимально использовать кудас-параллелизм в этом случае.
На данный момент я считываю массив значений обратно в математику и использую Cases [] для выбора треугольников, которые слишком медленны.
result = CUDAMemoryGet[cOutput];
validTriangleIndices = Cases[Range[Length[result]], x_ /; result[[x]] < threshold];
Что такое «треугольник» в вашем примере использования? Является ли это структурой или векторным типом того, что. Подробности имеют значение, и я не уверен, что вы достаточно подробно описали свою проблему, чтобы ответить на этот вопрос. – talonmies