Кто-нибудь знает, каков правильный синтаксис декоратора cuda.jit, если вы хотите написать функцию устройства, которая возвращает несколько массивов?
Если моя функция устройства должна возвращать одно число с плавающей запятой и иметь два целочисленных параметра, мой декоратор будет:
@cuda.jit('float64(int64,int64)', device=True, inline=True)
Теперь я хочу, чтобы моя функция принимала два целочисленных параметра и два числа с плавающей запятой и возвращала 2 массива чисел с плавающей запятой и 2 массива целых чисел одинаковой длины (между 3 и 5), которая зависит от входных аргументов. Как я могу это сделать? Будет ли это правильно:
@cuda.jit(restype=[float64[:], int64[:], float64[:], int64[:]], argtypes=[int64, int64, float64, float64], device=True, inline = True)
Также в моей функции я бы создал массивы, которые хочу вернуть, используя: cuda.local.array()
Поскольку я использую inline=True, я подозреваю, что это сработает, и массивы будут доступны только соответствующему потоку, верно?