FPGAのXilinxが人工知能などのワークロードを包括するソフトウェアプラットフォームVitisを発表
Xilinxの年次カンファレンス、XDF(Xilinx Developer Forum)では新しいソフトウェアフレームワーク、Vitisが発表された。これは初日のキーノートでは「オープンソース、無償」という一面だけが強調された形になったが、ここでは個別のセッションで紹介された解説の内容をお届けする。
参考:FPGAのXilinxが年次カンファレンスを開催。データセンター、5G、自動運転にフォーカスしたキーノートを紹介
スピーカーはXilinxのRob Armstrong氏、肩書はDirector of Technical Marketing, AI and Software Accelerationである。
最初に前提としてXilinxが定番として使っている「シングルコア、マルチコア、ヘテロジニアス、アダプティブ」に至るプロセッサーの進化を紹介。これはCEOのVictor Peng氏も強調するポイントで、Intelに代表されるプロセッサーの高密度化と微細化の限界、GPUによる並列化の限界などからそれぞれのアプリケーションドメインに合ったプロセッサーを組み合わせて使うというスタイルまでがヘテロジニアスの段階である。そこからさらなる高性能化を求めるために、ソフトウェアによる柔軟性とシリコンの速度を併せ持ったFPGAに移行する流れになった、というストーリーだ。ただXilinxとしては、すでに「FPGA」という単語を使わずにアダプティブアーキテクチャー、Xilinx用語で言えば、ACAP(Adaptive Compute Acceleration Platform)に移ったと言いたいところだろう。単なるゲートアレイではなく、CPUやメモリなどを積んだSoC(System on a Chip)として実装されていることで、差別化したいという意味も含まれている。
人工知能に代表される新しいアプリケーションやワークロードにおいては、日夜ソフトウェアが更新され、常に新しいコードが登場するという状況にある。この状況下で、ソフトウェアが更新されるたびに、シリコンを作ることが革新のスピードに合わない、だからシリコンを毎回作らなくても対応できる柔軟なプラットフォームが必要というのがXilinxのメッセージだ。
そこで紹介されたのがVitisだ。Unified Software Platformとサブタイトルが付いているように「これまでバラバラだったものを統合したプラットフォーム」というのが正しい意味合いだろう。
次のスライドはVivado、Embedded、Vitisがどの開発者に向けたプラットフォームなのかを明確に説明するものだった。つまりVivadoはハードウェアのエンジニア、Embeddedは文字通り組込系もしくはSoCを使うエンジニア向け、そしてVitisはソフトウェアデベロッパー向けであることを解説した。
そのVitisを構成するコンポーネントとして、ターゲットシステムのためのランタイム、コンパイラー、アナライザー、デバッガー、その上にライブラリー群、そしてユーザーが開発するアプリケーションという構成になることが紹介された。
Xilinx Runtime(XRT)と呼ばれるランタイムについても詳細に解説が行われた。
またアプリケーション開発のワークフローについても、FPGAのロジック部分の開発とアプリケーション部分の開発はまったく同じように行われるとして紹介されたのが次のスライドだ。Xilinxとしては、多くのソフトウェアデベロッパーをACAPの世界に引き込むために、この部分のハードルをなるべく低くしようと工夫していることがわかる。
そしてアプリケーション固有の機能を実装するためのライブラリーが充実していることを、強みとして紹介した。人工知能、画像処理、データ分析、データ圧縮、暗号化などについてライブラリーを提供することで、それぞれの業務に特化したアプリケーション開発でき、GPUやCPUに比べて高速に実行できるというのがXilinxのメッセージだ。
特にXilinxが推論部分において圧倒的に有利である人工知能については、TensorFlow、Caffe、PyTorchのフレームワークに対応することが発表された。
途中にWebIDEのデモを見せながら、これまでの開発手法と変わらないことを強調したArmstrong氏だった。
セッション自体はあくまでもイントロダクションとして、Vitisの全容を紹介したものというイメージだった。とはいえ、このVitisが無償で公開されることは画期的だろう。
またデベロッパー向けのサイトもベータという扱いながらすでに公開されている。興味のあるエンジニアはぜひ、参照していただきたい。