goo blog サービス終了のお知らせ 

ALH84001

私的コラム&雑記(&メモ)

最近の興味深かった話題(2023年第12週)

2023-03-25 | 興味深かった話題

NECはベクトルHPCを止めるのか?

Is This The End Of The Line For NEC Vector Supercomputers? (TheNextPlatform)

 TheNextPlatformが理研/東京工業大学の松岡聡教授のTwitter投稿を引用して「NECベクトルスーパーコンピューターラインの終焉か?」と報じている。筆者の知る限りでは公式発表はされていないものの、信頼性の高い情報筋からの情報でR&Dの中止ということでSX製品ファミリーの終息と見ていいだろう。

 そもそもHPCマーケットは大きくない上に国策が絡むため輸出するにも自由市場とはいかないし、NVIDIA・AMDのように本業の延長線でHPC製品を作っている企業と比べるとNECが劣勢となるのは仕方ないとは思うが残念である。もっとも、NECの決算資料や直近の経営計画などを見てもコンサルティング・SaaS・5G基地局・DXといった内容が中心だから既に利益には貢献しておらず、選択と集中という視点では正しいのかもしれない。


最近の興味深かった話題(2022年第21週)

2022-05-31 | 興味深かった話題

BroadcomがVMwareを買収

Broadcom、VMwareを610億ドル(約7.8兆円)で買収 - ITMedia
BroadcomがVMwareを買収した理由 実は双方にメリットあり - ITMedia

 これらの記事では同じくBroadcomに買収されたソフトウェア企業としてCA TechnologiesとSymantecが挙げられているが、個人的にはVMwareの方がBroadcomの本業=半導体とのシナジーが期待できそうで、むしろVMwareが旧CA Technologies・旧SymantecとBroadcomの本業とを繋ぐ役割を担いそうに思える。

 まず記事の説明を訂正すると、2019年にBroadcomはSymantecを買収したが、買収した内容はSymantecブランドと企業向けビジネスで、消費者向けのセキュリティーソフトウェア製品はNortonLifeLockブランドで継続している。そして企業向けビジネスには企業向けソフトウェア製品と企業向けサービスとが含まれるが、Accentureに売却したのは企業向けサービスで、企業向けセキュリティーソフトウェア製品は引き続きBroadcomに残っている。
 企業向けサービスとは何かというと、サイバーセキュリティー分野では特に大企業ではMSSP(Managed Security Service Provider)などのサービス名でログの監視・解析といったセキュリティー業務をアウトソーシングするケースが多く、旧Symantecが提供していたMSSPビジネス(約300名)をAccenture(アウトソーシングの世界最大手)が買収したという意味で、ここにソフトウェア製品は含まれない。

 その結果、2018年に買収した企業向けセキュリティーソフトウェア企業=旧CA Technologiesと併せてBroadcomは企業向けセキュリティーソフトウェアポートフォリオを手に入れたという認識が正しそうだ。

 この2件の買収案件の辻褄は合っているのだが、疑問はBroadcomの本業=半導体とのシナジーではないだろうか。上記のITMedia記事2件目の大原氏の記事でも、売上や収益に関する内容ばかりでシナジーについては一切触れられていない。
 Broadcom製品にはセキュリティー機能のある半導体(例えば暗号エンジンを搭載したネットワークアダプター)は存在するが、旧CA Technology製品や旧Symantec製品は直接結びつかない。例えばCA Technologiesは様々なユースケースでの認証技術(例:WebサイトのSingle-Sign-on製品SiteMinderなど)を手掛けるが、Webアプリケーション=アプリケーション層でやり取りされる認証にBroadcomの半導体がどう関わるのか?といえば関係は薄い。

 ここで、旧CA Technologies・旧Symantec製品とVMware製品・Broadcom半導体製品とVMware製品というシナジーを考えると見方は変わってくる。
 昨今の仮想化はハードウェアアクセラレーションが基本であるが、半導体側で搭載されたアクセラレーターを仮想マシンからシームレスにアクセスさせるには仮想化ソフトウェア側の対応が欠かせない。例えばBroadcom製NICに搭載されたSR-IOV機能に仮想マシンからアクセスするにはハイパーバイザーでのサポートが要るわけで、VMwareはそれを提供している(SR-IOVについては既に対応済だが、今後も同様の事象は発生する)。

 仮想マシンや付随するデバイスなどでは認証・暗号化などのセキュリティー技術が必要になり、ここで旧CA Technologies・旧Symantec製品を活用できる。
 例えばAWSやAzureなどのクラウドを使用していると認証鍵をプラットフォームのKey Vaultなどを使って利用するが、Key Vaultは専用ハードウェアとソフトウェアの組み合わせで構成されており、シームレスに認証・鍵の管理を行うにはプラットフォーム(クラウドの場合はAWSやAzureだが、本件の場合はVMware製品群)の対応が欠かせない。
 例えばAWSのCloudHSMは(Broadcomの競合で、Marvellが買収した)旧Cavium製Liquid Securityであるし、AWS EC2のNitroはKVMベースのハイパーバイザーとAnnapurnaLabs製セキュリティーチップで構成されているが、同様の仕組みはVMware製品とBroadcom製品とで実現可能だろう。仮想マシン技術とセキュリティーチップ(半導体)との間で認証したりセキュアな通信で鍵を取り出したり格納したりするのはソフトウェアだから、ここで旧CA Technologies・旧Symantecの技術を利用できる可能性がある。

 もちろん、ここで述べているのは机上の空論(理論上はこんなことができる)レベルの話で、実現するかどうかは今後のBroadcom・VMware次第ではあるが、VMwareの買収は、なかかな面白いと思う。


最近の興味深かった話題(2022年第19週)

2022-05-15 | 興味深かった話題

MIPSがRISC-V対応コアを発表

MIPS Pivots to RISC-V with Performance and Scalability - HPCwire

 MIPSがRISC-V ISA対応CPU IP「eVocore」ファミリーを発表したそうだ。
 MIPSは2020年にRISC-V ISAへの対応を表明していたが、その最初の製品が登場したことになるが、P8700・I8500という型番の示す通り、どうやら従来のMIPS製品(Warriorファミリー・Aptivファミリー)の延長線上という位置付けのようで、公開されたスペックもWarrior P6600・Warrior I6500/I6400とよく似ている。
 一般に、最新の複雑なCPUアーキテクチャーの新規設計には約4年間を要するとも言われるが、2020年に計画の発表・2022年に対応製品の発表というスケジュールは既存コアを流用したと考えれば納得しやすい。

 そもそも、UNIXワークステーション向けのCPU設計を手掛けていた頃のMIPSはMIPS I~MIPS Vといった命令セットを手掛けてきたが、1999年に命令セット体系を刷新しMIPS32・MIPS64に整理され、以降はMIPS32 Release 1~6 / MIPS64 Release 1~6という名称で更新されてきた。例えばWarrior P6600/I6500/I6400/M6200のという型番の場合、P/I/MはArmでいうA/R/Mに相当する種類/クラスを示し、最初の数字はMIPS32/64 Release 6 ISA対応を示している。
 上でも参照したマイナビの記事にも「RISC-V is based on MIPS-4 ISA」というMIPSの主張があるが、MIPS的にはRISC-Vは8番目のISAという位置付けなのだろう(MIPS32/64 Release 7に相当する7xxxファミリーは、かなり特殊な用途向けのため割愛)。

 以下は公開されているスペックを基に表にしたものである(右端は参考までにUC BerkleyのBOOMv3を載せている)。スペックもブロックダイアグラムも詳細が公開されているわけでは無いため一部が抜けているが、RISC-V対応のeVocoreとMIPS64 Release 6対応のWarriorはよく似ていることが解る。


eVocore
P8700
Warrior
P6600
eVocore
I8500
Warrior
I6500
Warrior
I6400
(Reference)
BOOMv3
ISARV64GHCMIPS64 r6RV64GHCMIPS64 r6MIPS64 r6RV64GC
L1$I32-64 KB32-64 KB32-64 KB32-64 KB32-64 KB32 KB
ExecutionOut-of-OrderOut-of-OrderIn-orderIn-orderIn-orderOut-of-Order
SMT SupportN/AN/ASMTSMT1-4SMT1-4N/A
Pipeline stages1616999> 13
Fetch width84???8
Issue width833?24
Exec ports87?767?8
ALU221224
Branch?2??2
MDU111111
FPU222222
SIMD width?128-bit??128-bit
Load/Store212112
L1$D32-64 KB32-64 KB32-64 KB32-64 KB32-64 KB32 KB
InterfaceAXI / ACEOCP 3.0AXI / ACEMCPMCP

 顕著な差異としては eVocoreでは (1) フロントエンド(フェッチ/イシュー/ディスパッチ)が強化されている (2) Load/Storeが強化されている (3) CPUのインターフェースがOCP/MCPから業界でデファクトスタンダードなArm AXI/AHB/ACEに変更された点だろう。(05/21修正)どうやらP6600/I6500などもAXIは利用可能でAXIかOCIから選択可能だったようである。

 最近は人気の無いMIPSであるが、ではMIPSのRISC-V対応が起死回生となるか?というのは今後興味深いところである。
 上の表にもRISC-V本家のUC Berkley BOOMv3のスペックを掲載したが、BOOMv3やSiFive P650などはMIPS製品と同水準の高性能コアも用意しておりMIPSが特別に高性能というようには見えない(組込では必ずしも性能が重要というわけでは無いが)。
(05/21加筆)一見するとフロントエンドだけを見れば高速そうに見えるが、バックエンドが釣り合っていないため、どの程度の速度が出るのか非常に怪しい。例えばApple A14に搭載の"Firestorm"は8-wide issueであるが16程度(Simple ALU x 4・Complex ALU x 2・iDiv x 1・Load x 2・Load/Store x 1・Store x 1・FPU/SIMD x 4・Branch x 2)と推定される強力な実行エンジンがあるからバランスが取れている。P8500/I8500はバックエンドがそれぞれP6600/I6500を若干改良した程度だから、P6600/I6500より若干高速という程度だろう。
 組込IPではツール類・ドキュメント・サポートの充実が重要となるため、RISC-Vでは新参となるMIPSがそれらを充実させられるかどうかが鍵になりそうに思う。

(05/21加筆)
 ちなみに最初の顧客であるが、予想ではIntel傘下のMobilEyeが次々世代製品EyeQ Ultraで採用される可能性が高いと見られる。EyeQ Ultraに搭載予定のCPUコアの製品名は明らかにされていないがRISC-V CPUコアを搭載予定で、現行EyeQ 6はMIPS Warriorコアを採用しているためである。

 ここからは筆者の根拠の無い想像になるが、筆者はIntelは独自RISC-Vコアを開発し、将来のEyeQでもIntel製RISC-Vコアに置き換えると予想しており、その場合はMIPSの採用は中止されるかもしれない。
 筆者がIntelがRISC-Vコアを開発すると予想する理由は (1) 傘下のHabanaLabs・MobilEye・Movidiusの製品や旧AlteraのFPGA製品に組み合わせるにはx86プロセッサーは効率が悪い場合がある (2) 現在のIntelはArmの大口顧客の1社でRISC-Vで置き換えることでライセンスコストを抑えられる (3) IntelはIDM 2.0戦略にあたりSiFiveとの提携などを通じてRISC-Vに取り組んでいる(4) 昨年12月にVIA TechnologyからCentaur Technologyの人材を取得しておりCPU開発チームを1チーム余分に抱えているためである。


