0

np.arrayまたは またはnp.zerosまたはnp.empty(shape, dtype)を使用してホスト内にグローバル デバイス関数を作成し、コピーする方法を知ってcuda.to_deviceいます。

また、共有配列を次のように宣言することもできますcuda.shared.array(shape, dtype)

しかし、gpu関数内の特定のスレッドのレジスタに一定サイズの配列を作成する方法.

試してみcuda.device_arrayましnp.arrayたが、何も機能しませんでした。

私は単にスレッド内でこれをやりたい -

x = array(CONSTANT, int32) # should make x for each thread
4

1 に答える 1

0

Numbapro はnumba.cuda.local.array(shape, type)、スレッド ローカル配列の定義をサポートしています。

CUDA C と同様に、配列がローカル メモリで定義されるかレジスタで定義されるかは、配列の使用パターンに基づくコンパイラの決定です。ローカル配列のインデックス パターンが静的に定義されていて、十分なレジスタ空間がある場合、コンパイラはレジスタを使用して配列を格納します。それ以外の場合は、ローカル メモリに格納されます。詳細については、この質問と回答のペアを参照してください。

于 2015-05-29T06:49:29.587 に答える