AmazonのクラウドコンピューティングサービスAWSが今日、FPGA(field-programmable gate array)を使用する新しいインスタンスタイプ F1を発表した。FPGAはその名のとおり、ユーザーが現場でプログラミングできるゲートアレイで、アプリケーションの目的に合った特殊な構成もできる。そのため、場合によっては、従来のCPU/GPUの組み合わせを上回る高速が期待できる。
これらの新しいインスタンスは、AWSのUS Eastリージョンでは今日からプレビューで可利用になり、一般供用は年末頃からとなる。料金はまだ発表されていない。
まだそれほど広く普及しているわけではないが、最近のFPGAは価格も手頃になり、プログラミングも容易になった。そろそろ、もっと多くのサービスで使われるようになりそうだ。今回のようにクラウドからFPGAを提供することになると、多くのデベロッパーによる実験的な利用も拡大するだろう。
“つねに、いろんなものを自分で試してみて、それから一般ユーザーに提供している”、とAWSのCEO Andy Jassyは述べている。
新しいF1インスタンスは、HDや4Kのビデオ処理やイメージング、および機械学習で、GPUに代わって使われることになりそうだ。たとえばMicrosoftは、同社のAIサービスのバックエンドをすべてFPGAで構成している。一方Googleは、自家製専用チップという、高価な路線を選んでいる。FPGAは途中でプログラムを書き換えられるから、アプリケーション内でコンテキストの切り替えが容易にできる。たとえばある時点で未加工の画像を処理していたが、その次にはFPGAをディープラーニング向けに再構成して、その画像を数ミリ秒で分析する、といったことができる。
AWSと共にこのF1インスタンスをテストした企業のひとつNGCodecは、VR/AR処理のためのRealityCodecコードをこれらの新しいインスタンスに移行したが、移行はわずか4週間ほどで完了した。理想としては、これまで手元のデバイスで駆動することが当然だったVR/ARのヘッドセットの、駆動と複雑なビデオ処理を、クラウドからできるようになるかもしれない。NGCodecのファウンダーOliver Gunasekaraによると、コーデックに使ったケースでは、FPGAがGPUよりも優勢だった。エンコーディングには大量の意思決定過程があり、GPUはそれらをCPUにやらせる場合が多いからだ。またこの種のシナリオでは、電力効率もFPGAの方が良い。
Amazonは、Xilinxのチップを使っている。最後に残った、独立系の大手FPGAメーカーだ。新しいインスタンスのスペックは、次のとおり:
- Xilinx UltraScale+ VU9P, 16nmプロセスで製造。
- 64 GiBのECCで保護されたメモリ, 28ビット幅のバス上(4つのDDR4チャネル)。
- CPUへのインタフェイスはそれ専用のPCIe x 16。
- 論理成分数は約250万。
- 約6800のDSP(Digital Signal Processing)エンジン。
- デバッグ用のVirtual JTAGインタフェイス。
しかしFPGAのプログラミングは今でも難しいし、Amazonがそれを容易にするツールを出す気配はない。でも、開発キットはあるだろうし、デベロッパーがこれらの新しいインスタンスを使い始めるために利用できるマシンイメージ(Amazon Machine Image)も提供されるだろう。
NGCodecのGunasekaraによると、Xilinxも、CやC++のような共通言語でFPGAをプログラミングできるためのツールを、多少提供している。同社は、F1インスタンスのためのデコーダーを、それらのツールを使って設計したようだ。