Armがモバイル向けのプロセッサIPとして、Cortex-A77と併せて発表したのがMali-G77である。Cortex-A77はCortex-A76の発展型というか、基本構成は同じながら内部を充実させた構成だったのに対し、Mali-G77はMali-G76とは異なる新しいValhallアーキテクチャに基づく最初の製品となった(Photo01)。
このMal-G77、2018年に発表されたMali-G76と比較して、同一プロセス・同一周波数・同一構成で性能を40%引き上げただけでなく、性能/消費電力比と性能/エリア比を30%改善、ML関連処理性能を60%高速化したとしている。
さて、これをどうやって実現したかである。Mali-G77は7コア~16コアの構成が用意される(Photo03)。各々のコアの構成であるが、Mali-G76まで(というかBifrost)の4/8Wide SIT×3 Engineから、Mali-G77(というかValhall)では16WideのSIMT×2 Clusterに切り替わった(Photo04)。
基本的な話をすると、Valhallでは、16Threadを1つのWarpとして扱い、1つのClusterで1つのWarpを管理するという仕組みになっている(Photo05)。1つのWarpは完全に同期して実行される形であり、外部からAPIはともかく、内部的にはVulkanに向けて最適化を施した新しい命令セットに切り替わったとする(Photo06)。
ところで、構造的にはBifrostのQuadモデルからMidgardのThreadモデルに逆戻りした感がある(もちろんThreadの扱い方は全然違うが)。やはりQuadはいろいろと問題があったということだろうか。
QuadはPixelデータを扱うには悪くないアイディアだったかもしれないがGPGPU的な用途、特にMLの処理などでは意味がなく、無駄にパイプラインが長くなるだけだったからだ。加えてClauseも廃止されたというのは、理論的にはともかく実際にはあまり使われなかったということだと思われる。
Photo07はValhallの基本構造、Photo08が個々のShader Coreの内部構造である。Warp単位の管理になったため、Thread単位での管理が不要となり、構造はシンプル化した。前述の通り、管理単位はWarpなので、Photo08におけるManagerは同時に64 Warpを保持し、このうち2つをここのProcessing Unitで処理する形になる(Photo09)。
Front EndはこのWarpの制御を行い、それぞれのClusterに対して処理すべきWarpを引き渡す。それと同時に処理が終わったWarpのPost Processingを行う(Photo10)。個々のProcessing Unitは1cycleあたり16のFP32が処理できるFMA Unitと、CVT/SFUをそれぞれ1個づつ配する形(Photo11)だ。
このFMA UnitのThroughputを除くと大きく違うのが、FMA/CVT/SFUの実行タイミングである。Biflostでは、FMAの処理の後でCVTなりSFUなりが動く形になっていたため、Latencyが非常に大きくなっていたが、ValhallではFMA/CVT/SFUを同一タイミングでスタートできるので、Latency短縮も可能になっている(Photo12)。
次いでTexture Unitだが、Photo08でTexture Unitが4基になったと説明しているが、そのTexture UnitもCache Hitの場合のLatencyを減らすとともにThroughputを倍増しているとする(Photo13)。ただ、Texture Unitが4倍といっても、同時に扱うThreadの数が2倍(Bifrostが8Thread、Valhallが1Warp=16Thread)だから、実質的には2倍の処理性能向上ではある(Photo14)が、他にも細かく改良が追加されている。
最後がLoad/Store Unitであるが、こちらはBifrostの正常進化というか、帯域の増加とLatencyの削減を図ったという感じになっている。
最後にMachile Learning関連の性能比較が示されている。同時実行可能なFMAの増加だけでなく、ここまで説明してきた諸々の改良の効果で、最低でも50%、最大て90%近い性能改善が実現できる(当然Networkの構成で改善率は変わる)というのがArmの主張である。
ちなみにこのMali-G77と先に紹介したCortex-A77であるが、早くも5月29日にはこれを搭載したMediatekのHelio M70が発表されている。Lead CustomerへのSamplingが2019年第3四半期、量産開始は2020年第1四半期ということで、まさしく2020年のプレミアムスマートフォン向けのSoC向けのコアになる。
余談であるが、このCortex-A77とMali-G77は、Smartphone/Tabletだけでなく2-in-1(要するにQualcommのACPC)マーケットでも十分通用する性能だと関係者は期待しているようだ。ただし、ドライバの提供だの互換性テストの実施だのをArmが音頭をとってやらない限り、引き続きWindows on ArmはQualcommの独占市場のままとなりそうだが、この辺りに関してはArm本体としては及び腰らしい。残念ながら、Cortex-A77を搭載したWindows 10マシンが出てくることは(少なくとも近い将来には)無さそうである。