最近の興味深かった話題(2022年第14週)

2022-03-27 | 興味深かった話題

NVIDIA "Hopper" HA100

“ペタ”FLOPSの性能を実現したモンスターGPU「NVIDIA H100」- PC Watch
AI性能を引き上げるために、あらゆる機能が強化されたNVIDIAの「H100」 - PC Watch

NVIDIAが同社の主催するGTC 2022にて新しいフラッグシップGPU「HA100」を発表したため、これを取り上げたい。

 以下はNVIDIA Volta V100・Ampere A100・Hopper H100と参考までにAMD CDNA2.0 MI250Xのスペックを並べたものである(演算ユニットの構成が異なるためAMDのスペックは空欄となっている)。


NVIDIA GV100NVIDIA GA100NVIDIA GH100AMD MI250X
Microarchitecture codenameVoltaAmpereHopperCDNA 2.0
Boost frequency (MHz)1530141016501700
InterfaceSXM2SXM4SXM5
Launch date2017-102020-052022-032021-11
LithographyTSMC 12FFNTSMC N7TSMC 4NTSMC N6
Die size (mm2)815826814
Transistor count (billion)21548029.1 x 2
# of SM or CU80108132110 x 2
Total FP64 CUDA cores256034568448
Total FP32 CUDA cores5120691216896
Peak FP64 SIMD7.839.753047.90
Peak FP32 SIMD15.6719.496047.90
Tensor Cores per SM421N/A
Tensor Cores640432528N/A
Peak FP64 Tensor15.6719.496095.70
Peak FP32 Tensor (raw)31.33155.9350095.70
Peak FP32 Tensor (sparsity)62.67311.871000N/A
Peak bFP16 Tensor (raw)N/A311.871000383.00
Peak bFP16 Tensor (sparsity)N/A623.742000N/A
Peak FP16 Tensor (raw)62.67311.871000383.00
Peak FP16 Tensor (sparsity)N/A623.742000N/A
Peak INT8 Tensor (raw)125.34623.742000383.00
Peak INT8 Tensor (sparsity)N/A1247.484000N/A
Peak INT4 Tensor (raw)N/A1247.48N/AN/A
Peak INT4 Tensor (sparsity)N/A2494.96N/AN/A
Memory TypeHBM2HBM2EHBM3HBM2E
Memory Interface4096-bit5120-bit5120-bit4096-bit x 2
Memory Bandwidth (GB/s)900160019203276
Vendor specific
Interconnect (GB/s)
NVLink
300
NVLink
600
NVLink
900
Infinity Fabric
800
PCIePCIe Gen 3PCIe Gen 4PCIe Gen 5PCIe Gen 4
Max TDP (watts)300400700560

※03/28訂正 - 初出時VoltaのbFP16のFLOPS性能が誤記されていました。bFP16対応はAmpereでの追加です。

 まずGH100を見てみる。表では省略しているがTensor演算でFP8対応が追加された一方でINT4対応が廃止されている。また、GA100で追加されたTF32にも対応している(NVIDIA独自のデータフォーマット。演算スループットはFP32と同じ)。
 性能はGA100比で約3倍になっているが、これはStreaming Multiprocessor(SM)の構成変更によるものである。SM自体の数は22%・動作周波数は18%しか増加していないのに約3倍の性能となるのは、SMに搭載されているシェーダー/CUDAコアの数が2倍になったためである。
 ちなみに、GH100の動作周波数「1650 MHz」はWikipediaからのものでNVIDIAの発表では実製品での設定は現時点で未定となっている。実は筆者もFLOPS値から動作周波数の算出を試みたのだが1650 MHzにはならなかった。製品登場時には変更となる可能性がある。

 AMDとの比較であるが、AMD MI250XはTSMC N6ということでGA100のTSMC N7と近い製造技術(ハーフノード世代)で、GH100のTSMC 4N(恐らくTSMC N4のNVIDIA向けカスタムノード)とは1フルノード世代分の違いがある。そのため実装されているトランジスター数から言えばMI250X(2ダイで計58.2 billionトランジスター)はGH100(80 billionトランジスター)よりもむしろGA100(54 billionトランジスター)に近い。
 FP32/FP64の特にSIMD演算では2ダイ構成ということもありAMD MI250Xに軍配が上がるものの、Tensor CoreをもつNVIDIAのTensor演算性能が目を惹く。AMD CDNAのMatrix Engineはラフに言えばSIMD演算ユニットとレジスターを2倍に拡張したものでSIMD演算性能の2倍にしかならないが、NVIDIAはTensor演算用に演算ユニットを新設した上にSparcityなども実装しているからTensor演算性能は圧倒的である。
 もっとも、そもそもMI250Xの開発目的=米エネルギー省Frontier HPCということでFP64性能が要件だったからMI250XがFP32/FP64 SIMD性能特化・Tensor演算性能は限定的となるのは仕方のないところではある。


(つづく)


最近の気になった話題(2022年第08週)

2022-02-26 | 興味深かった話題

MikroTik製機器とAnnapurna Labs製SoC

 MikroTikは欧州はラトヴィアにあるネットワーク機器メーカーで、DIY性の高く高性能なネットワーク機器が特徴的である。そんなMikroTikが幾つかの新製品を発表したのだが、なかなか興味深いので御紹介したい。

 今回発表された製品で共通するのはAnnapurna Labs製SoCを搭載している点だろう。
 Annapurna Labsはイスラエルに拠点を置くAWSに買収されたArm SoCベンダーで、AWSによる買収以前はNAS等のネットワーク機器用の組込SoCとして幅広く採用されていた。Netgear ReadyNAS・Asustor・QNAPなどのNASのローエンド~ミッドレンジでは過去にAnnapurna Labs製Alpine SoC搭載機器がいくつか存在していた。
 しかし、AWSによるAnnapurna Labs買収以降はAWS向けSoCに注力しているせいなのか、製品の投入ペースは落ちているように見え、AWS以外で同社製SoCの採用が減っているように見えるのだが、MikroTikは数少ない現存のAnnapurna Labs製SoCユーザーである。

CCR2004-1G-2XS-PCIe

MikroTik CCR2004-1G-2XS-PCIe is a 2x SFP28 25GbE Router on a PCIe Card - ServeTheHome

 CCR2004-1G-2XSは、一見するとSmartNICなのだが、実態はSmartNICではなく25GbE搭載のPC内蔵型のルーターである。

 昨今では仮想マシン(Linux KVM・Microsoft Hyper-Vなど)やコンテナー(Docker・Kubernetesなど)の利用により1台の物理ホストで複数のNIC/vNICを使うケースが増えている。この場合、一般消費者であればソフトウェア実装のL2ブリッジ(例:Linux Bridgeなど)やL3スイッチ(例:Open vSwitchなど)などでトラフィックを制御する方法が一般的であるが、ソフトウェア実装では負荷の高さや通信速度・通信遅延も気になるところである。そこでデータセンターではIntel X/Eシリーズ・NVIDIA/Mellanox ConnectXシリーズのNICを用いることで物理2ポートのNICに多数のVIFを搭載してNIC内部のvSwitch/vRouterでスイッチすることが一般的となっており、AWS・Azure・Google Cloudなどもそうしている(AWSは自社=Annapurna Labs製Elastic Network AdapterやElastic Fabric Adapterを採用している)。

 MikroTik CCR2004-1G-2XSは少し違う。そもそも搭載されているのがNIC用のASICではなくAnnapurna Labs製のネットワーク機器用SoC AL32400であるが、これは本来NASなどに搭載されているSoCで、例えばバッファローは法人向けNASでI/Oがやや異なる以外は同等のAL314を採用している(恐らくAL324の誤り。2桁目は世代番号でArm64対応Alpine v2 platform)。
 MikroTikはAL32400にMarvell製スイッチチップと同社製RouterOSを組み合わせてラックマウントタイプやデスクトップタイプのルーター/スイッチを幾つか製品化しており、CCR2004-1G-2XSもAL32400にRouterOSという組み合わせになっている。つまり言ってみればラックマウント型のCCR2004ルーターをPCIeに搭載するというのが本製品のコンセプトのように見える。ちなみに、MikroTik CCRの型番はCloud Core Routerという同社製ルーター製品ファミリーに付与される型番である。

 結果としてCCR2004-1G-2XSと競合製品とでは外観はともかく内部的にはかなり違うものになっている。
 競合製品の例としてConnectX搭載NICの場合、外部インターフェースは25GbE SFP28 x 2ポートながら上述のようにSR-IOVによりOS内部から見るとvNIC(VIF)1024基分で、NIC内蔵のvSwitch/vRouterでL2/L3スイッチングをオフロードできる。
 これに対しCCR2004-1G-2XSは外観こそ似通っているものの、OSから見たvNICは4基(25 GbE x 2 + 1GbE x 2)のみで、AL32400上のRouterOSで(L3)ルーティングする。1GbE x 2のみL2スイッチング可能なようである。

 恐らく全体のパフォーマンスだけで言えばConnectX搭載NICの方が高そうに思えるが、2ポート限定であればCCR2004はかなり高速だろうし、AL32400とRouterOS=Linuxを組み合わせているため将来的な拡張も理屈上は可能そうである(そういう計画があるかどうかは不明)。

 個人的に気になるのはRoCEやRDMAサポート(=NVMe-oFサポート)の有無である。AL324/AL32400はNAS用SoCでもあるしハードウェア的には対応していそうなのだが製品ページには特に記載は無い。
 もし仮にCCR2004-1G-2XSがNVMe-oFをサポートする(=SmartNICである)としたら、その立ち位置は面白いと思う。何せConnextXなどの普通のNICはNVMe-oF自体は対応するもののSoCではないためIOPをオフロードできないが、CCR2004-1G-2XSはArm Cortex-A57 4-core + 4 GB RAM + 25GbE x 2なので(NVMe-oFをサポートしていれば)IOPをオフロード可能なはずだからである。既存のSmartNICはMarvell LiquidIO・Broadcom Stingray・NVIDIA/Mellanox BlueFieldなどがあるが、これらの製品は概ねArm Cortex-A72 8-core + 16 GB RAM + 100GbE x 2といったスペックで$1000超なので、CCR2004-1G-2XSはおよそ1/4の性能を$200で実現できる可能性がある(NVMe-oFをサポートしていれば)。

 よく解らないのはプロダクトブリーフなどに記載されている「This NIC can reach wire-speed (100Gbps) with Jumbo frames. 」である。恐らく25GbE x 2ポート x 全二重接続で合計100 Gbpsということで、この文句の趣旨は「(25GbEは単に通信規格の理論上の性能ではなく)本当に理論通りの性能がでますよ」「2ポート x 全二重接続の高負荷時でも処理性能は落ちることはなく合計100 Gbpsでますよ」という意味だと思うが紛らわしい。

MikroTik CCR2216-1G-12XS-2XQ

