Qualcommは、11月15日(現地時間)に米国ハワイ州マウイ島の会場において、同社のフラグシップ・スマートフォン向けSoC「Snapdragon 8 Gen 2」を正式に発表した。
Snapdragon 8 Gen 2はQualcommの内部コードネームで「Kalama」で開発されてきた製品で、昨年(2021年)発表され、今年販売されてきたプレミアム・スマートフォンに搭載されているSnapdragon 8 Gen 1の後継となる製品だ。今回のSnapdragon 8 Gen 2では、CPUにも、GPUにも、そしてDSPにもハードウェア的に大きな改良が施されており、Snapdragon 8 Gen 1から大きな性能強化が実現されているのが大きな特徴になる。
Snapdragon 8 Gen 2はTSMCの4nmで製造され、CPUはCortex-X3が1コア、Cortex-A715が2コア、Cortex-A710が2コア、Cortex-A510が3コアとなる。GPUはシェーダーエンジンが20%増やされているほか、ハードウェア・レイトレーシング・エンジンを搭載している。
- 同じ4nmだが、委託製造先はSamsungからTSMCへと変更
- Cortex-X1が1つ、Cortex-A715が2つ、Cortex-A710が2つ、Cortex-A510が3つというユニークなCPU構成
- シェーダーエンジンが25%増加、RTエンジン追加が大きな機能向上のGPU「Adreno 740」
- 消費電力を抑えるようなレイトレーシング・エンジンの設計、SoC全体で5~6Wを維持して実現
- 新しいアクセラレータを搭載して2倍の性能向上を実現しているTensorを内蔵した新Hexagon
- ISPとDSPを専用のインターコネクトで接続して、静止画・動画撮影時にAI推論、リアルタイムで高画質化処理
- GPU、CPUとも大きな性能向上を確認、特にGPUの性能向上が印象的なSnapdragon 8 Gen 2
同じ4nmだが、委託製造先はSamsungからTSMCへと変更
QualcommはSnapdragon 8 Gen 2の発表時に、製造に利用されているプロセスノードは4nmであると説明した。しかし、どのファウンドリを利用しているかは具体的に説明していなかったのだが、Qualcomm Technologies Snapdragon 技術・ロードマップ 製品管理担当 上席副社長 ザイード・アスガル氏は「今回のSnapdragon 8 Gen 2に関してはTSMCの4nmを利用している」と明らかにした。
Qualcommは3世代前のSnapdragon 865、4世代前のSnapdragon 855ではTSMCの工場で委託製造していた。しかし、その後のSnapdragon 888とSnapdragon 8 Gen 1では、Samsungの5nmおよび4nmという5nm世代に切り替えて、Samsungの工場で委託生産を行なってきた。
一般的にファウンドリに委託して生産を行なうファブレスメーカーの場合、大きな意味での1つの世代(10nmであればそのバリエーションになる8nm、7nmであれば6nm、5nmであれば4nm)の間は同じファウンドリを使い続けるのが一般的だ。というのも、ファウンドリのプロセスノードに落とし込んで製造するには、ファウンドリが提供するツールを利用して物理的な設計を最適化していく必要があるからだ。最適化にはそれなりの時間がかかるし、同じ世代であれば1度最適化したデータやノウハウなどが使い回せるため、よほどの理由がなければ、別のファウンドリに切り替えることは、例がないわけではないが、あまりない。
アスガル氏は「通常、我々は物理設計を、論理設計とは別に行なっており、同世代内でも乗り換えは不可能ではない。常に言っているが、回路性能、消費電力、コストなどを総合的に考えてその時点で最もよいと思われる選択をしている」と述べ、同世代内でも乗り換えは十分あり得るし、Qualcommはそうした選択肢も常に検討していると強調した。
では、Samsungの4nmからTSMCの4nmへ乗り換えるメリットはなんだろうか? その質問にはアスガル氏は具体的には答えなかったが、「回路性能、消費電力、コストなどを総合的に考えて」の部分に答えが隠されていると考えることは可能だろう。そして、それが何かは、以下に説明するSnapdragon 8 Gen 2のハードウェアの仕様などからもある程度は読み取ることができる。
Cortex-X1が1つ、Cortex-A715が2つ、Cortex-A710が2つ、Cortex-A510が3つというユニークなCPU構成
「Kryo」とブランド名だけになり、数字の番号が振られることがなくなったSnapdragonのCPUだが、今回も大きな進化を遂げている。具体的には、従来はプライムコア(Cortex-Xシリーズ)が1つ、パフォーマンスコアが3つ、高効率コアが4つという8コアになっていたのだが、今回のSnapdragon 8 Gen 2のKyroではプライムコア(Cortex-X3)が1つ、パフォーマンスコアが4つ、そして高効率コアが3つという構成に変更されているのだ。
ブランド | Snapdragon 8 Gen 2 | Snapdragon 8 Gen 1 | Snapdragon 888 | Snapdragon 865 | Snapdragon 855 | Snapdragon 850 |
---|---|---|---|---|---|---|
発表年 | 2022年 | 2021年 | 2020年 | 2019年 | 2018年 | 2017年 |
CPUブランド名 | 新Kryo | 新Kryo | Kryo 680 | Kryo 585 | Kryo 485 | Kryo 385 |
プライムコア | Cortex-X3(1) | Cortex-X2(1) | Cortex-X1(1) | - | - | - |
パフォーマンスコア | Cortex-A715(2)/A710(2) | Cortex-A710(3) | Cortex-A78(3) | Cortex-A77(4) | Cortex-A76(4) | Cortex-A75(4) |
高効率コア | Cortex-A510(3) | Cortex-A510(4) | Cortex-A55(4) | Cortex-A55(4) | Cortex-A55(4) | Cortex-A55(4) |
L3キャッシュ | 8MB | 6MB | 4MB | 4MB | 2MB | 2MB |
GPUブランド名 | Adreno 740 | Adreno 730 | Adreno 660 | Adreno 650 | Adreno 640 | Adreno 630 |
メモリ種類/データレート | LPDDR5-4200 | LPDDR5-3200 | LPDDR5-3200/LPDDR4x-2133 | LPDDR5-2750/LPDDR4x-2133 | LPDDR4x-2133 | LPDDR4x-1866 |
DSP | 新Hexagon | 新Hexagon | Hexagon 780 | Hexagon 698 | Hexagon 690 | Hexagon 685 |
ISP | 新Spectra | 新Spectra | Spectra 580 | Spectra 480 | Spectra 380 | Spectra 280 |
モデム | X70(内蔵5G) | X65(内蔵5G) | X60(内蔵5G) | X55(外付け、5G/7.5Gbps) | X24(CAT20, 2Gbps) | X20(CAT18, 1.2Gbps) |
製造プロセスルール | 4nm(TSMC) | 4nm(Samsung) | 5nm(Samsung) | 7nm(N7P,TSMC) | 7nm(N7,TSMC) | 10nm(Samsung) |
こうしたユニークな構成になっていることについて、アスガル氏は「4コアのパフォーマンスコアは、Cortex-A715とCortex-A710がそれぞれ2コアずつある構成になっている。なぜかと言えば、Cortex-A715は32bitのArm命令に対応しておらず、64bitのArm命令にだけ対応している。32bitのArm命令との互換性を担保するために、A715が2コア、A710が2コアという構成になっている」と説明した。
現在Androidプラットフォームでは32bitから64bitへの移行を急速に進めているが、同じように32bitから64bitへの移行を進めてきたWindowsプラットフォームでは、実に10年以上使ってようやく64bit OSへの移行が進んだような状況で、32bitアプリケーションの互換性は未だに残されている現状だ。そのぐらい下位互換性を切り捨てるというのは、労力も時間も必要だし、最後には「エイヤ」と多少強引にでも切り捨てないと次のプラットフォームに進めないものだ。
Androidプラットフォームでは、2019年からGoogle Playのストアに公開するアプリには、64bit版を含むようにする必要があり、最新のアプリではその移行が進んでいるが、古くてバージョンアップがされていないアプリなどは未だに32bitしかないというのが現状だ。そのため、32bitアプリを走らせる環境は未だに必要になる。
ところが、今年Armが発表したCortex-X3とCortex-A715はいずれも64bitArm命令にのみに対応しており、32bitには対応していない。このため、プライムコアとパフォーマンスコア側に切り替えた時に、32bit命令のアプリを実行することができなくなってしまう。このため、32bitにも対応しているCortex-A710を2コア搭載し、32bit命令のアプリを実行する場合にはCortex-A710で実行するような仕様になっているということだった。
そして、従来はパフォーマンスコアが3コアだったのを4コアに増やしたため、高効率コアを3コアにしたのだということだった。なお、CPUのクラスターとしては、プライムコアになるCortex-X3の1コアで1つ、パフォーマンスコアになるCortex-A715+Cortex-A710の4コアで1つ、高効率コアのCortex-A510の3コアで1つとなる。
アスガル氏は「ほかのSoCベンダーがCPUのバックボーンをArm社のIPデザインをそのまま利用しているのに対して、我々は自社開発をしている。このため、こうしたデザインが可能になっているのだ」と強調し、QualcommがArmの「カスタムIPライセンス」と呼ばれる、ArmのIPライセンスを元にしていてもSoCベンダーが改良できるライセンス契約をしていて、こうしたカスタムデザインを行なう開発能力を有していることをアピールした。
シェーダーエンジンが25%増加、RTエンジン追加が大きな機能向上のGPU「Adreno 740」
Snapdragon 8 Gen 2のGPUだが、QualcommのGPU設計を担当している関係者によれば、基本的にはSnapdragon 8 Gen 1のGPUの進化形になるという。というのも、Snapdragon 8 Gen 1でGPUは完全に新しいアーキテクチャに移行しており、Qualcomm内部ではAdreno 730と呼ばれていたのがGen 1のGPUだったという。
Snapdragon 888以前のGPUではAdreno 6xxという型番だったので、型番からも新世代であることが伺える。その内部的に700番台で呼ばれているAdrenoは、内部のアーキテクチャを見直して、特にVulkan APIを利用した時に高い性能が出るように設計されているという。というのも、Androidゲームの多くはVulkan APIを利用するからだ。
今回のSnapdragon 8 Gen 2に搭載されているAdrenoは、内部的にはAdreno 740と呼ばれており、Snapdragon 8 Gen 1世代のAdreno 720に比べてシェーダーエンジン(NVIDIAで言えばSM、AMDで言えばSPと呼ばれる内部演算器のこと)が25%増やされているという。同じプロセスノードの世代(4nmから4nm)なのに、より多くのトランジスタを使うシェーダーエンジンを増やせたのは、言うまでもなくSamsungからTSMCに切り替えたことのメリットが現われていると理解するのが正しいだろう。
そして、もう1つの改良点はSoCのメモリのデータレートが引き上げられていることだ。Snapdragon 8 Gen 1ではLPDDR5-3200をメインメモリとして採用していたが、Gen 2ではLPDDR5-4200にデータレートが引き上げられている。このため、メインメモリの帯域幅がより広くなっている(Qualcommはメモリのバス幅を公開していないので、具体的な帯域幅は不明だが、計算上は約31%帯域幅が向上していることになる)。GPUはメモリの帯域幅が性能に直結するので、このことも性能向上に影響を与えていると考えることができる。
これらにより性能は25%向上しているが、電力効率は45%改善し、さらにVulkan API経由の性能も30%改善しているほか、最新のVulkan APIとなるVulkan 1.3に対応しているとQualcommは説明している。
消費電力を抑えるようなレイトレーシング・エンジンの設計、SoC全体で5~6Wを維持して実現
Adreno 740のもう1つの大きな特徴はハードウェア・レイトレーシング・エンジンを搭載して、表現力が大きく向上していることだ。QualcommはSnapdragon 8 Gen 2のレイトレーシング・エンジンについて詳細は明らかにしていないが、APIとしてはVulkanのレイトレーシングAPIを利用していることを明らかにしている。
デスクトップPC(つまりWindows PC)のレイトレーシングは、APIとしてDirectX12 DXRを利用しているが、APIのコンバージョン自体は大きな作業ではないとQualcommは説明しており、実際ゲームパブリッシャーの多くは数日の作業で、Windows向けのコードを、AndroidのVulkanに変換することが可能だったということだ。既にAndroidゲーム向けに提供されているゲームエンジン、例えばUnreal Engine 5などでは、このAndroidのVulkan API向けのレイトレーシングサポートが進んでおり、近い将来にレイトレーシングに対応したAndroidゲームタイトルが市場に登場する可能性が高い。
今回QualcommはSnapdragon Summitにおいて、Gaijin Entertainmentの「WarThunder Edge」、NetEase Thunderfire Studiosが作成した「Justice Mobile」の2つAndroidゲームタイトルでデモを行なっている。
Justice Mobileでは壺の映り込みや水面の映り込みといった部分にレイトレーシングが使われており、表現力が増していることが確認できる。写真よりも動画の方が分かりやすいので以下の2つの動画を合わせてご参照いただきたい。
[embedded content]
[embedded content]
なお、Qualcommの関係者によれば、現在市場にはNVIDIAのRTXシリーズ、AMDのRDNA 2/3という2つのレイトレーシング・エンジンの実装があるが、Qualcommの実装はそのうちRDNAの実装に限りなく近い実装だという。
RDNA 2/3ではグラフィックスパイプラインの最後のステージに、レイトレーシングの処理を行なうエンジンが処理を行なう仕組みになっており、Qualcommの実装もそれに近い可能性が高いということだろう。
NVIDIA型の実装は絶対的な性能や表示品質などではメリットが大きいが、AMDやQualcommの実装はエンジンに必要なダイ面積が比較的小さくなる実装だと考えられ、そのため比較的少ない消費電力で高い表現力を実現できていると考えることが可能だ。
また、Adreno 740にはシャドーデノイザー(影のノイズを軽減するハードウェア)が用意されており、レイトレーシングで影を表現するときなどに、ノイズを削減することで表示品質を向上させる仕組みが入っている。何と比較しては明確ではない、デスクトップPC向けのGPUに比べて4倍高速に処理できるとQualcommは主張している。
Qualcommによれば、こうした性能とレイトレーシングによる高い表現力を、Snapdragon 8 Gen 2は5~6W程度の消費電力のレンジで実現している。なお、QualcommのSoCは、Intel的な言い方をすればcTDP(configurable TDP、可変TDP)の仕組みを持っており、OEMメーカーが10W、15Wなど熱設計の枠を引き上げることが可能になっている。もちろんスマートフォンという大きさの制限はあるため、無限に引き上げることはできないが、例えばゲーミング・スマートフォンなどでは放熱機構の工夫を加えて、筐体サイズを大きくするなどにより10W程度まで引き上げることは可能で、その場合には5~6Wで設計されているQualcommのリファレンスデザイン(QRD)に比べて性能を引き上げることが可能だ。
新しいアクセラレータを搭載して2倍の性能向上を実現しているTensorを内蔵した新Hexagon
DSPのHexagon(ヘキサゴン)も強化されている。QualcommのSnapdragonシリーズは、Qualcomm AI Engineというソフトウェアレイヤーを利用して、CPU、GPU、DSPなどを一体のNPUとして扱い、AI推論を行なう機能が用意されている。その処理の中でも、NPU、そしてAIアクセラレータと呼ばれる機能に該当するのがHexagonになる。
2015年に発表されたSnapdragon 820において初めてQualcomm AI Engine(相当の機能、当時はそういう名前では呼ばれていなかった)を搭載し、その後のSnapdragonの年次アップデートの中で機能を強化してきた。特に一昨年(2020年)のSnapdragon 888では、推論時の性能指標であるTOPs(TrillionsないしはTera Operations Per Second)では26TOPSになったと発表するなど年々性能を高めてきている。
ただし、TOPSを単位とする性能を発表したのはSnapdragon 888で最後で、昨年のSnapdragon 8 Gen 1や今年のSnapdragon 8 Gen 2では具体的な性能を公表しておらず、前世代に比べて4倍(昨年のSnapdragon 8 Gen 1)や4.35倍(今年のSnapdragon 8 Gen 2)などの根拠がやや曖昧な数字しか公開していない。
Snapdragon 8 Gen 2の新Hexagon(QualcommはSnapdragon 8 Gen 1から内部プロセッサのブランド名に数字をつけるのをやめており、世代を判別するのが面倒になっているので、以下新Hexagonと呼ぶことにする)では、ハードウェア的な拡張がいくつか加えられている。
1つには専用電力回路(Dedicated Power Delivery)が用意されており、DSP全体の省電力がこれまでよりも細かく行なうことが可能になっている。Qualcommは新Hexagonの電力効率の改善率は60%と説明しており、1世代分の電力効率の改善としてはかなり大きな理由はそうした専用の電力回路をもうけたことにあると考えることができる。
また、DSPのAI推論向けの演算に使われる主力プロセッサとなるTensorプロセッサは2つのアクセラレータ(アクティベーションズファンクション、グループ・コンボリューション)が追加され、最大2倍の性能向上が実現されている。
もう1つはAI推論の演算方法の改善だ。Hexagonシリーズでは、タイルと呼ばれるデータに分割して、DSP内部のTensorエンジン、スカラーエンジン、ベクターエンジンに別けて演算する方式をとっている。これまでは割と大きなデータをそれぞれのエンジンに入力する形になっていたのを今回の新Hexagonではより小さな単位(マイクロタイル)にさらに分割して入力することが可能になっている。これにより、各エンジンの実行効率を上げることが可能になっている。
もう1つはINT4とその混合精度に対応したことがあげられる。一般的なAI推論は、FP32のデータ精度を利用して行なわれるが、AI推論にはFP32は正確性の観点から過剰だと言うことが分かってきて、それをFP16、そして最近のトレンドとしてはINT8に置きかえることが一般的になってきている。精度を下げても、正確性はあまり下がらないことが分かってきたからだ。
データの精度を下げればデータ量を減らすことができ、同じAI推論を行なってもプロセッサへの負荷は減らすことが可能になるため、こうした手法が一般的になっている。QualcommのHexagonも、Snapdragon 8 Gen 1世代のHexagonにおいて、INT8やINT16やその混合精度に対応しており、より低い負荷でAI推論を行なえるように工夫されている。今回の新HexagonにおいてはINT4に対応し、さらにINT4も含めた混合精度に対応することで、より低い負荷でAI推論を行なえるように工夫されている。
こうした改良により、ベンチマークの結果などを元にして前世代より4.35倍性能が向上している。
ISPとDSPを専用のインターコネクトで接続して、静止画・動画撮影時にAI推論、リアルタイムで高画質化処理
別記事でも紹介した通り、新HexagonにはISPと直結してデータのやりとりを双方向に行なうことができる「Hexagon Direct Link」という専用のインターコネクトが用意されている。
これはISP側の新しい機能として、映像をリアルタイムにAI推論の手法の1つである「セマンティック・セグメンテーション」(画像をAIで複数のセグメントに分割すること)をリアルタイムで行ないレイヤーに分割し、分割したレイヤーそれぞれに後処理(露光量を変えたり、コントラストを変えたり、明瞭度を変えたりなどの処理)を行なう仕組みが導入されているためだ。
Qualcommのアスガル氏は「こうした処理では低レイテンシで画像のデータをDSPに転送する必要がある。通常の内部インターコネクトでは十分ではないと判断し、こうしたデザインにした」とのこと。
CMOSセンサーからISPに送られたデータは、Hexagon Direct Linkを経由して新Hexagonに送られ、そこでセマンティック・セグメンテーションのAI推論が行なわれ、その結果をリアルタイムでISPに返す必要がある。それを通常のCPUやGPU、DSP、ISPが相互に接続されているインターコネクトに流すと、データの渋滞が発生し、リアルタイムにはISPにデータを戻すことが難しくなる可能性がある。そうしたことを考慮して専用のインターコネクトであるHexagon Direct Linkが用意されたのだ。
[embedded content]
なお、今回QualcommはISP(Spectra)のハードウェアに関しては、基本的に前世代のISPとほぼ同じハードウェアを採用している。3つの18bitのISPを備えており、30フレームを処理することができる。今回の世代では1フレームにつき8つのレイヤーを持つことができるようになったことが従来世代との違いで、その処理の多くは新Hexagon側で行なうことになるので、ハードウェア的な拡張としてはHexagon Direct Linkが最大の違いと考えて良いだろう。
GPU、CPUとも大きな性能向上を確認、特にGPUの性能向上が印象的なSnapdragon 8 Gen 2
このように、大きな進化を遂げてきたSnapdragon 8 Gen 2だが、QualcommがSnapdragon Summit期間中に公開したQRD(Qualcomm Reference Design)に基づいた開発機を利用したベンチマークのスコアで性能を確認していきたい。
比較対象としては、手持ちのデバイスだったSamsung Galaxy Tab S8+(Snapdragon 8 Gen 1搭載)とApple iPhone 13 Pro(Apple A15)になる。この2つを採用したのは、取材時に筆者が自分の手持ちデバイスとしてこの2つを持っていたためというシンプルな理由だ。
テストしたのはGPUの性能をクロスプラットフォームで計測できるGFXBench 5.0.5、スマートフォン向けCPUの性能を計測するテストとしては一般的なGeekBench 5の2つだ。それと、AIの性能はMLperf Inference Mobileを実行したが、MLperfを自分のデバイスで実行するにはメンバーになって入手する必要があるため、MLperfの普及を訴求している業界団体ML CommonsのWebサイトで公開されていたASUS ROG Phone 6(Snapdragon 8+ Gen1)のスコアを引用した。
MLperf Inference Mobileそのものは、QualcommがあらかじめQRDにインストールしておいたものを実行した結果となる。このため、完全に環境が一致しているか確認することが難しいので、あくまで参考としてスコアと考えていただきたい。
Snapdragon 8 Gen 1は、Apple A15(iPhone 13 Pro)に比べてやや劣るという性能だが、Snapdragon 8 Gen 2はQualcommが説明する25%を超えて大きな性能向上を実現していることが確認できる。A16でどれだけ上がっているかは、今回はA16のデバイスをもっていなかったため分からないが、概ね1~2割程度と考えると、Snapdragon 8 Gen 2のGPU性能はスマートフォンの性能としてはかなり高いと考えることができる。
面白いのは、PCとの比較だ。PCの内蔵GPUとして最高性能を誇るApple M2には追い付いていないが、IntelのノートPC向けとしては最高性能を誇るCore i7-1280Pと比較すると、Snapdragon 8 Gen 2が上回っている。Core i7-1280Pの内蔵GPUであるIntel Xe Graphics(Xe-LP)は、AAAタイトルでもFHD程度であれば十分プレイできる性能(つまり30フレーム以上)を実現しているとされており、それを軽く上回っているSnapdragon 8 Gen 2のGPUも十分AAAタイトルをプレイすることができる性能を実現しているということができるだろう。
繰り返しになるが、これはシステム全体の消費電力が5-6W程度に設定されている場合の性能で、仮に放熱機構を改良してより多くの消費電力を排熱できるようにすれば、もう少し性能を引き上げることが可能だということだ。
このテストではSnapdragon 8 Gen 1がApple A15をマルチスレッドでは上回った。しかし、シングルスレッドでは依然としてA15が上回っており、A16になれば1~2割程度向上すると考えると、CPUに関しては依然としてAppleに優位性があると考えることができる。
MLperf Inference MobileではいずれもASUS ROG Phone 6(Snapdragon 8+ Gen1)の公開スコアを上回っていることが確認できた。ただ、既に述べたとおり、ASUS ROG Phone 6(Snapdragon 8+ Gen1)のスコアは筆者自身が実行して確認した訳ではないので、参考であることを付記しておく。
このように、Snapdragon 8 Gen 2の性能は、前世代のSnapdragon 8 Gen 1を上回っていることを確認できた。特にGPUの性能は非常に印象的だった。
QualcommはSnapdragon 8 Gen 2を搭載した最初の商用デバイスは年内にも登場すると説明しており、例年2月のMWC前後に最初のデバイス群が発表され、初夏辺りにデバイスが出回るというスケジュールに比べるとやや早めになる可能性が高い。今回のSnapdragon 8 Gen 2は特にGPUが高い性能を示していることで、ゲーミング・スマートフォンへの採用も今年同様に進む可能性が高く、そうしたデバイスへの採用も期待したいところだ。
コメント