使用がベータ版からプロダクション版に移行しました。コンパイラで利用できます。LLVMベースのコードジェネレータの両方を使用してサポートされています。コンパイラおよびリンカのコマンドラインに追加します。上にデータを配置する同等の「管理された」データ割り当て呼び出しに置き換えられます。CUDAドライバによって暗黙的に処理されます。データ句とディレクティブは、「管理された」データには必要ありません。それらは本質的に無視され、実際には省略することができます。プログラムが管理されたメモリを割り当てると、デバイスのメモリだけでなくホストの固定メモリも割り当てられます。したがって、割り当てと解放の操作がやや高価になり、データの転送がやや高速になります。メモリプールアロケータは、アロケートおよびフリーオペレーションのオーバーヘッドを軽減するために使用されます。対してデフォルトで有効になっています。存在するとプールアロケータが無効になります。今後のリリースでその制限を解除する作業を進めています。GPUドライバによって制御されます。上でデータにアクセスするたびに、最後にアクセスされたときに同じデバイス上にデータが転送される可能性があります。場合によっては、ページのスラッシングが発生し、パフォーマンスに影響を与えることがあります。概要を紹介しています。この機能には次の制限があります。管理対象メモリの使用は、動的に割り当てられたデータにのみ適用されます。ランタイムによって処理されるため、従来通り、ユーザによるデータ移動管理が必要です。配列ポインタは管理されません。コンパイルし、計算カーネルからそのポインタを介してメモリにアクセスしようとすると、実行時にエラーが発生します。仮想関数はサポートされていません。コンパイラ・オプションを使用する必要があります。使用するときに次の追加制限があります。上のデータの動きは、高速の固定非同期データ転送によって実現されます。プログラムの観点からは、転送は同期的です。使用されている場合、カーネルの同期実行を強制します。オーバーラップの減少により、パフォーマンスが低下する可能性があります。利用可能なデバイスメモリの量に制限されています。サポートされていません。このルーチンは、cudaMalloc()を使用して非ユニファイドメモリを割り当てるよりもオーバーヘッドが高いルーチンです。呼び出し回数が増えるほど、パフォーマンスへの影響が大きくなります。呼び出し回数を最小限に抑えます。プールアロケータは、デフォルトで有効になっています。次の環境変数を使用して無効にするか、動作を変更できます。プールアロケータを無効にします。プールアロケータはデフォルトで有効になっています。無効にするには、PGI_ACC_POOL_ALLOCを0に設定します。プールのサイズを設定します。デフォルトのサイズは1GBですが、他のサイズ(2GB、100MB、500KBなど)を使用できます。実際のプール・サイズは、フィボナッチ・シリーズのサイズが、提供されたサイズまたはデフォルトサイズと比較して、最も近い、より小さい数になるように設定されます。必要であれば、プールアロケータはプールを追加しますが、PGI_ACC_POOL_THRESHOLD値までしか追加しません。割り当ての最大サイズを設定します。割り当てのデフォルトの最大サイズは64Bですが、16B以上であれば別のサイズ(つまり100KB、10MB、250MBなど)を使用できます。割り当てブロックの最小サイズを設定します。デフォルトサイズは16Bですが、他のサイズを使用することもできます。サイズは16B以上でなければなりません。プールアロケータが占めることができるデバイスメモリの合計の割合を設定します。デフォルトは50%に設定されていますが、他のパーセンテージを使用することもできます。アクセラレータコンパイラサイトへページの先頭へ本ページに記述された各製品名は、各社の商標または登録商標です。