Hatena::ブログ(Diary)

スティルハウスの書庫 このページをアンテナに追加 RSSフィード

2015-06-30

FPGAエクストリーム・コンピューティング第6回が終わりました

詳細はここを参照のこと。

(終わったのはずいぶん前だけど、ここにリンクを張るのを忘れてた)

2014-03-17

FPGAエクストリーム・コンピューティング第5回が終わりました #fpgax

FPGAエクストリーム・コンピューティング第5回、今回もニフティでの開催でした。

イーツリーズ船田さんのFPGAによるTCP/IP実装の話、そのルーツはアマ無線のTCP通信とは! TCPの動きを音で理解したってエピソードはたいへんうらやましく思いました。TCP実装の詳細のところ、私はustの不調でどたばたしててちゃんと聞けてなくてとても残念。。しかしイーツリーズさんはベイエリアやNYCに進出すればあっという間に高値で買収されてもおかしくないオンリーワンなバリューがあると思います。

marseeさんのラプラシアンフィルタ実装事例は、ソフト実装とハード実装の詳細とその比較や、Vivado HLSによる高位合成の生産性の高さと可能性について、実例をもって示されていたとても貴重な発表でした。LinuxとFPGAのつなぎのところ、難しくて理解できてませんが、しかしたいへん興味深いポイントです。この辺りをちゃんと理解してソフト・ハード協調実装をトライしてみたい。

高前田さんのPyCoRAM、メモリアクセスを抽象化して、メモリ制御はPythonによる高位合成で書き、演算の部分はHDLで書く、という住み分けになるほど〜〜と唸りました。実際、私のような素人からするとバスだのDDRだののI/O部分の理解と実装がハードル高そうに思えるので、そのあたりだけを高位合成でお任せできるのは魅力的。一方で、演算の部分はやっぱりHDLで細粒度の並列性を記述したい。いいですねこれ!

鈴木さんにはSolarflareの概要を説明いただきました。印象としてはFPGA搭載NICの延長線にある製品で、現状ではネットワークキャプチャ等の応用が主なようすです。今後おそらく国内でも金融向け等の事例が増えそうで、どのような使われ方がしていくのか興味深いところです。プロジェクターの接続がうまくいかずご迷惑をお掛けしました。。

本当は最後にきしださんの高位合成ツールのお話を予定してましたが、プロジェクターのトラブルもあって時間切れとなってしまいました。ぜひ次回、お願いしたいと思います。申し訳ありませんm(__)m

まとめなど

なんだかustが調子よくなかった。。

会計など

次回も1000円でいけるかも。

  • 前回繰越:33436円
  • ピザ&ビール:55890円+9750円=65640円
  • 集金:54000円
  • 次回繰越:21796円

今回もニフティの岡田さんに夜遅くまでたいへんお世話になりました。また、ピザ&ビールの準備と集金ではharukoさんにお手伝いいただきました。ありがとうございます!!m(__)m

2013-11-16

FPGAエクストリーム・コンピューティング第4回が終わりました。

FPGAエクストリーム・コンピューティングの第4回はニフティで開催されました。今回はこんな内容:

GPU設計者の方がFPGAとGPUを比較するというとても貴重な発表でした。均質な浮動小数点演算を大量にこなすという用途においては、GPUの独擅場なのかなという印象です。開発コストも低いですし。JP MorganのFPGAによるHPC事例ではGPUとFPGAを比べた上で両者を併用しているそうですが、どういった点でその違いが現れるのかが知りたいところです。それを理解するには数学とハード両方を知る必要があるわけですが。。また、HPCではなくビッグデータ処理では非均質かつ整数中心の演算や、たくさんの同期を必要とする処理、I/O直結したい処理などが主体となるので、Netezza等がなぜGPUではなくFPGAを使っているのか? という理由はこの辺りにあるのかな? と想像してます。

C言語によるソフトウェア実装をどのような過程を経てFPGAによるハードウェア実装にしていくかをわかりやすく解説されてて、こちらもとても濃い内容でした。やはりFPGAにとっては数値演算は重荷で、要件に応じてきめ細かにビット精度を落としてくプロセスが最適化のキモのようです。同じ点はJP Morgan事例でも指摘されてますね。しかしmarseeさんのようなエキスパートのスキルがあれば、ニューラルネットの重い演算も古くて安い(たぶん電力性能比も高い)FPGAボードに載せることができる、という見方ができるかと思います。

