CUDAIntro
12/21 ホストとデバイス(2/3)
【テロップ】
※各テロップ文字をクリックすると該当の場所がピンポイントで閲覧できます。
【ノート】
デバイス上のメモリを操作するための3つの関数を示します。それぞれの関数の引数の数や、引数の型や意味を十分理解してください。 まず、最初の関数はクーダマロックといい、デバイス上に配列の領域を確保するのに用いられます。引数は2つ必要です。まず、確保する配列の場所を指定するポインタを与えます。配列のポインタをジーエーとすると、例のように、少し複雑ですが、ポインタのポインタとして指定します。また、サイズも指定します。サイズは、バイト数で指定しますので例のように、サイズオブ関数を用いた書き方が一般的です。 次の関数はクーダメムコピーという関数で、メモリコピーを行う関数です。引数は4個必要とし、送り先のポインタ、送り元のポインタ、サイズ、転送の方向を示します。送り元から送り先にデータが転送されます。送り先、送り元のいずれも配列のポインタをかき、例のような書き方になります。クーダマロックではポインタのポインタでしたが、この関数ではポインタになります。サイズは、クーダマロックと同様の書き方です。方向については、ホストからデバイスへ、か、デバイスからホストへ、か、で記載するものが異なります。長い名前ですが、デバイスとホストの位置が違うだけで似た名前になっています。 ここまで、長い関数名などが出てきていますが、おお文字小文字の組み合わせや、マロックのスペル、メムコピーのスペルに十分注意してください。クーダの部分はいずれも小文字です。 最後の、クーダフリー関数は、確保したデバイス上の配列を解放します。引数は1個で、解放する配列のポインタを書きます。