FGA ライブラリの画像メモリ

FGA 画像オブジェクトが内部で管理する画像メモリについて理解する為には、下に記すように GPU がアクセスするメモリ と CPU がアクセスするメモリが物理的に異なるものであるということを把握しておく必要があります。


デバイスメモリとホストメモリ

通常 CPU が処理を行う際に システムメモリへのアクセスが行われるのに対し、GPU が処理を行う際には GPU ボード上のメモリへの アクセスが行われます。
本マニュアルでは CPU がアクセスするシステムメモリを「ホストメモリ」、GPU がアクセスする GPU ボード上のメモリ を「デバイスメモリ」と記します。

CPU からデバイスメモリに直接アクセスすることはできず、GPU からホストメモリに直接アクセスすることはできません。

fig_device_mem.png


FGA 画像オブジェクトの画像メモリ

FGA 画像オブジェクトは上記の デバイスメモリ を画像メモリとして内部で直接管理します。 (※1)

fnFGA_img_get_adrs() 等の関数により取得することが出来る画像メモリのアドレスは、このデバイスメモリのアドレスとなります。
その為、このアドレスに対し CPU から直接アクセスすることは出来ないことになります。

また fnFGA_img_copy() により行う FIE 画像オブジェクトと FGA 画像オブジェクト間のコピーの際には、 FIE 画像オブジェクトが管理するホストメモリと FGA 画像オブジェクトが管理するデバイスメモリ間での データ転送が行われます。 (※2)

FGA 画像オブジェクトの画像メモリは、デバイスメモリ上で FIE 画像オブジェクトと同じフォーマットで管理されます。 (※3)

これらの事項を踏まえることにより、FGA ライブラリ以外の手段( ユーザー側で用意した CUDA カーネル等 ) から FGA 画像オブジェクトの 画像メモリにアクセスすることが可能となります。
また CUDA Runtime API により外部確保したデバイスメモリから FGA 画像オブジェクトを作成することも可能となっております。
( 詳細は fnFGA_img_root_import_alloc() を参照して下さい。 )

※1.
現時点でこのデバイスメモリの確保は CUDA Runtime API により行われます。
※2.
現時点でこのデータ転送は CUDA Runtime API により行われます。
※3.
FIE 画像オブジェクトの画像メモリフォーマットについては「FIE ライブラリ説明書」を参照して下さい。

Documentation copyright © 2011 FAST Corporation. [B-002483]
Generated on Thu May 20 10:57:53 2021 for FGA ライブラリ by doxygen 1.5.6-FASTSP-p2