15
AMDが論争に対処:RDNA 3シェーダのプリフェッチは問題なく動作

AMD RDNA 3 GPU アーキテクチャの詳細

(画像提供:AMD)

AMD の RDNA 3 GPU でシェーダ プリフェッチ機能が壊れているという報告は、AMD がTom's Hardwareに出した声明によると正確ではないようです。

「以前のハードウェア世代と同様に、シェーダープリフェッチはRDNA 3でサポートされています([gitlabリンク])。問題のコードは実験的な機能を制御しており、これらの製品への組み込みは想定されておらず、この世代の製品では有効化されません。将来の製品世代への展開に向けた調査と調整を可能にするために実験的な機能を組み込むことは、業界の一般的な慣行です。」— Tom's HardwareのAMD広報担当者より。

AMDのこの声明は、RDNA 3グラフィックカードに搭載されている最近発売されたNavi31シリコンに「シェーダープリフェッチハードウェアが動作しない」というメディア報道の直後に発表された。この憶測の発信元である@Kepler_L2は、Mesa3Dドライバのコードを引用し、シリコンのA0リビジョン(CHIP_GFZ1100、CHIP_GFX1102、CHIP_GFX110)の一部GPUではシェーダープリフェッチが動作しない可能性を示唆していると述べた。

しかし、AMDの声明によると、Kepler_L2氏が引用したコードはRDNA 3の最終製品には搭載されない実験的な機能に関するものであったため、現在は無効化されているとのことです。AMDは、新しいシリコンに実験的な機能を組み込むことはかなり一般的な慣行であると指摘しており、これは事実です。CPUなど、他の種類のプロセッサでも同様のアプローチが採用されているのを目にすることはよくあることです。 

例えば、AMDはRyzen 3000シリーズの全世代に3D V-Cacheの有効化に必要なTSVを搭載して出荷しましたが、Ryzen 5000シリーズの最後の最後までこの機能は採用されませんでした。同様に、Intelも最終製品には採用されない可能性のある機能を頻繁に追加しており、最近の例としてはDLVR機能があります。

当然のことながら、「実験的」な機能が完全に正常に動作する場合、追加の調整(3D V-Cacheに必要な追加のL3キャッシュスライスなど)を必要としない限り、最終製品に組み込まれるだろうと推測されます。つまり、「実験的」な機能と「あれば便利だが、必須ではない、あるいはターゲット達成に必須ではない」機能の境界線は曖昧になる可能性があります。いずれにせよ、AMDはRDNA 3のプリフェッチ機構は意図したとおりに動作すると述べています。

もう一つの懸念材料は、AMDがRDNA 3シリコンにA0ステッピングを採用していることです。これは、このチップの物理的に未修正の初めてのバージョンであることを意味します。そのため、AMDが「未完成のシリコン」を出荷しているという主張が飛び交っていますが、そのような憶測は根拠がありません。

AMDは、RDNA 3 CPUの第一波にA0シリコンを採用したかどうかについての問い合わせには回答しなかったが、業界筋によると、Navi31にはA0シリコンを採用していたという。実際、同社は6000シリーズのほぼ全てと5000シリーズの大半にA0リビジョンのシリコンを採用して発売したと聞いている。

これは「未完成製品」を意味するものではありません。すべての設計チームの目標は、最初の試作段階で設計を完成させ、実際に動作し、出荷可能なシリコンを完成させることです。例えば、NVIDIAもA0ステッピングのシリコンを頻繁に出荷しています。

マイクロプロセッサは、その寿命を通じて複数のリビジョンを経ることがあります。これは多くの場合、バグやエラッタの修正、あるいは性能向上を目的としています。一般的に、工場から出荷されるシリコンの最初のリビジョンはA0で、その後の「マイナー」リスピン(金属層の変更)はA1、A2などに分類されます。シリコンのリビジョンは「B」やそれに続くアルファベットに変更されるなど、さらに続きます。チップが改良されるにつれて、新しい英数字の識別子が付けられていきます。

複雑なチップのほぼすべてには、既知と未知のエラッタやバグが存在し、ファームウェア、ドライバー、ソフトウェアによる回避策で対処することで、これらの問題を軽減または排除し、そのまま出荷されます。これが現代の半導体設計と製造の本質です。例えば、IntelのSkylake世代のプロセッサは53の既知のエラッタを同梱して出荷されましたが、6か月後にはさらに40のエラッタを公表しました。これはよくあることです。チップの設計サイクルは長く、多くの場合数年単位であるため、軽微な問題に対処するためにチップを再度設計し直す時間がないことが多いからです。他の種類や世代のプロセッサでも同様の傾向が見られます。

しかし、すべてのエラッタが回避策で修正できるわけではないため、一部の問題はシリコンの後工程で、必要と判断された場合に修正されることがあります。しかし、どの設計チームの目標も変わりません。それは、最初のスピンで、出荷製品の設計目標を満たすシリコンを提供することです。その意味で、A0シリコンの使用はホームランと言えるでしょう。

設計/検証プロセスに問題があり、市場投入までに複数回のステッピングが必要となったチップの例も数多くあります。例えば、Sapphire Rapidsは最後に確認された時点で12番目のステッピングでしたが、まだ量産出荷されていません(A0、A1、B0、C0、C1、C2、D0、E0、E2、E3、E4、E5のステッピング、つまり5ベーススピン)。当然のことながら、これは深刻な生産遅延と発売日の遅延につながっています。  

チップの製造は容易ではありません。人類がこれまでに作ったデバイスの中で最も高度なものですが、想像を絶するほど小さな機能で作られています。そのため、問題やエラッタが発生し、それを解消するには何度も改訂が必要になる場合があります。A0ステッピングは常に「未完成のシリコン」であると主張する人たちの言うことは気にしないでください。成功は、最初の出荷で目標を達成する実用的なシリコンを出荷することで測られます。

AMDがチップレットベースのGPUの第一世代を開発するにあたり、当初は多少の苦労が予想されますが、最近の憶測は的外れです。チップの歴史に詳しい人なら、Ryzen 1000チップが当時としては極めて粗削りだったことから、洗練されたRyzen 3000世代へと進化した際に、数十億ドル規模の市場が一変し、確固たる地位を築いていた既存メーカーを覆したことを思い出すでしょう。チップレットベースのGPUは最終的に同じレベルの成功を収めることができるのでしょうか?時が経てば分かるでしょうが、AMD Radeon RX 7900 XTXとXTのレビューでご覧いただいたように、AMDの新型カードには既に多くの魅力を感じています。 

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

ポール・アルコーンはTom's Hardware USの編集長です。CPU、ストレージ、エンタープライズハードウェアに関するニュースやレビューも執筆しています。