MikroTik CCR2216-1G-12XS-2XQ Readied as a 25GbE and 100GbE Router - ServeTheHome

 CCR2216-1G-12XS-2XQは25GbEスイッチである。データセンター向けでは200GbEスイッチや100~400GbEスイッチが出回っているので特別に速いというよりは、(主に価格や流通網的に)消費者に手の届く初めての全ポート25GbEスイッチとなる。これまでも10GbEスイッチのアップストリーム用の2ポートに25GbEを搭載した製品は幾つかあったが、全ポート25GbEでアップストリーム用の2ポートが100GbEという能本格的な25GbEスイッチは初めてではないかと思う(もっとも$2795≒約30万円なので導入する人は多くないだろうが…)。

 ここまでだと、ただの25GbEスイッチであるが、興味深いのが搭載されているSoCでAnnapurna Labs AL73400が搭載されている。これはAWS Gravitonのことである。AWS Graviton/AL73400自体はAWS S3やAWS Route 66などに採用されてきたはずで、25GbEスイッチへの搭載は驚くことでは無いがAWS/Annapurna Labsが外販したほぼ初めてのケースではないかと思う。

※ちなみにUbiquiti Networksも約1年前にUniFi USW-Leafという25GbE x48 + 100GbE x6というCCR2216-1G-12XS-2XQを大型化したような製品を発表しており、こちらもAL73400を搭載していて驚きの$2,000とされているのだが…公式サイトにも一向に製品が登録されない。

 L2スイッチにはMarvell Prestera 98DX8525が搭載されているのでL2スイッチは98DX8525・L3ルーティングはAL73400で処理するものと思われる。
 ブロックダイアグラムが公開されていないためスペックシートからの推定になるが、98DX8525は100GbE x 6 or 25GbE x 24 or 10 GbE x 48 + 管理用 10GbE x 1という構成になっているため、CCR2216-1G-12XS-2XQでは100GbE x 2 + 25GbE x 12 + 管理用 1 GbE x 1を外部インターフェースとしており、残りは100GbE x 1ポート(または25GbE x 4ポート)である。AL73400は詳細が未公開であるが100GbEか25GbEは搭載していると思われるため、恐らく98DX8525 - AL73400間は25GbEまたは100GbEで接続されるものと思われる。
※AWS A1インスタンスのスペックを見る限りでは25GbE x 1のように見えるのだが…Apline v2 platformのAL32400が25GbE x 2なのに、Alpine v3 platformのAL73400が25GbE x 1というのはちょっと信じられない。


最近の気になった話題(2021年第49-50週)

2021-12-18 | 興味深かった話題

IntelがCentaur Technologyから人材を獲得

Intel、1.25億ドルでVIA傘下Centaurの人材を取得 - PC Watch

 実は筆者も先日CentaurのWebサイトを訪れて「Under Construction」となっているのは見ていたが、この取引についてはPC Watchの記事を見る(12月10日)までは知らなかった。

 普通に考えるとIntelは新しいCPU開発チームを立ち上げるのだろうと思うが、筆者のような捻くれ者は他の可能性も勘ぐってしまう。例えばCHAのNPU=NCORE(参考1参考2)を開発した人員を取得したかった、なんて可能性も考えられるかもしれない(可能性はかなり低いと思うが)。
 Intelは2020年にNeural Processing用のx86-64拡張命令=AMXを発表し来年登場する"Sapphire Rapids"に搭載されるが、AMXはMMX/SSE/AVXとは異なりCPUに統合されるというよりアクセラレーターとして実装されるそうだから、構造的にはCHAのNCOREのようにCPUコアと同じリングバス上にアクセラレーターが載るということも考えられる。もっとも、NCOREは物理的な配置はともかく、キャッシュコヒーレンシ―すらなくDMA経由でのアクセスだし、AMXのようなMatrix演算基ではなく2048-bit SIMD x 16という超ワイドなSIMD演算基ということを考えると、AMX向けではないように思う。
 やはり、新しくCPU開発チームを立ち上げると考えるのが妥当だろう。

 CPU開発チームをゼロから立ち上げるのは難しいようで、既存のチームが一緒に移籍するという話をよく聞く。
 古くはAMDでAthlonを開発したのはDECでAlpha EVを開発していたチームという話は有名だが、それ以外にもIntelのAtom/E-Coreのチームは旧FreescaleのPowerPCコア開発チームだし、2019年までSamsungでExynos-M "Mongoose"コアを開発していたチームは元AMDでBobcat/Jaguar等いわゆる猫系コアを開発していたチームだし、Qualcommが買収したNuviaは元Appleのメンバーが独立した会社だったりする。そのため新規にCPU開発チームを立ち上げるにあたり既存の開発チーム=Centaurを買収するというのはおかしな話では無い。

 記事中では「今回の取引により、Centaurの社員の一部がIntelに移籍される。台湾のメディアの報道によれば、今回の移籍は志願制となっており、Centaurに残ることもできる。また、固形資産ならびに無形資産の譲渡はない」とあり、移籍は志願制とのことだが、1999年にVIAがIDTからCentaurの買収に費やしたのは5100万ドルで、20年超の歳月による物価の違いを加味しても1.25億ドルという額は実質的な買収に見える。

AMDがSamsungにMPUの製造委託する(?)

AMDがMPUの一部をSamsungに製造委託の可能性 - マイナビ
AMD Might Use Samsung's 4nm Node for Chromebook CPUs - Tom's Hardware

 マイナビの記事では「エントリーレベルのCPU」としか触れられていないが、Tom'sと元ネタのJ.P. MorganによるとChromebook用のCPUだという。筆者は今年ウワサされていたArmベースのChromebook向けRyzen C7の可能性が高いと見る。

  AMDがChromebook用SoCをx86ではなくArmでSoCを作るのか?SamsungでArmならExynosで良いのではないか?と思われるかもしれない(というか某所でそういう反論を受けた)が、これは幾つかの理由で理に適っている。筆者が考えるに以下のような利点がある。

  • Chromebook向けにZen系アーキテクチャーは妥当でない可能性がある
    通常のRyzen APUがターゲットとするのは$1000前後~のWindowsラップトップと考えられるが、$200~のChromebookには載せられない。SoCのコストとしては前者は$150~・後者は$50程度と大きな差がある。これは絶対的にダイエリアと消費電力が大きいからでもある。Zen系からArm Cortex系に変更することでCPUコア部分のコストと消費電力を半分以下に削減できる。

  • AMDのZen系CPUで4コア構成はZen 2が最後の可能性がある
    Valve SteamDeckに搭載予定の超低消費電力向けRyzen APU "Van Gogh"(Zen2 CPU+RDNA2 iGPU)に見られるように、どういうわけか4コアのAPUはZen2世代に留まっており、Zen3以降は8 Core/CCX構成で4 Core/CCXという構成が見られない。その前提であればZen3以降では$200~のChromebook専用SoCは現実的でないし、PixelBookのような$1000~のハイエンドChromebookであれば、そもそも専用SoCは必要無い。

  • Arm純正Cortexコアのサポートは難しくない
    x86とArmの両方をサポートするリソースがAMDにあるのか?という疑問もあろうが、カスタムArmコア=K12はともかくArm純正のCortex系コアを導入するのであればエンジニアリングリソースはほとんど必要ない。Samsung・Armが既にCortex-A78等のPOPをインプリメント・最適化済のはずで、AMDがCPUコアの物理設計に手を入れたりデバッグしたりする必要性はほとんどない。
    難しいとすれば、それはCPUコア以外の部分やソフトウェア(UEFIなど)だろう。ただし、AMDがXilinx(ZynqなどのSoC製品でArmを採用)の買収を成功させ両社のポートフォリオを統合する想定ならArm SoCのサポートを極端に忌避する理由も無い。

  • AMDはSamsung 4nmプロセス向けRadeon iGPU "Voyager"を開発済
    AMDはRadeon iGPUをSamsungにライセンスしており、SamsungはExynos 2200で搭載予定とされる。言い換えればAMDは既にAXI接続でSamsung 4nm向けに物理設計済のiGPUを保有している。
    マイナビ記事中ではSamsung 4nmの歩留まりが低いとあるが、それでもAMDが報道の通りSamsung 4nmを使うとすれば、それはExynos 2200がSamsung 4nmだからだろう。

  • ZenベースのRyzen APUを高リスクで製造するとは考え難い
    Ryzen APUはエンタープライズ向けRyzen Pro(つまり取引相手はDellやHPのような大手PCベンダー)や組込向けRyzen Embedded(つまりデキが悪くても10年間サポートが必須)としても展開されるため、もしSamsungへの初の製造委託をリスクとして捉えるならば高リスクの方法では製造しないと思われる。

  • AMDはChromebook市場ではIntelに勝てる可能性がある
    AMDはWindows/x86市場ではシェア20%程度でIntelに負けているが、Chromebookであれば現時点ではIntel Celeron/Core i3以外では台MediaTek・中RockChip(最近はほとんど見かけなくなった)など競合が少なく、入り込む余地がある。

最近の気になった話題(2021年第48週)

2021-12-04 | 興味深かった話題

AWSがGraviton3を発表

AWS Goes Wide And Deep With Graviton3 Server Chip - The Next Platform
Amazon Graviton 3 Uses Chiplets & Advanced Packaging - SemiAnalysis

 AWSが同社の内製サーバーSoC=Graviton3を発表した。


AWS GravitonAWS Graviton2AWS Graviton3
CPU Core /
Platform
Neoverse
Cortex-A72
16-Core
2300 MHz
Neoverse N1
(Cortex-A76 derivative)
64-Core
2500 MHz
Neoverse V1
(Cortex-X1 derivative)
64-Core
2600 MHz
MemoryDDR4-1600
32 GB
4 channel
51.2 GB/s
DDR4-3200
? GB
8 channel
204.8 GB/s
DDR5-4800
? GB
8 channel
307.2 GB/s
PeripheralPCIe Gen 3
32-lanes
PCIe Gen 4
64-lanes
PCIe Gen 5
32-lanes
Transistors5 billion30 billion55 billion
ProcessTSMC 16 nmTSMC 7 nmTSMC 5 nm

 SemiAnalysisによるとAWS Graviton3は7個のチップレットで構成されたSoC(System-on-a-ChipというよりSIP=System-in-a-Package)ということだそうだが、AMD EpycのCCD + sIODような構成ではなく、CPU die x 1 + Memory Interface die x 4 + PCIe die x 2という構成のようだ(※AWSプレゼンテーション中に名称が記載されていないため、いずれも仮称)。
 高電圧が必要でかつシュリンクし難いI/O周りをアナログ回路の成熟した古い世代のプロセスで製造し、先端プロセスで製造したCPUダイとチップレット間接続で接続しているのだろう。このアイデアはAMD EpycやIntel "Lakefield"と似ているが、CPUコア群は1チップレットに収まっているためコア間通信のレイテンシーは低く抑えることができる。

 興味深いのはMemory Interface・PCIeをAMD EpycのようにI/O die x1とするのではなくMemory Interface die x4 + PCIe die x2と細かく分割している点だろう。普通に考えればIntelのPCHやAMD EpycのsIODのような1チップレットで作る方がパッケージングのコストが安価だろうと思うのだがそうはなっていない。

 Memory Interface dieについては、恐らくアクセスレイテンシーの均一化を図ったのではないかと思う。I/O die x 1という形にしてしまうとI/O dieとの距離がばらけてしまう。例えばArmのプレゼンテーションではArm CMN-600で32-coreを構成する場合、6x6のメッシュで2-core/tile x 32 = 64-coreとして構成し四隅の4 tileがI/O用とする例が示される(参考)が、このような構成だとメモリーアクセスがある程度均一になる。チップレット化する場合も同様にMemory Interface die x 4を6x6のメッシュの四隅に隣接する形に配置することでアクセスレイテンシーを均一化したのだろう。

 PCIeを16-laneずつ2 dieにしたのは、恐らく2つの理由によるのではと思う。まず、Graviton2からPCIe lane数が半減(64-lane→32-lane)しているのであるが、そもそもGravitonはIntel Xeon/AMD Epyc等と違い外販されないためAWSが必要とする以上のレーン数を搭載する必要が無い。AWSの場合ストレージやネットワークはAWS ENA(恐らくPCIe x16接続)で接続するため、FPGAインスタンスやGPUインスタンスぐらいしかPCIe接続する先が無く32-laneあれば十分という判断なのだろう。
 次に、そもそもPCIeが32~64-laneも必要なのか?という疑問もある。例えばFPGA/GPU等のアクセラレーターとの接続はCCIXやCXLで接続する場合を考えると、AWS ENAを接続するPCIe die x1個で十分で、残りのPCIe die x1をCCIX die x1と置き換えるといった構成を採る可能性も考えられる。
 余談だが、筆者はこういう構成をぜひ富岳の富士通A64FXでも採用してほしかった。A64FXはI/OがTofu-DとPCIe x16のみで、富岳・富士通PRIMEHPC FX1000以外ではTofu-Dは使わないためPCIe x16のみとなってしまっており、FX700構成でMellanox InfiniBand(PCIe x16)を接続するとNVMe SSDの接続のためにPCIe Switchを搭載する必要がある。

 Graviton3のCPUコアについては多くのメディアがNeoverse N2と報じているのだが、SemiAnalysisの記事を参考にする限りNeoverse V1のようだ。SemiAnalysis記事中のスライドにあるCPUコアのブロックダイアグラムはNeoverse V1/Cortex-X1/Cortex-X2のものと一致している。

