6

DirectX 12、Mantle、Vulkan などの下位レベルのグラフィックス API の台頭に伴い、これらが異種システム アーキテクチャ (HSA) とどのように相互作用するのか (もしあったとしても) 疑問に思っています。

私が理解しているように、HSA のサポートには開発者の関与が必要でしたが、低レベルのグラフィックス API のいずれかがこれを処理するようになったのか、それとも開発者がそれを十分に活用する負担が残っているのかに興味があります。

HSA は、特にシステム メモリとビデオ メモリが同じ物理 RAM を共有している場合に、システム メモリとビデオ メモリの間でデータを簡単に共有するなどの機能に特に役立ちます。

この質問は現在の状況に固有のものである可能性が高いため、そのような概要で問題ありません (ただし、将来のロードマップに関する情報は良いでしょう)。単一のグラフィックス API のみをカバーする回答を受け入れます (疑わしいため)多くの人は、3 つすべてに加えて HSA に精通しています)。また、それがどのように機能するかを完全に誤解している場合は、それも遠慮なく指摘してください。私はどちらのテクノロジーにもあまり詳しくありませんが、現在それらがどのように相互作用しているかを知りたいです.

4

1 に答える 1

7

wiki ページの図を見ると、低レベル API は非 HSA システムと呼ばれるものに近いものになっています。

ここに画像の説明を入力

すべての操作 (メモリーのコピー、ジョブの開始など) は、アプリケーションによって明示的にディスパッチされる必要があります。ただし、アプリケーションはコマンド バッファー内のシーケンシャル操作をグループ化し、バッファー全体を一度にディスパッチして、コマンドが非同期で実行されている間に別の操作を続行できます。

一方、従来の openGL/DirectX9 は、すべてのディスパッチとコピーを非表示にすることで、HSA に近づきます。ただし、これにより、検証のオーバーヘッドが発生し、レイテンシを最小限に抑えるためにアプリケーションが次に何をするかを予測しようとします。言うまでもなく、同期ルートを持つ API で操作が完了したかどうかを確認するオプションはほとんどありません。これは、操作の結果を必要とするメソッドを呼び出した場合、(HSA) ドライバーはその操作が完了するまでブロックすることを意味します。

ここに画像の説明を入力

新しい低レベル API によって、アプリケーション プログラマーがより詳細に制御できるようになり、本質を隠す必要がなくなることが、実際には主要なセールス ポイントです。

于 2015-11-03T12:18:57.117 に答える