FPGAエクストリーム・コンピューティング第6回、今回はドワンゴさんの会場をお借りして開催しました。80席のところ登録数は230名、ニコ生来場者はのべ1773名という盛況ぶりでした。これはやはりMS&ドワンゴさん効果でしょうか。
資料・まとめなど
今回の発表資料やまとめ、ブログ記事等はこちらに集めておきました。
今回のおしながき
えびさわさん:FPGAで作るOpenFlow Switch
えびさわさんはFPGAを仕事で扱い始めてまだ半年ほどだそうですが、今回の発表内容だけを見てるとばりばりハードエンジニアにしか見えませんw すごいーー。OpenFlow仕様は変更が多すぎてASICではとても間に合わずFPGAが適してるという点はなるほどです。また、TCAM(メモリアドレスの代わりにバイナリのパターンマッチでデータにアクセスするメモリデバイス)の使い方が設計のポイントとなるところは、いかにもネットワーク機器って感じで興味深い内容でした。
フィックスターズ・いいづかさん:OpenCL Programming for FPGA
「ソフトウェアエンジニアなのでHDLは死んでも書きたくない」というのが、OpenCLでFPGAプログラミングをする理由とのことw たしかにOpenCLならふつーのCっぽく書けるので、ソフトウェアエンジニアにとってはかなりハードル低くなります。私が気になったのは、OpenCLで書くようなアルゴリズムってFPGAよりGPUの方が性能的に優位なケースが多いのでは? という疑問でしたが、今回のSHA256実装のケースではレジスタを多用するのでGPUより10倍ほど速いとのこと。なるほどー。
慶応・林さん:FPGA NICによる機械学習を用いた外れ値検出
林さんの発表は、10GbE搭載のNetFPGAを使って外れ値検出を実装、8000万件/秒の性能を達成したという内容。これ、林さんの卒論です。学部4年生がFPGA触り始めて数ヶ月でこの結果です。いろいろすごすぎて、会場やニコ生で見てたおじさん達が凍りついた発表でした。林さんのようなFPGAネイティブ世代が今後どんどん増えると、世の中変わるんじゃないかと思います。なんでもCPUでもっさり実装してると「それFPGAでよくね?」って若者がさくっと実装したりする未来がきそうでこわいです。
北大・福田さん:FPGA NICキャッシュによるmemcached高速化
最近のWeb開発では、memcachedやRedisなどのキャッシュサービスへの依存がどんどん高まりつつあり、大規模なゲームインフラ等ではmemcached/Redisの性能や可用性がサービス品質に大きく影響するようになりました。福田さんの研究は、そのmemcachedをFPGAで実装するもので、CPU実装に比べて半分のレイテンシでの応答を実現しています。FPGAによるmemcachedの実装は、他にもXilinxやStanford等いくつかの研究がありますが、それらのアーキテクチャの違いやボトルネック等を理解できるセッションでした。
わさらぼ・みよしさん:ソフトウェアエンジニアにもわかる高位合成
このセッションに際してみよしさんには私から「ソフトウェアエンジニアにもわかるように高位合成について噛み砕いてほしい」をお願いしまして、そもそも高位合成って何? CPUで実行するのとどう違うの? って点をわかりやすく解説いただきました。あざす!! みよしさんのSynthesijerはド素人の私でも使い始められるOSSなJavaベースの高位合成ツールで、この後のLTでもSynthesijerを使った事例は2つ紹介されてました。
Lightning Talks
LTのおしながきは以下のとおり。LTの方もかなーり濃い発表が続きました。
- 株式会社ドワンゴ「なぜドワンゴはFPGAエンジニアを募集し始めたのか」
- @kazunori_279「FPGAとSynthesijerで作るFluentdクライアント」
- アルテラ・竹村さん「Altera Tips」
- 慶応・徳差さん「HDMI-TS: FPGAによる民生カメラ向け低遅延映像通信システムの設計」
- 農工大・鈴木さん「FPGA+Synthesijerでヴォコーダを作ってみた」
- @hasegawさん
- @marsee101さん「UbuntuをインストールしたZYBOボードにカメラを付けてOpenCVで顔認証」
- @iwag_orgさん「Chisel+RISC-V introduction」
またおもしろいネタが溜まってきましたら、次回を企画したいと思います。半年後くらいですかね。
会場のご提供とニコ生配信で強力にサポートいただきましたmesoさんはじめドワンゴの皆様、ありがとうございました!!