高位合成言語を個人で作ってる人って、JavaRockのみよしさんかたばたさんくらいしかいなさそうですw たばたさんの指摘のとおり、ハードの人にとってCは高級言語でも、ソフトの人にすれば「なぜ今Cか」って思います。どうせなら、関数型言語やスクリプト言語、宣言型言語のおいしいところや、ハード開発のパラダイムにぴったりあうところ(並列性の表現とか)を持ってきた、真に高級と言える高位合成言語(Bluespecとかそうかもしれませんが高そうで使えない)があっていいと思います。Neon Lightはスクリプト言語の手軽さやプロトタイプOOPの生かしどころとか面白いですね。もうひとつ重要な点は、大手ベンダーではなく個人によるオープンソース開発として高位合成をやるってこと。大規模なASIC開発が難しくなりつつある今後、オープンソース・コミュニティ主導のハード活用や高位合成を使ったお手軽なFPGA開発が盛り上がってくることに期待したいです。

MapReduceアプライアンスやOpen Netezzaみたいなものが作れたらいいなあ〜という期待ですw

まとめなど

運営など

  • 第2回からの繰越:18740円
  • ビール+ピザ代:52804円
  • 今回集金:67500円
  • 次回繰越:33436円

一人1500円はちょっと多かったようです。次回は1000円で!

今回は日曜日にも関わらず出勤いただきお一人で運営のお手伝いをいただいたニフティの岡田さん、いつもいつもありがとうございます!m(__)m

次回は2〜3月あたりを予定しています!

2013-09-01

FPGAエクストリーム・コンピューティング第3回が終わりました #fpgax

FPGAエクストリーム・コンピューティング第3回は大阪で開催でした。ハードウェアは西日本が熱いのか、いつも大阪や京都や福岡から来ていただいてる方が多く、これは大阪でやらねば! と思いまして。。大阪市と共催で、大阪イノベーションハブの会場をお借りして開催しました。この会場のあるグランフロントという大阪駅となりの新しいショッピングモール+オフィス施設がでかすぎて、会場にたどり着くまで相当迷いました。。グランフロントなめてました。

今回の内容

