web-dev-qa-db-ja.com

グラフィックカードには独自の命令セットがありますか?

グラフィックカードには独自の命令セットがありますか?私はそうしていると思いますが、それがプロプライエタリなのか、それとも何らかのオープンスタンダードがあるのか​​疑問に思っていました。

すべてのGPU命令の前にCPU命令がありますか、それともシームレスですか?つまり、バスを介してGPU命令を送信するCPUを介してドライバーレイヤーでOpenGLまたはDirectX呼び出しを行うか、より複雑です。

40
Matt

はい、彼らはやる。 AMDは現在、HD4000シリーズまでの仕様も提供しています。

ここを見てください: http://developer.AMD.com/wordpress/media/2012/10/R700-Family_Instruction_Set_Architecture.pdf

NV命令セットのリバースエンジニアリングを行うNouveauと呼ばれるオープンソースプロジェクトもあります。

NVIDIAのアーキテクチャはAMDとは少し異なることに注意してください。それらはVLIWではなくスカラー実行を使用しているためです(ただし、複数のスレッドは、ワープまたはウェーブフロントと呼ばれるものにさらにグループ化されます)。

また、すべてのOpenGL/Direct3D呼び出しが「GPU命令」にマッピングされるわけではありません。たとえば、テクスチャをバインドする場合、ドライバーは、サンプリングに使用するテクスチャメモリをGPUに通知する適切なハードウェアレジスタのみを設定します。

実際のプログラムは、GPUでシェーダーまたはストリーム処理カーネルを実行するときにのみ実行されます。

35
Axel Gneiting

現在、NVIDIAカードは、ある種の中間ISA PTXと呼ばれています。これについては、このドキュメントで読むことができます。

PTX ISA 1.1

PTXプログラムは、インストール時にターゲットハードウェア命令セットに変換されます。

5
Locke

はい、GPUには独自の命令セットがあります。 GPU命令は、CPU命令から独立して実行されます。

5
swegi

AMD Graphics Core Next(GCN)

https://en.wikipedia.org/wiki/Graphics_Core_Next

初代は「南の島」と呼ばれています。

Wikiページは、ISAを文書化するAMD仕様にリンクしています。例: http://developer.AMD.com/wordpress/media/2012/12/AMD_Southern_Islands_Instruction_Set_Architecture.pdf

MIAOW https://github.com/VerticalResearchGroup/miaow と呼ばれるオープンなRTL実装さえありますが、AMDが今のところ黙って許容することを選択したIPを侵害している可能性があります( ソース )。

SPIR-V

https://en.wikipedia.org/wiki/Standard_Portable_Intermediate_Representation は、Krhonos標準の中間言語です。

既存のGPU ISAと同様に設計されている可能性が高いため、実装が容易になり、採用率が向上するため、実際のGPU ISAの良いアイデアが得られます。

そして、VulkanとOpenCL 2.1での採用が原因であると思われるように、この標準が普及した場合、将来の実装は、より優れたパフォーマンスを持つように実装するように設計される可能性があります。

PTXを取得および変更する方法

GPUアセンブラの作成または操作方法

関連

https://computergraphics.stackexchange.com/questions/7809/what-does-gpu-Assembly-look-like

Nvidiaカードについては、このドキュメントをご覧になることをお勧めします http://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#instruction-set-ref

3
George HTz

参照:CUDAプログラミングガイドバージョン3.0

デバイスの計算機能は、メジャーリビジョン番号とマイナーリビジョン番号によって定義されます。

メジャーリビジョン番号が同じデバイスは、コアアーキテクチャが同じです。 Fermiアーキテクチャに基づくデバイスのメジャーリビジョン番号は2です。以前のデバイスはすべて計算機能1.xです(メジャーリビジョン番号は1)。

マイナーリビジョン番号は、コアアーキテクチャの段階的な改善に対応しており、新しい機能が含まれる可能性があります。

付録Aは、すべてのCUDA対応デバイスとその計算機能のリストです。付録Gに、各コンピューティング機能の技術仕様を示します。

2
TI.