IoTをはじめとする高度なテクノロジーが浸透していくなか、システムにFPGAを採用するケースが増えている。このマイナビニュース「IoTカテゴリ」においても、元来FPGAとは縁のなかったソフトウェア・エンジニアに向け「ソフトウェア・エンジニアのためのFPGA入門」と題した企画を掲載。FPGAの概念から基本的な構造・仕組みまでを解説した。

FPGAの基本を解説『ソフトウェア・エンジニアのためのFPGA入門』
詳しくはこちら

今回から掲載する当企画では、FPGAがソフトウェア領域へとその活躍の場を広げていく過程のなかで、そこにはどんなプレイヤーが存在するようになり、また彼らはどんな役割を担っているのか、FPGAの一大サプライヤーであるザイリンクス社の堀江 義弘氏をインタビュアーに招き、同社ともにエコシステムの拡大を支援するパートナーを2回に分けて紹介する。

堀江:本日は宜しくお願い致します。まず簡単にザイリンクスのビジネスを説明します。FPGAは、一昔前は既存のASICとかディスクリート部品の間を繋ぐ回路として使われてきた歴史があります。どちらかといえば、少量多品種向けですね。ところが昨今だと、大量出荷製品にもFPGAの特徴を活かして使われるようになってきました。わかりやすい例だとテレビが地デジ化してデジタルテレビが世の中に出てきた時に、デジタルテレビに一斉に入りました。最近だとASICの開発コストがどんどん上がって新規ASICを作りにくくなり、その一方でFPGAは微細化が進んでむしろ採用しやすくなった、という状況もあります。

  • ザイリンクス株式会社
    データセンターグループ
    シニアFAEマネージャー
    堀江 義弘氏

これに加えて近年ではアクセラレータ、製品としてはAlveoというシリーズですが、PCI Expressの拡張カードのかたちで弊社から提供し、x86サーバーなどに組み込んで使っていただく製品ですね。こちらも注力しております。で、このサーバーとの組み合わせは広い範囲のアプリケーションに適用できるのですが、弊社はFPGAあるいはAlveoそのものと開発環境、あるいは部品としてのIPなどは提供できるのですが、実際にそれを利用してアプリケーションを構築する、というところまでは手が回りません。それもあって、開発パートナー様と協業させていただいているのですが、フィックスターズさんはHPC分野で、GPUなども手掛けられていますよね。FPGAを利用した経験も非常に豊富で、エンドユーザー様からの評価も高い。

  • Alveoカード

あるいは金融の分野ではHFT、高頻度取引といわれる手法が海外では非常に多いのですが、これはFPGAが最も得意とするというか、FPGAでないと実現できないシステムです。フィックスターズさんはここの分野でも非常に強みを持たれています。そういった事情もあり、2019年9月には日本国内初のAlveo VAR契約を締結させてもらいました。HPCとか金融、あるいはAIなどの案件があった場合、フィックスターズさんにお声がけさせていただくことが非常に多いのが現状です。

梶:ありがとうございます。最初にちょっと弊社の生い立ちをご紹介させていただきますと、フィックスターズは”ソニー/東芝/IBMが開発したCellプロセッサでの高速化を手掛ける技術集団”として広く認知されるようになりました。要するにヘテロジニアスな環境におけるソフトウェア高速化を得意とする会社、ということですね。その流れで、最近ではスーパーコンピュータ「京(ケイ)」(※2012年6月、文部科学省の次世代スーパーコンピュータ計画の一環として、兵庫県神戸市の理化学研究所計算科学研究機構に設置されたスーパーコンピュータの名称)の高速化に関して裏方からお手伝いなどもさせていただきました。

  • 株式会社フィックスターズ
    ソリューション第一事業部
    ディレクター 梶 信也氏

また、CPU/GPU/FPGAどのデバイスでも最適化されたカーネルが動く画像処理ライブラリを開発したりしています。

