はじめに
NVIDIA Ada Lovelace については、4.8に書きましたが、die shot 、間違っていました。Turing でした。
SemiAnalysis の記事
この記事の中の Ampere (GA10x : Samsung 8N) と Ada Lovelace (AD10x : TSMC 4N)の比較部分。
- AD102 : GDDR6X ?
- GA102 : GDDR6X (19 Gbps)
TU102 : GDDR6 (14 Gbps)
AD102 (L2 96MB、GDDR384-bits GDDR6X) は、Total SM は 144、Cuda Cores 18,432
GA102 (L2 6MB、GDDR384-bits GDDR6X) と AD103 (L2 64MB、GDDR6X 256-bits GDDR6X)の Total SM は同じ 84、Cuda Cores は 10,752
- GA103 (L2 5MB、GDDR320-bits GDDR6X) と AD104 (L2 48MB、GDDR6X 196-bits GDDR6X)の Tital SM は同じ 60、Cuda Cores は 7,680
AD (Ada Lovelace) のトップラインは AD102 (Total SM) で、これは AD104 (84)+ AD103 (60) と同じ。
GA と AD の大きな違いは、L2 Cache です。GA102 は 6MB、同じ SM の AD103 は、64MB 。ざっくり10倍です。GA102は、384-bits GDDR6Xに対して、AD103は、256-bits GDDR6X です。384/256 = 0.666 です。
比較のために、Turing は、NVIDIA® Turing マイクロアーキテクチャ(Microarchitecture) RTX GPU(Graphics Processing Unit)からの情報をまとめました。
- TU102 : SM 72、Cuda Cores 4608、384-bits GDDR6 (14 Gbps)、L2 6MB(6144KB) => AD106 : SM 36、Cuda Cores 4608、128-bits GDDR6X、L2 32MB
- TU104 : SM 48、Cuda Cores 3072、256-bits GDDR6 (14 Gpbs)、L2 4MB(4096KB) => AD107 : SM 24、Cuda Cores 3072、128-bits GDDR6X、L2 16MB
- TU106 : SM 36、Cuda Cores 2304、256-bits GDDR6 (14 Gpbs)、L2 4MB(4096KB)
TU と AD を比べると、4倍以上 Cuda Cores が増えています。しかしながら、メモリインターフェースは TU102は 384-bits GDDR6 (14 Gbps) に対して、同じ Cuda Cores の AD106 は 128-bits GDDR6X (19Gbps)です。メモリインターフェースのビット幅が 1/3 で、転送レートは 19/14 =1.35 なので、データ転送レート比は 0.45 です。 これを補うのが L2 Cache です。TU102 の 6MB に対して、AD106は32MBです。
384-bits で96MB、128-bits で32MB、64-bits で 16MB。。。
おわりに
Ada Lovelace、Ampere に比べて、L2 Cacheがめっちゃ多くなります。AD102の96MBって、Ampera GA100 の40MB(48MB)の倍です。。。H100は、50MB(60MB)。本当なんだろうかな。。。
ベンチマーク的には、GA102 と AD103 を比較するといいんじゃないですかね。
AMDでは、Navi24で16MB、Navi23で32MB、Navi22で96MB、Navi21で128MBもあります。こちらは、動画を再生するにはこのぐらい必要になるということですかね。。。