2015-11-03 1 views
5

が、私は思ったんだけどどのようにヘテロジニアス・システム・アーキテクチャ(HSA)とこれらの相互作用(すべてであれば)?のDirectX 12 /マントル/バルカンなどのDirectX 12、マントルやバルカンなどの低レベルのグラフィックスAPIの立ち上がりにHSA

私が理解しているように、HSAをサポートするにはいくつかの開発者の関与が必要でしたが、低レベルのグラフィックスAPIがこれを処理するのかどうか、あるいは開発者が十分に活用できるかどうかは不思議です。

HSAは、これらが両方とも同じ物理RAMを共有している場合は特に、システムメモリとビデオメモリの間でデータの簡略化された共有などの機能のために特に興味深いです。

この問題は現在の状況に固有のものである可能性が高いので、私はそのような概観でうまくいきます(将来のロードマップについての情報はうまくいくはずです)。そして、私は単一のグラフィックスAPI (なぜなら、もしあれば、多くの人がHSAを加えた3つのすべてに精通していることを私は疑うからです)。また、私はそれがどのように動作するかについて完全に誤解してしまった場合は、それを指摘することも自由にしてください。私はどちらの技術にも精通していませんが、現在どのように相互作用しているかを知りたいと思います。

答えて

7

低レベルAPIは、彼らが非HSAシステムと呼んでいるものに近いwiki page上の図を見てみます。

enter image description here

すべての操作は、(メモリコピー、ジョブを開始、...)アプリケーションによって明示的に派遣する必要があります。アプリケーションはコマンドバッファー内で順次操作をグループ化し、バッファー全体を一度にディスパッチして、コマンドが非同期で実行されている間は何か他の処理を続けることができます。

一方、伝統的なOpenGLの/ DirectX9のは、すべての派遣やコピーを非表示にすることで、HSAに近いです。ただし、検証でオーバーヘッドが発生し、レイテンシを最小限に抑えるためにアプリケーションが次に実行する処理を予測しようとします。言うまでもなく、同期ルートを持つAPIで操作が完了したかどうかを確認するオプションはほとんどありません。つまり、操作の結果を必要とするメソッドを呼び出すと、(HSA)ドライバーはその操作が完了するまでブロックします。

enter image description here

新しい低レベルのAPIはアプリケーションプログラマに多くの制御を与え、核心ザラザラを隠して止めるという事実に大きなセールスポイントです。

+0

グレート答えが、どのように、これはCPUとiGPUの間で同じメモリを共有することができるというように、HSAの他の機能にも適用されると思いますか? DirectX 12などは、メインメモリ(CPU側)に既にロードされているテクスチャのようなものをコピーすることなく同じことをすることができますか? – Haravikk

+0

@Haravikkハードウェアの配置方法によっては、統合されたGPUには専用メモリがないため、物理RAMを使用することがよくあります。そしてそれはCPUがそのままアクセスすることができます。キャッシュとは、アクセスを同期させ、保護する必要があることを意味します。 –

関連する問題