FPGAの話をしますと、現在は販売完了しているのですが、自社製品としてSSDの開発をやっていました。元々NANDフラッシュメモリの制御ソフトウェア開発のお手伝いをさせていただいたのですが、この経験を活かして大容量・高速なSSDを作ろうというものです。実はこのSSDのコントローラにザイリンクス社のZynq-7000 SoCを利用しました。このSSDの開発のおかげでFPGAのエンジニアやノウハウが随分集まりました。

この後、あるお客様の画像処理周りの高速化のお手伝いをしていたときに、弊社で確立していたFPGAのノウハウをもとに、お客様に「FPGAで開発してはどうでしょう?」と提案したところ、FPGAも含めたシステム開発をまとめてフィックスターズにお願いする、という話になりました。これがきっかけでFPGA開発サービスに参入しました。

先ほど堀江様からお話のあった金融の話ですが、我々は国内の金融機関様と研究開発に取り組みました。これも元々は欧米がHFTを盛んに始めるようになって、お客様も「何かしないといけない」という危機感を持っておられました。そこで国内でFPGAを使ったR&Dが出来るパートナーを探そう、ということで弊社を含めていくつかのパートナーさんにお声がけされ、いろいろなお話を聞かれたそうです。そうしたところ、OpenCLの本や、高速化の実績などを評価いただき、さまざまな方が弊社を推薦して下さいました。そうしたこともあって、お客様が弊社を選んでくださいました。これが2017年頃の話です。

当時は弊社も金融に関しての知識は皆無でした。ですが、その金融のビジネス要件はお客様が把握されています。弊社はそのビジネス要件をシステム要件に落とし込むところに強みを持っています。今回はFPGAのお話なのでこういうことを申し上げるのも何ですが、そもそもFPGAありきではなく、最終的にはビジネス要件を満たせれば、実現方法はCPUでもGPUでもFPGAでも何でも良い訳です。弊社はそれをシステム要件に落とし込んで、それぞれの場合のメリット・デメリットをきちんと示したうえで、どんなデバイスを使い、どんなアーキテクチャを利用するのかを提案できるのが最大の強みだと考えています。

堀江:そうしたなかで、FPGAを利用するのが良い、と判断された案件についてはザイリンクスのFPGAを利用してソリューションを提供していただく。

梶:そうです。たとえば金融のHFTが良い例だと思います。CPUとかGPUを使うと、そもそも取引情報をネットワーク経由で受け取ってメモリに展開して、それを読み取るまでmsオーダーの時間が掛かる訳ですが、HFTは1ms未満、最先端だとサブμsec以下で処理を終わらせないといけないので、CPUとかGPUはもう能力的に無理があります。

かといって、ではASICを起こすか?というとそれも問題で、変化の激しい金融の現場で「開発に1年とか2年掛かります」など言っていたらビジネスが間に合わない訳です。ですので、現状FPGA以外の選択肢はありません。また、先に触れた画像処理のお客様の場合、物凄いデータレートで撮像素子から流れ込んできる画像データに対して、マシンラーニングで画像認識処理したいという時に、GPUだとスループットは間に合うかもしれませんが、レイテンシが間に合いません。CPUではスループットもレイテンシも間に合わない。こちらも変化が激しい業界ですから、数年かけてASICを起こすというのはビジネス的に間に合いません。やはりFPGAが一番良い選択肢になる訳です。

堀江:お客様はそのあたりの理解は?

梶:そこが悩ましいところです。FPGAはすごい!というセールストークだけを信じておられる方もいらっしゃいます。確かにすごいのですが、その一方で制約もあります。たとえば「FPGAの開発中にバグが出ました」となったときにそれを修正してシミュレーションを掛け、実機評価を行うという一連のプロセスを行うと、修正規模にもよりますが週単位の時間が掛かります。