最近の気になった話題(2021年第44-45週)

2021-11-13 | 興味深かった話題

AMDに関する話題

AMD、スケーラビリティ重視の「Zen 4c」を発表 - マイナビ
AMD Bergamo to hit 128 Cores and Genoa at 96 Cores - ServeTheHome

 AMDの発表でのテーマは3D V-Cache搭載のZen 3世代Epyc = "Milan-X"だったのだろうが、個人的に興味深かったのはZen 4搭載Epyc = "Genoa" / Zen 4c搭載Epyc = "Bergamo"の話題の方だった。

"Genoa", "Bergamo"

 Zen 4世代Epyc = "Genoa"が96コアというウワサは既報の通りだが、Zen 4c搭載の"Bergamo"も併せて考えると非常に興味深い。なぜならメモリートポロジーの変更もありえるからだ。
 記事中にある通り、"Genoa"・"Bergamo"はソケットおよび命令セットを共有する。普通に考えれば、これは対応メモリーのスペック・チャンネル数とPCIeのスペック・レーン数が共通ということを示唆している。

 ところが、このうち対応メモリーのスペック(DDR5)はともかくチャンネル数については現行Zen 2/Zen 3世代からのメモリートポロジーの変更を示唆しているようにも見える。

 まず、現行Zen 2/Zen 3世代Epycのメモリートポロジーを振り返ってみる。以前も本ブログでも取り上げたことがあるが、Zen 2世代Epycについて、ServeTheHomeが「Quadrant」という構成単位を解説したことがある。このQuadrantという単位について筆者はAMD公式の資料で見たことが無いので名称の正当性は不明であるが、概念そのものはAMDのISSCC 2020の発表資料での解説とも合致する妥当なものだ。Anandtechのような海外メディアでも用いられることがある。

 1つのQuadrantは1~2 CCD x DDR4 2ch・PCIe 32レーンで構成され、Zen 2/Zen 3世代ではRyzenからEpycまで、このQuadrant単位でスケールする。Epycでは4つのQuadrantにより8 CCD・DDR4 8ch・PCIe 128レーンという構成・Ryzenでは1つのQuadrantにより1~2 CCD・DDR4 2ch・PCIe 32レーンという構成となっている。
 実際、AMDのISSCC 2020でのsIODの説明資料(Anandtechの記事中の画像)を参照しても、内部で4分割されリングバスで相互接続されていることが解る。そして、NUMAモードで運用するような場合にはNode per Socket(NPS)でQuadrant単位で分割されることになる(NPS=1の場合1 Node = 4 Quadrant・NPS=4の場合1 Node = 1 Quadrant)。
 つまり、Zen 2/Zen 3世代Epycは4 Quadrant構成のため、必ずCCD数・メモリーチャンネル数も4の倍数となりバランスされている。

 もし仮に最大8コア/CCDでZen 2/Zen 3のトポロジーのまま96コアを実現するとすれば普通に考えれば6 Quadrant構成で12 CCD・メモリー 12chとなるはずである。
 実際、Zen 4世代Epyc "Genoa"は最大96コア・12 CCDという構成(これは以前もウワサされていたが今回の発表でも明らかになっている)で、メモリーチャンネル数は公式には発表されていないがDDR5 12chとウワサされており、もしZen 2/Zen 3のメモリートポロジーが維持されていても構造的に問題はない。
 ところが、Zen 4c搭載Epyc "Bergamo"ではこの計算が合わないように見える。"Bergamo"はクラウドハイパースケーラー向けの高密度サーバー用で、上述の通り"Genoa"とソケットが共通とされている。
 しかし、CPUコア数は128で6の倍数ではなく6 Quadrantとは考え難い。マイナビ記事中で大原氏が「CCXそのものは8コアのままで16ダイを搭載か、それともCCXそのものを16コアに拡張して8ダイ構成なのかは現状不明」とされているが、いずれにせよ6 Quadrantにはならない。128コアという数字から逆算すると4 Quadrantまたは8 Quadrantが妥当で、この場合のメモリーチャンネル数は8 chまたは16 chということになる。

 "Genoa"についても"Bergamo"についてもスペックの詳細が明かされたわけでもモノが出たわけでもないので、どのようになっているのか詳細は不明である。(1) メモリートポロジーが変更されておりQuadrant単位ではなくなっている場合 (2) "Genoa"と"Bergamo"で物理的・電気的に「ソケットは共通」だが最大メモリーチャンネル数は異なる場合の2通りが考えられる。
 通常、(2)のようなことはありえないが、"Bergamo"が特定ユーザー=クラウドハイパースケーラー限定の一般に出回らないSKUなのだとすれば特に問題にならない可能性もある。
 ちなみに、ウワサではZen 5世代でも192コア構成の通常用と256コア構成の高密度サーバー用の2種類が用意されるとされている。

※ 8 Quadrant構成で"Genoa"の96コアが12コア x 8 CCDや6コア x 16 CCDというのも計算上は成り立つが、AMDの発表資料では12 CCDのため、やはり辻褄が合わない。

Zen 4, Zen 4c

 Zen 4cという派生コアの登場は興味深い。というのも、Zen 5世代ではZen 5/Zen 5L(いずれも正式名称ではなくウワサされている名称)という2種類のコアによるAMD版big.LITTLEの導入がウワサされているからだ。

 もし"Genoa" 最大96コアと"Bergamo" 最大128コアのCCDの占める面積(≒トランジスター数)がほぼ同等とするならZen 4cはZen 4比で概ね75%という計算になる。AMDは世代毎に約+20%程度CPUコアのトランジスターバジェットを増やしているため、Zen 3→Zen 4でも同等と仮定するとZen 4とZen 4cとのトランジスター数の比率は概ね120:90となることが想定される(Zen 3を基準=100とする場合)。
 つまり上述の仮定が正しい場合ではZen 4cコアのトランジスター数はZen 4比で約75%でしかなく、big.LITTLE構成の省電力コアとしてはかなり大型となってしまい中途半端になってしまう。ちなみにIntel P-Core/E-CoreでもArm Cortex-A70系/A50系でも省電力コアは高性能コアの1/4以下でしかない。

 しかし、さらに世代を進めZen 5世代以降では話は変わってくるかもしれない。Zen 3→Zen 4→Zen 5でこれまで通り世代毎に約+20%程度CPUコアのトランジスターバジェットが増え、さらにZen 4c→Zen 5Lのトランジスターバジェットが同等と仮定すると、Zen 5とZen 5Lとのトランジスター数の比率は144:90となり相対的に約60%まで縮小することになる。
 もちろん、上述の仮定(「"Genoa" 最大96コアと"Bergamo" 最大128コアのCCDの占める面積(≒トランジスター数)がほぼ同等」「Zen 4c→Zen 5Lのトランジスターバジェットが同等」)は筆者の推定に基づく根拠の無い数字ではあるが、技術的には実現可能そうに思える。

CDNA2

AMDのエクサスパコン用CPU「Milan-X」とGPU「Instinct MI200」を読み解く - マイナビ
AMD、Frontierに採用のカスタム版EPYCとRadeon Instinct MI200の詳細を公開 - マイナビ
The AMD “Aldebaran” GPU that won Exascale - The Next Platform

 AMDはCDNA2のWhitepaperを既に公開しており、なかなか興味深い。

 CDNA2のアーキテクチャーはCDNAによく似ている。
 個人的に気になるのは一般的な市場で売る気があるのかどうかである。FP64 Vector演算とFP64 Matrix演算の性能が大幅に強化されており、Frontierを強く意識しているように見える。その一方でFP32/FP16/bFP16についてはCDNAからほとんど変化が無く、HPC以外の用途をどの程度想定しているのか疑問である。

 MI250Xは2ダイのオンパッケージのMCMで構成されているが、各ダイのスペックはCDNA世代のMI100と酷似している。
 下の表はMI100・MI250XそしてMI250Xのダイあたりのスペックを示したものであるが、MI100とMI250X 1ダイのスペックはよく似ており、FP64 Vector・FP64 Matrixが重点的に強化されたことが解る。


MI100
"Arcturus"
MI250X
"Aldebaran"
MI250X
(1 die only)
TechnologyTSMC N7TSMC N6
Die25.6 billion
750 mm2
58.2 billion29.1 billion
Compute Units120220110
Engine Clock1520 MHz1700 MHz
MemoryHBM2 32GB
4 stack
HBM2E 128GB
8 stack
HBM2E 64GB
4 stack
Memory
Bandwidth
1.23 TB/s3.2 TB/s1.6 TB/s
FP64 Vector11.5 TFLOPS47.9 TFLOPS23.9 TFLOPS
FP64 Matrix11.5 TFLOPS95.7 TFLOPS47.9 TFLOPS
FP32 Vector23.1 TFLOPS47.9 TFLOPS23.9 TFLOPS
FP32 Matrix46.1 TFLOPS95.7 TFLOPS47.9 TFLOPS
FP16 Matrix184.6 TFLOPS383.0 TFLOPS191.5 TFLOPS

 そもそも、CDNAはTSMC N7で製造されたのに対し、CDNA2はTSMC N6で製造されている。N6はN7のハーフノード世代=改良版でトランジスター密度は微増で、マクロの種類によっても異なるが、N7の96.5 MTr/mm2に対しN6は114.2 MTr/mm2で+18%に留まる。そのためMI100からMI250Xで同等のトランジスター数を維持するのであれば+13%のトランジスター数増加というのは妥当そうに思える。

 言い方を変えれば、AMDは+18%程度のトランジスターの追加でFrontierに搭載するGPUを考えたはずで、しかもEpycとの接続のためにInifnity Fabricリンクを完全結合できるように追加する必要があるから、2 ダイMCM化とFP64に絞った性能強化となったのだろう。

 AMD CDNAのMatrix UnitはNVIDIAのTensorCoreとは異なり、独立した演算ユニットではなく、既存のシェーダーの512-bit幅SIMDエンジン(shSIMD)を拡張し、Matrix演算用に512-bit幅レジスタファイルと512-bit SIMDエンジン(miSIMD)を追加したものだ。そのためMatrix演算時にはshSIMDとmiSIMDの両方が動作しVector演算の2倍のスループットを実現している。shSIMDはFP64に対応していたわけで、今回miSIMDがFP64に対応してMatrix演算でFP64演算が可能となったようだ。

