米Xilinxは11月15日(米国時間)、同社のアクセラレータ製品「Alveoシリーズ」に新しく、「U55C」を追加した事を発表した。事前説明会の内容をベースにこれをご紹介したい。

Alveo U55Cは、HPC/ビッグデータ向けのワークロードに最適化した製品(Photo01)という事になっている。

  • Alveo U55C

    Photo01:HPC/ビッグデータ向けというか、それより大きなメモリを必要とする用途にはむしろ向かないというべきか

実はAlveo U55Cは、同社が2018年11月に発表したAlveo U280と非常に似たスペックを持っている(Photo02)。違いは外部メモリである。

  • Alveo U55C

    Photo02:今から思うに、DDR4 DIMMではなくDDR4 SO-DIMMを基板に平行に装着できるように設計していれば、Alveo U280も厚みは減らせた気もしなくはない

Alveo U55Cは、8GB HBM2 Stackを2つ搭載した、Virtex UltraScale+ VU47Pをベースにした製品。一方Alveo U280はほぼ同じ構成ながら8GB HBM Stackが1つだけのVirtex UltraScale+ VU37Pを搭載する製品である。VU37PとVU47Pの違いは純粋にHBM2を1 Stack搭載するか、2 Stack搭載するかであって、FPGA Fabric部分は全く同じ構成であるが、Alveo U280ではメモリ不足を補う目的でDDR4 DIMMスロットを2本装備しており、最大で32GBの容量を追加できる。

HBM2 Stackと併せると合計40GBの外部メモリが利用できる形になっており、扱うべきデータサイズが非常に大きな処理でも対応できるように配慮されていた。その反面、DIMMスロットを装着する関係でカードの厚みが2Slot分になるとか、外部のDDR4 DRAMを駆動する関係で消費電力が若干上がる事になる。これに対してAlveo U55Cでは外部メモリは16GBに制限した代わりに1Slot厚になり、またフル駆動時の消費電力も150Wに抑えることが出来るようになった。この結果、1台のサーバに、より高密度に実装できる(2Slot厚のAlveo U280の倍の数のU55Cを1台のサーバにインストールできる)事で、よりアクセラレータ性能を高める事が出来る点を特徴とする。

ちなみにハードウェアとしてはこのAlveo U55Cが唯一の新製品であるが、これに合わせてソフトウェアスタックがHPC/ビッグデータ向けに強化されたことも今回明らかにされた。元々VitisはFPGAを「HDLを使わずに」扱うためのソフトウェアライブラリというか、HDLを使わずに通常のプログラマから利用できるようにするためのミドルウェアといった扱いで、2019年に発表された時にはアクセラレーションライブラリは最小限といった格好で、またドメイン特化型のソリューションも少なかったが、発表後2年を経てだいぶ充実してきた(Photo04)。

  • Alveo U55C

    Photo03:グラフ分析とかストレージライブラリ、ネットワーク/ミドルウェアなどが追加されている

  • Alveo U55C

    Photo04:2年でVitis Acceleratopn Library/APIが随分充実してきた

この中で今回特に説明されたのが、グラフ分析とFEM向けの話である(Photo05)。

  • Alveo U55C

    Photo05:赤枠がXilinxから提供されるコンポーネントである

グラフ分析では、特にデータベースの検索などで精度の高い結果を、しかも迅速に返すという用途で現在使われ始めている(Photo06)。

  • Alveo U55C

    Photo06:例えば通販サイトでスマートフォンを買ったときに、「ご一緒にバンパーケースはいかがですか」をすぐに出せるかどうかで機会損失が発生かねない訳で、こうしたグラフ分析が使われ始めているとの説明だった

具体的にはTigerGraphの提供するグラフデータベースにAlveo U55cを組み合わせる事で、コサイン類似度/Louvain Modularityのどちらのケースであっても大幅に性能を改善できたとする(Photo07)。

  • Alveo U55C

    Photo07:Louvain Modularity(Louvain method for community detection)は、クラスタリングの計算手法の1つ。蘭Louvain大で開発された

FEM(有限要素法)では、Ansys LS-DYNAを利用した衝突シミュレーションの例が取り上げられた(Photo08)。

  • Alveo U55C

    Photo08:最終的には実車による試験に頼るとはいえ、その前にはシミュレーションで衝突による車体変形とか安全性の確保の確認を行う必要がある訳で、これの計算が半端なく時間が掛かる

この衝突シミュレーションをCPU単体で実施した場合と、Alveo U55Cを8枚併用した場合では、性能が5倍以上になる、という話であった(Photo09)。

  • Alveo U55C

    Photo09:FEMの場合、演算に使うデータ量も半端ではない(だからこそCPU側は1.5TBのメモリを積んでいる)。実際このテストでは行列の大きさが1200万とかなのだから、Alveo U55Cではややメモリ量が足りない感はある。それでもワークロードを適切に分割する事で、それなりに性能を改善できるという話である

またHPC向けとしては、CSIRO(Commonwealth Scientific and Industrial Research Organisation:オーストラリア連邦科学産業研究機構)傘下にあるATNF(Australia Telescope National Facility:オーストラリア電波望遠鏡国立施設)の例が挙げられた(Photo10)。

  • Alveo U55C

    Photo10:この記事に出てくるパークス天文台もATNFの一部である

ATNFは4つの観測施設を持つが、ここでのデータ処理にAlveoが広く使われているとする。

さてこのAlveo U55C、単体での販売以外に、Cloud FGPAaaSやコロケーションの形での評価環境も提供されるという話であった。クラウドベースのFPGA評価環境というとACRiがぱっと思いつくが、これをXilinx自身も提供するという訳だ。

2022年にはVersalベースのAlveoが投入予定ということで、その意味ではVirtex Ultrascale+ベースのAlveoはこのAlveo U55cが最後になるのかもしれない。

  • Alveo U55C

    Photo11:ちなみに価格は現時点では未公表。リリース時に公開される予定だそうだ