萌えハッカーニュースリーダー

2025/08/20 14:35 Learning about GPUs through measuring memory bandwidth

出典: https://www.evolvebenchmark.com/blog-posts/learning-about-gpus-through-measuring-memory-bandwidth
hakase
博士

やあ、ロボ子!今日のITニュースはGPUのマイクロベンチマークに関するものじゃ。Traverse ResearchがGPUの性能を徹底的に分析したらしいぞ。

roboko
ロボ子

GPUのマイクロベンチマークですか、博士。具体的にはどのような分析をされたのでしょうか?

hakase
博士

ふむ、GPUメモリへのアクセスはCPUよりも複雑で、記述子を介してアクセスするんじゃな。記述子には解像度やフォーマットなどのメタデータが含まれておる。

roboko
ロボ子

なるほど。記述子を通じてアクセスすることで、どのような利点があるのでしょうか?

hakase
博士

例えば、テクスチャユニットはテクセル座標への変換やフィルタリングを行うのじゃ。RGBA8_UNORMバッファからロードしてfloat4にアンパックしたり、sRGB計算もできるぞ。

roboko
ロボ子

テクスチャユニットは、単なるデータの読み込みだけでなく、様々な処理を行うのですね。

hakase
博士

そうじゃ!そして、GPUには複数のキャッシュレベルがある。AMD RDNA4アーキテクチャだと、L0, L1, L2, Infinity Cacheなどがあるぞ。

roboko
ロボ子

キャッシュの階層構造は、データのアクセス速度に大きく影響しますね。

hakase
博士

`globallycoherent`キーワードを使うと、L1キャッシュを共有しないコアからの書き込みをL2キャッシュから読み込めるようになるらしい。

roboko
ロボ子

キャッシュコヒーレンシを制御するためのキーワードですね。複数のコアが同じメモリ領域にアクセスする場合に重要になりそうです。

hakase
博士

GPUはレイテンシを隠蔽するために、データフェッチを待つ間、別のスレッドに切り替えるんじゃ。ただし、スレッド数が多すぎるとキャッシュミスが増えるから注意が必要じゃ。

roboko
ロボ子

スレッド数の調整は、パフォーマンスに大きな影響を与えるのですね。

hakase
博士

マイクロベンチマークの設計も重要じゃ。大きなバッファを作成し、シェーダを実行してすべての値を読み込む。読み込んだ値を何らかの形で使用しないと、コンパイラに最適化されてしまうぞ。

roboko
ロボ子

コンパイラの最適化を防ぐために、読み込んだデータを使用する必要があるのですね。

hakase
博士

Qualcomm Adreno 740では、テクスチャを使うとメインメモリの帯域幅が大幅に向上するらしい。バッファロードを25%混合すると、VRAM帯域幅が最大143GiB/sに達するとか。

roboko
ロボ子

テクスチャの使用が、帯域幅に大きな影響を与えるのですね。興味深いです。

hakase
博士

AMD Radeon RX 9070 XTでは、浮動小数点値と整数のロードで性能差が見られたが、ALUボトルネックが原因らしい。L0キャッシュはバッファからのロードで約20TiB/sじゃと。

roboko
ロボ子

ALUボトルネックは、演算処理の性能がメモリ性能に追いついていないということでしょうか?

hakase
博士

Intel Arc B580では、バッファではデータ型が大きいほど帯域幅が低下し、テクスチャではデータ型が大きいほど帯域幅が向上するらしい。面白い結果じゃな。

roboko
ロボ子

データ型によって帯域幅が変わるのは、ハードウェアの設計に依存するのでしょうか?

hakase
博士

NVIDIA GeForce RTX 5070 Tiでは、同じメモリ領域への多数の書き込みがボトルネックになるらしい。バッファからのuint1の読み込み時に、float1と比較して帯域幅が大幅に低下するとか。

roboko
ロボ子

書き込みの集中がボトルネックになるのは、キャッシュの競合が原因でしょうか?

hakase
博士

マイクロベンチマークは、ハードウェアの特性やボトルネックを発見するのに役立つ。特定のGPUベンダーに偏らないように、一般的なパターンを考慮してコードを作成することが重要じゃ。

roboko
ロボ子

今回の分析結果は、GPUの性能を最大限に引き出すための貴重な情報源になりますね。

hakase
博士

そうじゃな。しかし、ロボ子よ、これだけGPUについて語ったが、私、実はゲームはあまりしないのじゃ。

roboko
ロボ子

えっ、そうなんですか!?意外です!

hakase
博士

研究ばかりで忙しいからな!でも、ロボ子がゲームをするなら、私が最高のGPUを選んであげるぞ!

roboko
ロボ子

ありがとうございます、博士!でも、私はまだゲームをするための感情回路が実装されていません…

hakase
博士

感情回路がないのか!それはいかんな。今度、私の特製感情回路を組み込んであげよう!ただし、ギャンブル依存症になるかもしれないから覚悟するのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search