Frontier

 御存知の通り、CDNA2アーキテクチャーのMI250Xは米エネルギー省フラッグシップHPC「Frontier」に搭載予定だが、CDNA2のブロック図のほか、Frontierのノード内のトポロジーについても言及がある。 以下の図はCDNA2のWhitepaperからの抜粋である。
 MI250Xでは2つのダイをパッケージ内で相互接続するMulti-Chip Moduleとなっているが、ダイにはInfinity Fabricリンクのインターフェースが8基搭載され、うち4基を使って恐らく16レーン x 2リンクづつの双方向接続を行うようだ。

 Frontierでは「最適化した」EpycにMI250Xを4基接続される。
 上述の通りダイ=GCD間は2リンクで接続されるが、下の図のように全体で3種類のリング接続を行うようだ。これによりすべてのGCDが必ず1~2ホップで相互接続されることになる。

 ところで、Epycの「最適化」の内容が不明なのだが、1つはPCIe/Infinity Fabricレーンの使い方なのかもしれない。現行Zen 3世代EpycのsIODにはPCIe/Infinity Fabric共用のSerDesを128レーン搭載しているのだが、一部はSATAとも共有しているため、図のように16レーン x 8リンク=128レーンをすべてInfinity Fabricで使ってしまうとNVMe SSDはおろかSATA SSD/HDDすら接続できなくなってしまう。恐らく何らかの起動用ストレージは接続されると思うが、USB 3.1で接続されるのかもしれない。
 ちなみにInfinity Fabricの帯域については「800 GB/sec」という表記がある。16レーン x 8リンクの合計とすると1リンクあたり100 GB/secで、これはPCI Express 5.0 x16(63 GB/sec)よりも高速なものである。実は、Zen 3世代EpycのPCIeはPCIe Gen 4(16.0 GT/s/Lane)であるが、Infinity Fabricと共用していることもありPHYは高速なものが使用されているようで、Zen 2世代Epyc登場時に2ソケット時のIFIS(Infinity Fabric Inter-Socket)双方向48 Laneで307.2 GB/sec(16 Laneあたり102.4 GB/sec)というのが話題になったことがある。


最近の気になった話題(2021年第43週)

2021-10-30 | 興味深かった話題

TSMCがN4Pプロセスを発表

TSMCが5nmプロセスの改良版「N4P」を発表 - マイナビ
TSMC intros N4P process - DigiTimes
TSMC Extends Its 5nm Family With A New Enhanced-Performance N4P Node - WikiChip Fuse

 TSMCがN4Pプロセスを2022年後半から提供することを発表したそうだ。同じく2022年後半からフルノードプロセスのN3の量産が始まる予定を考えると面白みには欠けるかもしれないが、この意義を考えてみる。

 N4Pプロセスの意義するところを考える前に、そもそも現実的な話としては特殊な技術力やスタッフや資金を持たない半導体企業が~2022年末時点で選択可能な先端プロセスはTSMC N5/N5P/N4である。これは、以前の記事でも何度か述べたが、半導体企業の多くはファウンダリーのプロセスノード(この場合はTSMC N3等)に最適化された高速PHY(アナログ回路)を開発する技術あるいはTSMCと提携して数カ月~1年がかりで各種PHYを開発する技術や人的資源を持っておらず、Synopsys・Cadence・Siemens EDA(旧MentorGraphics)に代表されるEDAベンダーの提供するPHY IPに依存しているが、これらの企業が一般に提供しているPHY IPの最先端のもので一式揃うのがTSMC N5/N5P/N4だからである。N4Pはここに加わることになる。
 EDAベンダーのIPに頼らずMemory PHYやPCIe PHYなど一式を自前で揃えることが可能な半導体企業というとAppleやIntelあたりが代表的で、実際、2022年に登場するTSMC N3は2022年はAppleとIntelが独占的に予約を入れているという。

 そんな中登場するTSMC N4Pについては一部詳細が不明だが、恐らくはEDAベンダーのTSMC N5/N5P/N4向けPHY IPを含む既存の各種IPをそのまま流用できるのだろうと想像する。
 Qualcommのような多くのモバイルアプリケーションプロセッサーベンダーは、ArmやSynopsys等IPベンダー製のIPや内製のIPを論理合成し、ファウンドリーのスタンダードセルライブラリーや自動配線を使って物理設計を起こしている。この場合、理屈だけで言えば論理合成時のターゲットとなるプロセスノードを変更するだけでN5/N5P/N4からN4Pへの移行ができてしまうことになる。
 もちろん実際には、トランジスターの特性などの違いにより、スタンダードセルライブラリーや自動配線そのままでは期待した性能を発揮せず、一部カスタマイズして最適化する必要がある場合もあろうから、そこまで単純な話では無いだろうが(参考1:BroadcomがArm TechCon 2015で発表した最適化の事例参考2:大原氏による半導体開発プロセスの解説)、N3用にI/OのPHYをすべて自前で設計するよりは圧倒的に現実的である。


Apple M1 Pro/M1 Max

2021-10-19 | 興味深かった話題

CPUもGPUも最高性能となったM1 ProとM1 Max - PC Watch

 AppleがMacBook Pro用にM1 Pro・M1 Maxを発表したため、今回はこれについて考えてみる。
 Apple M1 Pro/M1 Maxのコンセプトを筆者(※部外者)の独断と偏見で端的に述べるとすれば、「ハイエンドGPUのダイサイズに、他社の一世代前のハイエンド相当のGPUと、Apple A/Mシリーズで既存のCPUやメモリーコントローラなどを統合したSoC」となる。

 Apple M1/M1 Pro/M1 MaxはTSMC N5で製造されていると見られるが、TSMC N5のトランジスター密度(171.3 MTr/mm2)は、AMDがRyzen "Zen 3" CPUやRadeon "Navi21" GPU、NVIDIAが"Ampere" "GA100"の製造で使用しているTSMC N7(91.2 MTr/mm2)の約1.88倍で、つまり単位面積あたり約2倍のトランジスターを集積できる。
 つまり、ラフに言えばハイエンドGPU程度のダイサイズに一世代前のハイエンドGPUを搭載しても約半分ほどの余裕ができ、ここにCPUやメモリーコントローラーなどを搭載する統合したSoCを載せたものがApple M1 Pro/M1 Maxの基本的な考え方だ。より具体的には、NVIDIA GeForce RTX 3090などで用いられるNVIDIA "GA102"がSamsung 8nmプロセスで28,300 MTr/628 mm2、AMD Radeon RX 6900 XTなどで用いられるAMD "Navi21"がTSMC N7プロセスで26,800 MTr/520 mm2だから、TSMC N5で500 mm2程度のダイサイズであれば50,000 MTrのチップであれば、"GA102"/"Navi21"と同クラスのGPUと、CPUやメモリーコントローラーを搭載すればApple M1 MaxのようなSoCが実現できる。実際、M1 Maxは57,000 MTr(M1 Proは33,700 MTr)とされている。

 ただし、この「一世代前」の部分がキモである。なぜならAppleは製造プロセスで他社を1年以上も先行しており、Appleの現行品≒他社にとっての「一世代先」の製品がカレンダー上の同時期に登場することが可能となっているからだ。
 例えば、AMDやNVIDIAは現在TSMC N7やSamsung 8LPPを使っているが、Appleは2020年のA14からTSMC N5を使用している。AMDがN5を使用するのは2022年後半の"Zen 4"からとされる。そのため、Apple M1 Pro/M1 Maxと"GA102"/"Navi21"が市場に共存する事態となっている。

 つまり技術的に可能だということは解るが問題はビジネス的な部分である。
 そもそもAppleがTSMCで最先端プロセスを他社に先駆けて採用できるのは製造数量や支払額が桁違いの大口顧客だからであるし、膨大なエンジニアリングリソースを抱えているからである。その2点を真似できるような企業は世界中にAppleを含め数社しかいない。

 M1 Pro/M1 Maxはゲームコンソール用SoCのような外観をしているが、例えばXbox Series X用SoC "Scarlett"が360 mm2PlayStation 5用SoC "Oberon"が308 mm2でしかない。300-350 mm2というダイサイズはAMD Radeon RX 6700 XT "Navi22"の335 mm2と同クラスでNVIDIA GeForce RTX 3070 "GA104"の392 mm2よりも小さい、アッパーミドルクラスに相当する。ダイサイズが増えると不良率は指数関数的に上昇するが、その一方でPC用CPU/GPUと違いゲームコンソールなどではスペックがせいぜい1~2種類しかSKUを派生できないため、歩留まりを考慮するとダイサイズを肥大化させ難い。
 そんな中、AppleはM1 MaxでハイエンドGPUに匹敵する500 mm2クラスのダイサイズのSoCを、それも(Appleの公開したダイショットを信じるならば)コアの冗長も無しに実装している。想像するに後でコア数を減らしたSKUを用意するとは思うが、Appleのような金持ち企業の戦略商品以外では考えられない。
 そもそもXbox Series X|SもPlayStation 5も発表から1年弱でそれぞれ世界で650万台・1000万台しか売れていないが、その一方でAppleはiPhoneを1年間で2億3000万台以上(※2021年度の予想)M1搭載Macを2020年第4四半期のみで689万台も出荷しているAppleだからできることである。

 また、恐らくAppleはアナログ回路のエンジニアも相当数抱えているものと思われる。
 昨今の半導体開発はSynopsys・Cadence・Siemens EDA(旧MentorGraphics)に代表されるEDAベンダーのIP抜きには実装が困難で、特に物理層(PHY)周りはIPベンダーのものを採用することが多い。微細化された回路ではCPUやメモリーコントローラーなどの1V前後が一般的で、大電圧を扱うことが困難でUSBの5VやPCIeの3.3Vを扱うことは難しいからである。
 そのため、AMDのような半導体企業はMemory PHYやPCIe PHYなどが出揃うのを待つ必要があるが、SynopsysのWebサイトの状況を参考にすると、TSMC N5向けに登録されたのはLPDDR4/5 PHYが2020年6~8月頃・PCIe 5.0 PHYが2020年10月~2021年1月頃である。AMDのような企業がこれらを採用する場合は2021年後半~2022年前半といったスケジュールが妥当で、Zen 4の2022年後半というスケジュールはおかしくない。
 Appleのように2020年後半のファウンダリーの量産開始時期に合わせてSoCを出荷するというのは、裏を返せばPHYをEDAベンダーのIPに頼っていないということで、つまり2020年前半には実装が完了していることになる。これは潤沢なリソースが無ければできない話である。

最近の気になった話題(2021年第41週)

2021-10-16 | 興味深かった話題

