1

複数の配列を返すデバイス関数を書きたい場合、cuda.jit デコレータの正しい構文を知っている人はいますか?

デバイス関数が 1 つの float を返し、2 つの整数パラメーターを持つ場合、デコレーターは次のようになります。

@cuda.jit('float64(int64,int64)', device=True, inline=True)

ここで、関数が 2 つの整数パラメーターと 2 つの浮動小数点数を取り、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 を使用しているので、これが機能し、配列はそれぞれのスレッドによってのみアクセス可能になると思われますよね?

4

1 に答える 1