Android上で作ったUIからFPGA上で組んだ回路と通信する方法の解説。私も前に音源作ったときはUIをFPGAで実装するのが面倒で、ChromeのJSで作ったUIとFPGAをシリアル通信で連携させたりしてました。これはUARTを使ったごく単純なしくみでしたが、鈴木さんの方法はFPGA上でAvalonバスを用意して、それとAndroid間をFIFOで結ぶという本格的なもの。なるほど〜FPGA使いの方はこんなふうに設計するのか〜と感心。Alteraの開発ツールQsysの使い所や、AvalonやAXIなどのバスはどんな基準で選べばよいのか? など、とても参考になりました。

  • 栗元憲一さん:mjpeg stream viewer on FPGA(資料

こちらも、最初にソフトウェアで実装したアルゴリズムを段階的にハードウェアに落としていくところがとても面白い。LEONプロセッサのIPやAHBバスの位置づけや長所短所、例えばGPLで公開されるので無償で使えるし、欧州の宇宙開発で使われてる実績があるから無償といっても高品質、といった背景が理解できて嬉しい内容でした。栗元さんも、私と同じく、リアルタイムストリーム処理へのFPGAの適用可能性にたいへん興味があるようで、懇親会では栗元さん・きしださんと熱く語り合いました。。こんな話題を肴においしいお酒が飲めるなんてとても幸せですw

  • 夏谷実さん:高速シリアル通信を支える技術(資料

いまどきの高速シリアル・インタフェースの中身がどんな仕組みで実装されてるのかを解説。PCIeやUSB3.0、SATAといったインタフェースの歴史的背景や、その中で用いられてるテクニック(送信側と受信側のクロックがどうしてもズレてしまうので、その補正とか)が、へぇ〜へぇ〜と思いました。

  • きしだなおきさん:一般プログラマはどのようにFPGAを使うか

CPUやGPU、ASICなど他の技術とFPGAのそれぞれの長所や短所を比較して、使い分けを論じたセッション。並列度は高いけどクロックが遅く集積度も低いFPGAはCPUやGPUに比べてどんな使い道が有効なのか? きしださんと皆さんでディスカッションしてました。この話題は奥が深い。。

  • 三好健文さん:JavaRockでBlokusDuoプレーヤを作る話(資料

三好さんが作っているオープンソースの高位合成ツール、JavaRockでパズルゲームのAIを実装するという、これまた濃い内容のセッションでした。たしかにこの例のような複雑な条件分岐を伴うロジックをHDLで書く気はしないですね。。そう考えると、こうした応用をお金をかけずに実装する方法としてはJavaRock最強かも。無償で使える高位合成ツールが広まれば、とくに検証やテストベッド作成のコストが低くなりそう。

  • 吉田幹さん:FPGAでデータフローマシンっぽいもんを作ったで!!(資料

吉田さんはFPGA歴2週間でいきなりめちゃくちゃかっこいいマシンを作ってきました(デモのビデオ)。データフローマシンやで! といっても会場の反応の薄さが逆にエクストリーム感を際立たせてましたwwまじめな話、あまり皆がピンと来ないくらい既存のノイマン型とはかけ離れたパラダイムの計算モデルをさくっと実装できちゃうのがFPGAのすばらしいところ。もちろんそれが対CPUでどれだけ性能がよいか? 実案件での有効性は? は未知数ですが、しかしまずは誰得なホビーとしてとても楽しいです。

データフローモデルのメリットは、コントロールフロー(=マルチスレッド)のように難しい排他やデバッグをせずとも大規模かつ粒度の細かな並列処理を(Excelの式みたいに)簡単に書けるところ。GPUやSIMD命令でも大規模で細粒度の並列処理ができるけど、それらは結局SIMDなので、ひとつのコードで大量のデータを並列処理する用途向け。一方で、データフローはもっとMIMD的な使い方、たくさんの異なるコードがそれぞれ並列にデータ処理する用途に使える。おおざっぱには、アクターモデルやErlangで大量のサーバートラフィックを並列処理する感覚に近いかも。シリコンの並列演算のポテンシャルをがっつり引き出せる可能性のあるパラダイムと思います。

まとめなど

運営など

いつもながら時間管理の甘さにより、後半の講演者の皆さんには大変ご迷惑をおかけしました。。m(__)m ついつい議論が熱くなりやすい勉強会なので、次回はもっと余裕をもたせた構成にしたいです!

今回の大阪での開催では、会場の手配から運営、懇親会の手配まで、@keiji_ariyama さんに大変お世話になりました。ありがとうございます!! また、会場をご提供いただいた大阪市の皆様にもお礼を申し上げます。

次回は秋ごろに東京で、その後は福岡で!って話が出てましたねw

2013-06-09

FPGAエクストリームコンピューティング第2回をやりました #fpgax

先日6/4、FPGAエクストリームコンピューティング第2回をニフティさんの会場で開催しました。今回もかなり濃ゆい内容でした:


・BBR/PIAX Inc.の吉田さん:異形の論理型言語システムをFPGAで!!

・本庄さん:MapReduce(Hadoop)のハードウェアオフロード

・アックスの浜田さん:FPGAでエクストリームなレトロコンピューティング

・@natsutanさん:速いぜ速いぜFPGA

・三好さん:FPGAでSSDの話

・@nishioさん:FPGA体験記(ライフゲームを作った話)

・きしだなおきさん:コンピューターサイエンスはオワコン

・安田豊さん:AristaのFPGAスイッチの話

・栗元さん:(次回の予告を簡単にお話いただきました)


しかし今回も時間が足りなくなってしまい、発表者の皆さんにご迷惑をお掛けしてしまいました。申し訳ありません!m(__)m 栗元さんには第3回でゆっくりお話いただきたいです。

まとめとust録画

会計など

  • ピザとビール:56260円
  • 集金:75000円
  • 次回繰越:18740円

今回は会場提供と運営でニフティの岡田様ほか皆様に大変お世話になりました。ありがとうございました!

この集まりはなぜか関西の方が多いので、第3回は関西で開催かなー。。数か月に1回くらいのペースでやりたいですね。発表をご希望の方いらっしゃいましたら @kazunori_279 までお知らせください!