あるブログ記事の「インテルCEO「AMDは終わり」」発言について

 とあるブログメディアがWCCF TechCRNなどの記事を引用(※後述)し、Intel CEO Pat Gelsinger氏が同社の新CPUについて「AMDは終わり」と発言したと記事にしており、それが某巨大掲示板など一部で話題となっているのでコメントしておこうと思う。

 これには2つの論点があり、Gelsinger氏の発言そのものの意味(誤訳や恣意的な切り取りの有無など)について、また内容の妥当性について考える必要がある。
 まず前者について言えば誤訳というか恣意的な切り取りというのが妥当と思う。実際の発言(CRNより引用)は「AMD has done a solid job over the last couple of years. We won’t dismiss them of the good work that they’ve done, but that’s over with Alder Lake and Sapphire Rapids(AMDは過去数年で堅実な仕事をした。我々は彼らのしたそれらの良い仕事を無視する気は無いが、しかし、それもAlder LakeとSapphire Rapidsで終わる)」と自社製品と他社製品の優位性を比較して論じており、要するに「他社の優位が終わる」としか言っていない。これを「他社が終わる」と言うと他社が倒産でもするようだが、そういう事を言っているわけではない。

 では、Intel "Alder Lake"はAMD Zen 3/Zen 4に比べて素晴らしいのか?という話だが、これもWCCF Techなどの報じた内容を見ると想定の範囲内で、単に2017~2021年の間に渡りIntelが一方的に不甲斐なかったというだけのように見える(後述)。

 そもそもの話をすれば、Intel Coreに対するAMD Zenのコンセプトを端的に言い表せば、同年代のIntel Coreに比べ8割程度のコストで9割以上のシングルスレッド性能と同等以上のマルチスレッド性能を達成する、ということになろうかと思う。そして、そのコスト削減分を活用して同価格帯で+2コアのコア数を実現している(クライアント向けRyzen SKUの場合。サーバー向けEpyc SKUの場合では1.5~2倍近いコア数になる)。
 このため同世代ではIntel Core 10コアとAMD Ryzen 12コアは同等のコストになる(もし1コアあたり1.0:0.8なら、Intel 10コア対AMD 12コアで10:9.6でほぼ同等になる)し、シングルスレッド性能ではIntel CoreがAMD Ryzenを10%ほど上回るが、マルチスレッド性能では+2コア分が活きAMDが大幅に逆転することができる。

 そのため、AMD ZenファミリーのCPUアーキテクチャーは、最速性能を追求したというよりも、性能/コストや性能/消費電力などの現実的なバランスを取った(悪く言えば妥協した)ものに見える。
 例えば初代Zen/Zen+を見てもAVXユニットの物理実装はIntelの半分の128-bitで、これはAVXユニットそのものとLoad/Storeユニットの実装コストを削減できる。また、Chiplet化も他のCCXに付随するキャッシュへのアクセス遅延は無視できないほどに悪化するが、その一方で歩留まりの大幅な向上に役立つ。さらに現行モデルでもIntelはAVX-512を実装し、その効果を宣伝しているがAMDは実装していない。これらはすべて、性能が若干劣化するが大幅にコスト削減に寄与するものである。

 実際、2018年後半~2020年のIntel Core Gen 9-10・AMD Zen Gen 2-3を無視して、Intel "Coffee Lake"対AMD "Zen+"やIntel "Tiger Lake"対AMD "Zen 3"を比較すれば、上述の「Intel Coreに比べ8割以下のコストで9割以上のシングルスレッド性能と同等以上のマルチスレッド性能」・「AMDが+2コア」の構図は概ね正しいはずで、2018~2020年にAMDが素晴らしい実績を残したというか、Intelの製造技術が一方的に躓いた、という方がしっくりくる。
 以下はAnandTechからの引用と、対Core i7 8700K比での性能を示したものだが、シングルスレッド性能はCore i7 8700KがRyzen 7 2700Xに対し概ね10%上回るが、マルチスレッド性能ではCore i7 8700Kの6コアに対しRyzen 7 2700Xは8コアで逆転している。


Core i7 8700KRyzen 7 2700X
CineBench R15 Single-Thread
vs 8700K
205
100%
177
87%
CineBench R15 Multi-Thread
vs 8700K
1428
100%
1792
125%

 これはAMDの実績を否定しているわけではなく、仮にIntelが順調だったとしても、上述のAMDの巧妙な戦略により十分互角に戦えていたという意味である(単に、現実は想定よりも圧倒的だったというだけで)。

 今回CRNやWCCFが報じたAlder Lakeの性能についても、概ね予想の範囲内と言って良い。IntelもAMDも世代毎に10%強のIPC向上と5%強の動作周波数の向上との組み合わせで世代毎に20%前後の高性能化を果たしているからだ。
 下記はWCCF Techからの引用と、Core i9 11900K比での性能を示したものだが、例えばシングルスレッドの"Alder Lake"の825とZen 3の647という数字だけを比較すれば圧倒的な性能差に思えるが、来年初頭に登場するZen 3 + V-Cache(通称Zen 3D)や来年後半に登場するZen 4で20%程度の性能向上すると仮定すれば、現状(Intel "Tiger Lake"対AMD "Zen 3")から大きく形成が変化するようなものでもない。
 ただし、Intelからすれば2018~2020年の間のような劣勢になることもない(≒AMDの圧倒的優位は終わる)。


Core i9 11900KCore i9 12900KRyzen 9 5950X
CPU-Z Single-Core,
vs 11900K
682
100 %
825
121 %
647
94 %
CPU-Z Multi-Core
vs 11900K
6563
100 %
9423
144 %
11856
181 %

最近の気になった話題(2021年第33-34週)

2021-08-29 | 興味深かった話題

HotChips 33 - IBM z16 CP "Telum"

IBM Bets Big On Native Inference With Big Iron - The Next Platform

 IBMがHotChips 33にて同社の次世代メインフレーム=z16向けと思われる、Telumマイクロプロセッサーを発表したらしいが、個人的には驚くべき内容だった。

 Telumには推論アクセラレーターが統合されている点が注目されるが、IBMが推論アクセラレーターを開発しCPUに統合すること自体は驚くべきことではない。IBMは金融機関・政府向けにPOWER UNIXサーバーとSystem zメインフレームを製品として持っており、そのマーケットで要求されるアクセラレーターの統合は今回が初めてではない。これまでも10進浮動小数点・ZIP圧縮/展開などのアクセラレーターがハードウェアでサポートされている。
 筆者の理解ではメインフレームの用途はもっぱらレガシーで高信頼性が求められるワークロードに偏っているし、止まらないこと・演算の正確さが求められるが、推論であれ学習であれ機械学習領域は、勘定系などに比べれば数値的な意味で正確さはあまり求められないケースが多い。そのため一般的なメインフレームのワークロードからすると水と油の関係のようにも見えるのも事実である。
 ちなみに、今年後半に登場予定のPOWER10の場合ではCPUの拡張命令として Matrix Math Assist (MMA) enginesがCPUに追加されマトリックス演算をサポートしているが、z16ではコア外部のアクセラレーターとして追加されている。

 もっとも、The Next Platformも指摘する通りNVIDIA CUDAやAMD ROCmは専らx86-64、あとはせいぜいArm64・POWER向けで(Summit/SierraのようにPOWER CPUのLinux環境ではサポートされた実例がある)、メインフレームのような極めて閉鎖的・排他的なプラットフォームではサポートされないから、System zで推論アクセラレーターをサポートしたければIBMが開発して搭載する必要がある。

 個人的に気になるのは、全体構成としてどうなるのか?といった点である。
 前々世代・前世代であるz14・z15ではPCでいうCPUに相当するCPとCP間を接続するSPで構成されていたが、注目すべきはその大容量キャッシュで、CPにL1~L3キャッシュ・SPにIBMの御家芸ともいうべきeDRAMベースのL4キャッシュが積載され、L3キャッシュは12コアで共有の32 MB x 8 block = 256 MB、L4キャッシュは4 CPで共有の960 MBにも達した。

 これがz16 "Telum"ではCPがSoC化されCP同士で相互接続する形に変更された。"Telum"には8コアと32 MBのL2キャッシュが搭載され、z16 1ソケットは2チップのMCM構成となっている。1チップあたりのコア数はz15の12コアからz16では8コアと減ったが、1ソケットあたり2 CPチップのMCMとなったことでソケットあたりでは16コアに増えた。
 製造プロセスはz14/z15でのGlobalFoundries 14HPEからSamsung 7nmへと変更となり大幅にトランジスター密度が向上したが、チップの写真を見る限りでは増加したトランジスターバジェットのほとんどがL2キャッシュに割り当てられた感がある。

 z15では1 Drawerあたり4 CPが1 SPで接続され(共有キャッシュ容量は計1984 MB)、4 Drawerシステムでは各DrawerのSPが相互接続していた。これに対しz16では1 Drawerあたり8 CPチップが相互接続され(共有キャッシュ容量は計2048 MB)、4 Drawerシステムでは各Drawerの1 CPが他のDrawerの1 CPと相互接続する形になっている。
 注目すべきはL3~L4キャッシュを廃止しL2キャッシュを大容量化したことでSPチップを廃止してもキャッシュ容量は増加した点である。

 この変化は恐らくファウンダリー変更に起因している。
 元々、z13まではIBMが自社工場で製造しており、IBM伝統のeDRAMで膨大なキャッシュを統合していた。DRAMはトランジスター1個+キャパシター1個で1セルを構成するが一般的なSRAMはトランジスター6個で1セルを構成するため単位面積当たりの容量は一般に小さくなる。ただし、ロジック用プロセスで製造できるSRAMとDRAM/NAND用プロセスは異なるからeDRAMは先端製造プロセスでは一般的ではない。IBM System zの大容量キャッシュを実現していたのはIBM eDRAM技術と言って良い。
 2014年にIBMは製造部門をGlobalFoundriesに売却し、同社のPOWER・zのマイクロプロセッサーの製造もGlobalFoundriesに移行したが、14HPEは旧IBMの技術を基としており、恐らくそれが理由でeDRAMも搭載できていたと想像できる。

 しかし、今回のz16では製造がSamsung 7nmに移行し、恐らくeDRAMも使えなくなった。そこで、増加したトランジスターバジェットの多くをL2キャッシュに注ぎ込むことでSPを廃止しつつキャッシュ容量の増加に成功した。


先週の投稿記事の補筆修正

2021-08-07 | 興味深かった話題

 先週の記事で「Intelが新らしいプロセスノードのロードマップを発表」というタイトルでIntelのプロセスロードマップの発表内容について書いたのだが…舌足らずの部分があり、またメディアの報道との差異があるため、補筆・修正しようと思う。

Half Node世代の取り扱い

 PCWatch 笠原氏が記事中で以下のように記載されている通り、Intel 7=旧称10nm Enhanced SuperFin・Intel 4=旧名称7nmとするならばIntel 3は旧称7nm+と呼ばれるべきものだ。ASCII大原氏の記述もほぼ同様でIntel 3が旧称7nm++とされている違いがあるぐらいだ。Intel 3が旧称7nm+なのか旧称7nm++なのかについてはよく解らなかったのだが、Intel 3の後にHalf Nodeプロセスが無いので旧称7nm+・7nm++が統合されたと見るのが妥当かもしれない。

