Можно ли заполнить пользовательскую структуру (или массив пользовательских структур) случайными значениями после того, как я зарегистрировал ее тип? Для «примитивного» типа я могу сделать это следующим образом:
from pyopencl.clrandom import rand as clrand
import pyopencl.cltypes as cltypes
a = clrand(queue, (1024,), dtype=cltypes.float, a=-10.0, b=10.0)
Вышеуказанный метод работает даже для векторных типов (например, массив значений float4
):
a = clrand(queue, (1024,), dtype=cltypes.float4, a=-10.0, b=10.0)
Есть ли способ сделать это для структур? Например, если у меня есть структура с int16 и float32, я ожидал бы, что подобный синтаксис создаст такие случайные структуры, где каждая структура в массиве была инициализирована рекурсивно, используя соответствующий RNG «примитивных» типов, которые составляют структуру тип.