ところが従来のCPUベースのシステムに慣れた方だと「3日もあれば十分だよね」となる訳で、そのギャップをきちんと埋められるように説明しないといけません。現在は限られたアプリケーションでFPGAが使われていますが、金融分野でHFT以外の応用を考えているお客様もおられますし、だんだん広く使われ始めています。そうなると、従来Javaでプログラム書かれていたエンジニアとかC/C++/Pythonなどを使われていたエンジニアにFPGAのプログラミングをしろ、という話になりかねない訳で、ここには大きなギャップがあります。弊社はそういうギャップを埋めるお手伝いをしたいと思っていますが、なかなか難しい部分ではあります。もうひとつ例をあげると、エッジ側のAIがあります。推論時の認識精度を上げたいから倍精度とかFP32の重みデータを使いたいなどと言われて言われるがままに実装してしまうと、FPGAを使用するメリットが損なわれてしまいます。実際には重みに8ビットを使用して精度にほとんど影響を与えることなく処理能力の大幅な向上と消費電力の削減を同時に実現できる訳で、そうした知見をお客様が理解できる言葉で説明する必要があります。

堀江:なるほど。やはり、広く使われ始めているのは実感できますか?

梶:現状で言えば案件は増えていますが、実際に採用して開発をスタートするプロジェクトの数はあまり変わらない、というのが私の肌感覚です。ただ金融の場合、欧米の5年遅れくらいで日本にトレンドがやってくる感じなので、やや遅れて伸びていくだろうとは考えています。AIについては、変化が速い業界なのでそこまでの遅れはない感じですが、今のところ日本から世界に出ていくトレンドというのは特に目にしてないですね。なので、これも遅れてやってくることになるかと思います。

弊社は、基本的に特定の業界にコミットメントするのではなく、お客様に寄り添う形で問題解決を行うのを旨とする方針です。最初に申し上げましたように我々は高速化・最適化を得意とする会社ですので、既存の開発のお手伝いで、要所の高速化などを行うこともありますし、金融機関のお客様でのHFT開発事例のように開発の初期段階や要件定義の段階からお付き合いさせていただくことも可能です。また特にどの業界で、といった制限もありません。

そのなかで、金融分野とAI分野は当社が貢献できる余地をより広げていきたい、という重点分野です。AIにしても、医療機器内に画像認識の機能を搭載させたい、という要望をいただくこともあるので、こうしたケースは今後も増えていくと思っております。

堀江:最後に、何か弊社に要望などあればぜひお聞かせください。

梶:ザイリンクスさんはVivadoの出荷以降、私のようなソフトウェア出身のエンジニアからすると非常に使いやすい環境を整えてくれていると感じています。Vivado HLSやSDAccelは、元々Cとかで”ガリガリ”チューニングしたコードを書いていた私には、丁度手頃な抽象度でFPGAのプログラミングが可能です。それとAlveoです。あのクラスのFPGAを搭載したボードをあの値段で、しかもザイリンクスさんがデバイスドライバなども揃えた状態で提供するというのは非常に有難いことで、かなり採用の敷居が下がりました。

ひとつ要望をお伝えすると、依然として開発ボードの値段が高いです。最近エントリー向けには1万とか2万とかの開発キットが出てきましたが、「もう少し高機能な」とか、「LC数が多いデバイスを」とかになるといきなり10万20万の世界になってしまう。こうなると、会社で買うにしても稟議を通さないとだめなので、手軽に使うという感じではなくなってしまいます。当然それだけの価値があるものと理解していますが、このあたりがもう少し何とかなるともっとFPGAを使うユーザーが増えるのに、とは思います。

関連情報

株式会社フィックスターズ『Techblog』

株式会社フィックスターズのエンジニアが、AlveoやVitisを使ってみた話から、ソフトウェアのさまざまな高速化を試してみた話など、あらゆるテーマについて自由に書いている技術ブログです。

※リンクをクリックすると、『Techblog』内にあるFPGA関連の記事をご覧いただけます。

『OpenCL入門』(インプレス社刊)

株式会社フィックスターズが出版した国内で最初のOpenCLの解説書。同書には、並列プログラミングからOpenCLを使いこなすための基本的な概念などを紹介する初版版と、OpenCL Specification 1.2までの変更点のまとめなどが掲載された「改訂新版 OpenCL入門 1.2対応」版が用意されています。

関連記事

FPGAの概要や用途、基本的な仕組みや構造を知りたい!という方はこちら!!

連載企画『ソフトウェア・エンジニアのためのFPGA入門』

[PR]提供:アヴネット