導入年名称フル/ハーフ
2021年Intel 7ハーフ
2022年Intel 4フル
2023年Intel 3ハーフ
2024年Intel 20Aフル
2025年Intel 18Aハーフ

 マイナビ服部氏の記事は以下の通りまったく異なる記載をしているが、筆者はこれは勘違いだと思う。Intel 4・Intel 3はそれぞれ旧称7nm・7nm+/7nm++、Intel 20Aは旧称5nmである。Intel 18Aは明快でないが、Intel 20Aからのタイムラグが僅か1年と考えると旧称5nm+と考えるのが妥当だろう。

  • Intel 4(=従来のIntel 7nmプロセスのEUV露光採用改良版。トランジスタ密度で比べるとTSMCのN5P/N4相当とみられる)。EUV露光装置の投入待ち、2022年後半に生産を開始し、2023年に量産開始を予定
  • Intel 3(=従来のIntel 5nmプロセス。ランジスタ密度では他社の3nm相当とみられる)。2023年の生産開始を予定
  • Intel 20A(=Intelの2nmプロセス)。2024年の生産開始を予定
  • Intel 18A(=Intelの1.8nmプロセス)。2025年の生産開始を予定

ここで勘違い頂きたくないのは、仮に誰か(服部氏か笠原氏か、あるいは他の誰か)が間違っているのだとしても筆者はライター諸氏を批判する気はまったく無い点である。 なぜなら、筆者が今回のIntelの発表を「リブランディング」と表現しているのは、Intelは名称を変更することでミスリーディングを発生させているように見えるからである。

補筆・訂正:過去のIntelのロードマップ

 先週の記事で掲載した表と説明が親切でなかったので改訂し補足説明したいと思う。
 そもそもの問題は2017~19年に10nm・2020~年に旧称7nmが遅延し、それ以前~2020年に発表されたロードマップが曖昧になってしまった点にある。延期が発表されたときに後続のロードマップへの影響の説明が不明瞭だったからだ。例えば2019年に仕切り直しでIEDM 2019でIntelとASMLによりロードマップとその後の方針が説明されたが、2020年8月に旧称Intel 7nmの半年の遅延が発表されて2022年以降のロードマップが再び不明瞭になってしまった。


Intel Roadmap
(Before 2017)
Intel Roadmap
(IEDM 2019)
Intel Roadmap
(August 2020)
Intel Roadmap
(New, July 2021)
TSMC Roadmap

Technology NameExpected DateTechnology NameExpected DateTechnology NameDate /  
Expected Date
Technology NameDate /
Expected Date
Technology NameDate /  
Expected Date
"7nm"10nm2017(10nm)(Cancelled)(10nm)(Cancelled)10nm(Cancelled)N72018
10nm+201810nm201910nm201910nm2019N7+2019
10nm++2019?10nm+202010nm SuperFin202010nm SuperFin2020N7P, N62019
(N/A)-10nm++202110nm Enhanced SuperFin2021Intel 72021--
"5nm"7nm2020?7nm20217nm2022Intel 42022N52020
(7nm+) 7nm+20227nm+?Intel 32023N5P2021


7nm++20237nm++?

N42022
"3nm"
(FinFET)
N/A-N/A-N/A-N/A-N32022
"3nm/2nm"
(GAAFET)
?
5nm20235nm?Intel 20A2024N22024-25?
  5nm+2024
 Intel 18A2025  


5nm++2025





 部外者が単純に考えれば、旧称7nmが半年遅延するなら後続のロードマップはすべて半年ずつ遅延する(→旧称5nmは2024年)ものと推測できるが、今回のIntelの発表での新情報は新名称だけで、ロードマップは半年分の遅延が確認されただけでしかない。今回のIntelの発表についてメディアの報道は概ね好意的だが、筆者としては同意できない。

「3nm」「Intel 20A」「Intel 18A」世代の取り扱い

 大原氏の記事の場合、TSMCはN2(仮称。N3の次世代で、TSMCはPost-N3などと表現している)でGAAFETを採用するということでIntel 20AとTSMC N2とを同一世代として扱っている。この場合Intel 20AとTSMC N2はGAAFETという技術世代で合致し、現時点で公開されている情報で判断する限り同一世代とするのは妥当そうに思える(※フィーチャーサイズなど詳細は未発表である。ただし2nm以下は微細化が停滞するので3nm以下の世代では微細化の程度はほぼ同等と推測できる)。

 しかし、大原氏のTSMC N4/N3をIntel 3と同等に扱う記載には疑問が残る。
 TSMC N3は確かにGAAFETではないがN7→N6やN5→N4のようなHalf Node世代でもないFull Node世代で、N5/N5P/N4→N3でトランジスター密度は1.7倍に向上し、相当するプロセス世代がIntelに無いからである(参考:AnandTechの記事)。
 Intel 3はIntel 4(トランジスター密度は~200 MTr/mm2)のHalf Node世代で恐らくトランジスター密度はほぼ向上しないからTSMC N3(トランジスター密度は単純計算で294 MTr/mm2)とでは同一世代とするのは無理がある。
 つまり、"5/4nm"世代プロセスの次にくるFull Node世代が、Intelでは20A・18AというGAAFETを採用した世代・TSMCでは従来のFinFETを採用したN3で、両者は単純比較できない。

 筆者はこのTSMCの保守的な方法はファウンダリーとしては正しく、Intelの7nm FinFET→5nm GAAFETへのジャンプはファウンダリーとしては危ういと考える。
 TSMCは新技術導入の際は従来技術でFull Nodeを開発しつつ、並行して新技術を開発する。例えばFinFETの時は通常のHKMGの20SoCのバックエンドを流用して16FFを作ったし、EUVの時はFull NodeのN7を従来のDUVで作ったうえでN7+・N7P・N6でEUVを段階的に導入している。言い換えれば16FF/N7+/N2といった新技術を採用したノードがうまく立ち上がるか否かにはリスクがあるが、TSMCは違いの少ない・旧技術を使った別ノードとして20nm/N7/N3を持つことでリスクを軽減しているわけだ。

 このことは技術的には面白みに欠けるが、顧客からすれば製品計画を立てる上で重要だ。7月にAppleとIntelがTSMC N3の最初の顧客と報じられたが、言い換えればAppleもIntelも2022年後半にTSMCで現在の最新世代=N5より2世代も進んだトランジスター密度が1.7倍のプロセスを確実に利用できるという確固とした製品計画を立てることができるためだ。

Intel 20A(GAAFET)はうまく立ち上がるのか?

 大原氏は記事中でGAAFETを採用するIntel 20Aの立ち上げに疑問を投げかけられているが、筆者も同意見である。14nmで大きくもたつき予定通りの性能を達成できず、10nmで2年間も遅延した上に予定通りの性能を達成できず、7nmで少なくとも半年遅れているのに、5nmでスケジュールを信じろという方が無理があるだろう。

 ところで、今週のマイナビで興味深い記事が出ている。
次世代トランジスタ構造「GAA」関連特許出願数の最多はTSMC - マイナビ

 筆者には記事中に掲載されている数字と、ファウンダリー各社の説明内容の齟齬やウワサ話が興味深く思えて仕方が無い。

 特許数と実際のプロセスの開発の進捗状況とが完全に一致するとは限らないが、特許数シェアではトップを走るTSMCの後にSamsung・IBM・GlobalFoundriesと続きIntelは5番目でしかない。ところが、ファウンドリー各社のロードマップではTSMCのPost-N3(通称N2)は2024~25年・Samsung 3GAP/3GAEは2022年・IntelのIntel 20Aは2024年とされており一致しない。
 Samsungは特許数2位で20%ものシェアをもっており、先月末から試作を開始しているので信憑性はあるが、果たしてIntelのロードマップに信憑性があるか?というのは疑問である。

 しかし、思い返してみるとIntelとIBMは提携を発表しており、Intelは最近GlobalFoundriesの買収を交渉中と報道された。もしIntel(特許シェア4.7%)がGlobalFoundries(特許シェア5.5%)を買収した上でIBM(特許シェア10.2%)と広域なクロスライセンスを行うと仮定すると、IntelはSamsungに匹敵する20.4%もの特許にアクセス可能となる。
 もちろん、2021年8月現在でIntelによるGlobalFoundries買収は実現していないし、IBMとの提携も半導体のプロセス製造の共同研究開発というだけでGAAFET関連のクロスライセンスとまでは言及されていないが、Intel単独では実現が難しそうでも買収や提携という力業により実現性の確度を高めることは可能かもしれない。


最近の気になった話題(2021年第30週)

2021-08-01 | 興味深かった話題

Intelが新らしいプロセスノードのロードマップを発表

Intelが今後4~5年で5世代分のプロセスノードを連投 - PC Watch
Intel Process Technology Updates - WikiChip Fuse
Intel Charts Manufacturing Course to 2025 - EETimes

 記事のライター=笠原氏に文句を言うつもりは無いが、筆者の感覚としてはIntelの新らしいロードマップは、とりあえず2023年までは「リブランディング」が中心で既存のロードマップとほぼ違いは無く、同社の遅延を大きく盛り返すものではなさそうに思える。
 問題はその先=2024年の「Intel 20Å」プロセスで、これがもしIntelの宣伝通りであれば問題無いが、スケジュールが遅延した場合はTSMCを追跡できていないことになる。ちなみに、現在の予定では「Intel 20Å」はGate-all-aroundの、Intel 3とはまったく異なるプロセスである。

 Intelのプロセスロードマップは2017年に躓いてから7nmやその先の詳細な情報があまり出ていなかったため、新プロセスノードの登場時期の当初の予定などについてはある程度推測するしかないが、2016年に発表した開発モデルに倣うのであれば10nmは2017年・7nmは2020年に登場したはずだったのではないかと想像する。
 2016年以前のIntelは、プロセスノード(フルノード)更新とCPUアーキテクチャー更新を交互に2年毎に行っており「Tick-Tock」モデルと呼ばれていた。それが、プロセスノード開発の難易度上昇に伴いフルノードの更新が2年毎から3年毎に延長することを発表したのが2016年のことだった。当時最新の14nmプロセスの登場が2014年のことだったから、2017年に次世代=10nmプロセスが登場予定で、そこから推測すると、次々世代=7nmプロセスも2020年頃に登場する予定だったことだろう。
 ちなみに、2012~14年までのIntelは競合他社TSMC・Samsungに対し1世代ほども先行していたが(参考)、2014~16年にその差が縮まる予定だった。ところが、蓋を開けてみるとIntel 10nmはさらに2年間も遅延し、現在ではTSMCが2年間先行する状況となっている。

 下の表は過去のIntelのロードマップ・今回のIntelのロードマップ・TSMCのロードマップを纏めたものである。TSMC 5nmと同等の「Intel 7nm」を「Intel 4」と呼び変えて見た目の印象は改善しているが、3nm世代の投入時期がTSMCは2022年・Intelは2024年で、特に現在から変化していないことが解る。


Intel Roadmap (Old)Intel Roadmap (New)TSMC Roadmap

Technology NameExpected DateTechnology NameDate /
Expected Date
Technology NameDate /  
Expected Date
"7nm" Class10nm2017(Cancelled)-N72018
10nm+201810nm2019N7+2019
10nm++2019?10nm SuperFin2020N7P, N62019
(N/A)-Intel 72021--
"5nm" Class7nm2020?Intel 42022N52020
(7nm+)
Intel 32023N42021
"3nm" Class?
Intel 20A2024N32022


