Как заполнить структуру случайными значениями с помощью PyOpenCL? - PullRequest
0 голосов
/ 22 марта 2020

Можно ли заполнить пользовательскую структуру (или массив пользовательских структур) случайными значениями после того, как я зарегистрировал ее тип? Для «примитивного» типа я могу сделать это следующим образом:

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 «примитивных» типов, которые составляют структуру тип.

...