Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

NVIDIA Ada Lovelace、その2

はじめに

NVIDIA Ada Lovelace については、4.8に書きましたが、die shot 、間違っていました。Turing でした。

vengineer.hatenablog.com

SemiAnalysis の記事

semianalysis.substack.com

www.youtube.com

この記事の中の 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もあります。こちらは、動画を再生するにはこのぐらい必要になるということですかね。。。