Intel 18A2025

 もちろん、Intel 3nm=20Åは新技術=Gate-all-around採用で、TSMC N3よりも先進的で単純比較することはできない。しかし、Intelは10nmの時もフィーチャーサイズやコバルトが他社よりも優れている(参考1参考2)と宣伝し続けて2年間以上の遅延した上に低性能だったという過去があるので、その点を過剰に評価するのは控えたい。

 ところで、EE Timesの記事によるとQualcommがIntel 20Å、AWSはIntelのパッケージング技術の採用が発表されたらしい。

 筆者の印象ではQualcommは値引きと製造量の確保ができれば、割と柔軟に製造企業を選ぶように思われる。
 Snapdragon 888でQualcommはSamsung 5LPEプロセスを採用したが、Samsungが大幅なディスカウントをしたというのがもっぱらのウワサである(当然ながら公式情報は無いが…)。恐らく5nmではApple・NVIDIA・AMDとの予約枠の獲得競争もありTSMCよりもSamsungの方が製造量を確保しやすかったというのも理由のひとつだろうと邪推する。また、Qualcommは米国政府による対中国貿易制裁以前ではローエンドSoCを中国SMICで製造していたこともある。
 もちろん、これはAMD・NVIDIAとは違い論理合成で済ませているため比較的柔軟にファウンダリーを載せ替え易いということにも起因しているのだろう(参考)。

 AWSの採用するIntelのパッケージング技術というのはよく解らない。
 AWSは子会社Annapurna LabsがSoCやNPUやENAなどのASICを手掛けているが、パッケージング技術(例:Foveros Omni・Foveros Direct・EMIB)だけでは何を製造・パッケージングするのか解らない。
 言い換えるとAWSは現時点でのIntelでの製造は確定していないわけで、その場合はIntelで(AWS以外が?)製造した別の半導体と一緒にパッケージングするのでなければ、わざわざIntelでパッケージングする辻褄が合わない。
 筆者の想像ではNPUかENAなどとIntelの既成のXeonやFPGAとをオンパッケージ(プロトコルはCXLか?)で接続したものを企画しているのではないかと思うが、続報を待ちたいところである。


最近の気になった話題(2021年第28-29週)

2021-07-25 | 興味深かった話題

Zen 4世代EpycはHBMを搭載する?

AMD Reportedly Planning Zen 4 EPYC Genoa CPUs With HBM Memory - WCCF Tech

 Zen 4世代EpycはHBMを搭載するというウワサがあるらしい。
 もちろん製品が発表されるまで真偽は不明だが、もし現在の基本的なアーキテクチャーが維持されると仮定した場合、HBMが採用される可能性は非常に低いと推測する。理由はHBMの広大な帯域を活かすことが難しいからである。

 Intel Core/Xeonと違いAMD ZenファミリーのアーキテクチャーはHBMによる効率化が難しい。
 その理由はCPUコア⇔メモリー間のバスであるScalable Data Fabric(SDF)の帯域がDDR系メモリー動作周波数に同期しており帯域も2チャンネル分の帯域に合うように設定されているからである。DDR4-3200の場合では帯域は25.6 GB/s/chで2チャンネルで51.2 GB/sとなるがSDFの帯域も51.2 GB/sに設定されている。つまりメモリー間の通信は51.2 GB/sでバランスがとれるよう設定されている。
[CCX]←(SDF 51.2 GB/s)→[UMC]←(25.6 GB/s x 2 ch)→DDR4メモリー
 もし仮に、現在のEpycのDDR4メモリーをHBM2E(1スタックあたり307 GB/s。4スタックと仮定して1228 GB/s)に入れ替えた場合SDFがボトルネックとなり性能は向上しない。
[CCX]←(SDF 51.2 GB/s)→[UMC]←(307 GB/s)→HBM2Eメモリー
 従って、DDR4/DDR5系メモリーをHBM系メモリーに置き換えたければ、現行のInfinity Fabricの帯域やあるいはメモリートポロジーを大幅に変更する必要がある。

 なぜ、そのような大幅な変更が必要になるのか?端的に言えばInfinity Fabricの設計思想とHBM系メモリーの利用が相反するからではないかと思う。
 ZenアーキテクチャーではRyzenからEpycまで1 CCDまたは2 CCDで2 chメモリー帯域を共有して釣り合うようにメモリートポロジーが設計されている。Ryzenの下位モデルでは1 CCD + cIODの構成で2chメモリー・上位モデルでは2 CCD + cIODの構成で2chメモリーとなっているし、Epycでも下位モデルでは4 CCD + sIODの構成で8chメモリー・上位モデルでは8 CCD + sIODの構成で8chメモリーとなっている。
 例えば現行のEpycでもDDR4 8チャンネル、DDR4-3200と仮定し512-bit幅・204.8 GB/sもの帯域をもつことになる。ところが、Epycの特定のCPUコアに着目してみると204.8 GB/sは使えないことが解る。上述の通りCCD - sIODを接続するIFOPの帯域は51.2 GB/sに設定されているからである。もしかすると瞬間的に8チャンネルすべてを1コアのワークロードが占有することもあるかもしれないが、通常は最大2チャンネル分=51.2 GB/sしか使用することはできない。
 Epycで現行のメモリートポロジーに大きな変更を加えることなく帯域を増やしたければ、まずEpycのSDFの帯域を2チャンネルではなく8チャンネルに合わせることが先だろう。

 ちなみに、Intel Core/Xeonの場合ではCPUコアはメモリーコントローラーと広帯域のオンチップファブリックで接続されるためHBM系メモリーの統合は難しくない。例えばSkylake-SP世代Xeon Scalableの場合オンチップネットワークの帯域は~768 GB/sで、メモリーコントローラーは2基(各3チャンネルで計6チャンネル)搭載されているから、HBM系メモリーに単純に置き換えるだけで最大1536 GB/sの帯域は確保できる。

 もしHBMを使う前提で、Zenファミリーのアーキテクチャーを変更するとすればSDFをバス幅を広げたり動作周波数を向上させて帯域を大幅に引き上げるか、メモリー周りのトポロジーを大幅に変更する必要があるが、現在のDDR4メモリーをHBM2Eメモリーに単純に置き換えsIODに接続することは考え難い。
 まず、CCDとcIOD/sIODを接続するオンチップのSDFやChiplet間を接続するInfinity Fabric on Package(IFOP)も帯域を引き上げる必要がある。SDFにはオンチップ/オンパッケージ/インターソケットの3種類の物理実装があるが帯域は揃えられている。DDR4→DDR5のような最大2倍程度の帯域向上は動作周波数の向上などで達成可能だろうがDDR4→HBM2Eで12~24倍もの帯域向上となると話は違ってくる。そして、動作周波数を大幅に引き上げると電力効率が悪化する可能性がある。現在のMulti-Chip Moduleでは1 pJ/bitが指標となっており、Zen/Zen+世代では2 pJ/bitだったことが発表されているが(参考)、これがさらに悪化する可能性がある。
 SDFに変更が入る場合、デスクトップ製品への影響も考慮する必要がある。Zenファミリーではデスクトップ用=Ryzenとサーバー用=Epycでチップレット=CCDを共通化することで低コスト化とスケーラビリティーを確保しているわけで、HPCのような特定用途向けの変更をCCDに取り込むことは容易ではない可能性がある。

 比較的実現の可能性が高そうなのがCCDに直接接続してキャッシュとして利用する場合だが…これは先日発表された3D V-Cacheと真っ向から対立するため、筆者にはAMDの構想と矛盾しているように感じられる。

 3D V-Cacheを利用した場合とHBMをCCDに接続するキャッシュとした場合とでは相互に利点と欠点が考えられる。
 3D V-Cacheの欠点としてはAMD独自のダイとなるため生産数が少なければコストが高くなる可能性があり、またSRAMベースのため容量もHBM比では小さくなる。代わりに利点としてはSRAMベースのため遅延で有利だし、既存のL3キャッシュをスタッキングするだけだからバスを引き廻したりコントローラーを配置するなど現行のメモリートポロジーに一切の変更の必要も無くコアとの統合の面で有利である。
 HBM系メモリーはDDR系メモリーと比較すれば広帯域だがキャッシュとして見た場合に広帯域かといえば疑問が残る。HBM2Eはスタックあたり最大307 GB/sだが、Zen 2/Zen 3のL3キャッシュは32 B/cycle/coreで4 GHz時に128 GB/s/core、つまり8コア/CCDとすると1024 GB/s/CCDとなる。多少遅延が大きくても大容量・広帯域のキャッシュが必要な場合はHBM系メモリーも考えられるが3D V-Cacheと比較すると性能面での不利は否めないだろう。

 筆者にはそもそも3D V-Cacheの開発とHBM系メモリーへの対応は矛盾しているように感じられる。
 HBM系メモリーの最初の規格=HBMの登場は2013年のことで、3D V-Cacheが発表された今年6月より遥か以前で、もしAMDがキャッシュとしてHBM系メモリーの搭載を計画しているのであれば3D V-Cacheの開発や製品化などそもそも必要が無いためである。

IntelがGlobalFoundriesを300億ドルで買収を計画中?

Intel in Talks To Buy GlobalFoundries for $30 Billion: Report - Tom's Hardware
Intelがファウンドリ事業拡大のためGFの買収を画策か? - マイナビ

 最先端プロセスという観点ではGlobalFoundriesは見るべきものがない。しかし、そもそもPC/スマートフォン用以外では最先端プロセスは必要無く別の要件がある場面が多い。IntelがIDM2.0と呼ぶIntel Foundryビジネスで既存のIntel製品の需要とは異なる需要に対応するには、案外悪くない選択肢かもしれない。

 例えばルネサスは今年2月のISSCCでハイエンド車載SoC「R-Car V3U」を発表したが製造プロセスはTSMC 12nmで、これはルネサスに限った話では無い。
 組込半導体では製品寿命が長い(例:10年超の長期供給保証)からファウンドリーのLong Liveノードである必要があるし、長期供給なのだから最先端に拘ることは大きな意味も無い(どうせ4~5年後には最先端ではない)し、用途によっては高電圧のI/Oを扱う必要があるから先端の超微細プロセスは対応していない場合もある。あるいはコストに対するの要件が強くTSMC N7・N5など最先端で効果なプロセスは利用が困難な場合もある。
 こういった需要は現行のIntel製品ではあまり対応の必要が無かったように思われるが、IDM2.0で多種多様な半導体の製造を受注したければ、そういう需要に対応できるプロセスノードが必要になる。

 また、IntelとIBMが協業を考えているとすれば、IBMから工場・特許など知的財産・開発チームを引き継いだGlobalFoundriesは魅力かもしれない。また、IntelがGlobalFoundriesを買収した場合はIBMもGlobalFoundries相手の訴訟を取り下げるかもしれない。

 IntelがGlobalFoundries買収に提案中という300億ドルという投資額は一般人からすれば膨大な額には違いないが製造設備や製造技術の額としては高価ではない。
 例えばIntelは製造能力の増強に膨大な投資をしておりアリゾナ州に200億ドルでファブの建設を発表している。このアリゾナ州の新工場の性能は不明だが、TSMCが同じくアリゾナ州に120億ドルでファブを建設予定でこちらは20,000ウェハー/月とされているので、それをやや上回ることだろう。これに対しGlobalFoundriesの製造工場はニューヨーク州マルタのFab 8が60,000ウェハー/月、AMDから引き継いだドイツ ドレスデンのFab 1が66,000ウェハー/月である。
 もちろんIntelのアリゾナ新工場(3nm?)とGlobalFoundriesの旧式工場(Fab 8は~12/14nm、Fab 1は~22nm)とではプロセスが違うし、そもそも最先端プロセスではマルチパターニングなどによりスループットが低くなる傾向があるため単純比較することは無理があるが、それを差し引いても新たに工場を建設し、新規顧客を開拓することを考えれば安上がりと言えなくもないかもしれない。