RECONF / Sep.25, 2008

[ FPGA を用いた2次元液体運動シミュレーションの高速化 ]
会津大の佐藤さん (チームオクヤマ)。
無衝突系重力多体問題のベンチマーク
– Cell 125GFLOPS
– GeForce8800 653GFLOPS
– GRAPE-7 728GFLOPS (Altera Cyclone)
PROGRAPE-4 を使った。
必要最低限の演算精度の見極め。
格子を使う差分法やFEM と、ラグランジュ的に必要に応じて粒子を発生させる Smoothed Particle Hydrodynamics (SPH) 法などがある。災害シミュレーションのような、大きな形状の変化を伴うものを想定して後者を使った。粒子間の相互作用として水の動きを計算することができるが、精度を高くするためには粒子の数を増やす必要があり、計算量がしんどくなる。
2次元ダム崩壊問題を、double と 仮数部 12, 14, 16, 18 bit with 8bit exp の5つの演算精度で解き、平均自乗誤差 (MSE) で評価。仮数部 16bit で充分な精度が得られた。
(質疑)
転送はどれくらい?→ 転送オーバーヘッドを隠蔽するために粒子を使い回すようにする。一度 broadcast memory に入れたものを particle register に入れたり。水の場合は重力多体問題より狭い範囲で相互作用するので、3割くらい。
精度検証はどうやってやった? → 仮数部を AND でマスクします (うお、そうか! それなら僕らにもできそうだ・・・)。
粒子が増えたりすると必要な演算精度はかわる?→ 単純に粒子数を増やしても必要な演算精度はかわらない (指数部は必要になるかも?) が、粒子がどこまで近づくように定義するかで仮数部の必要ビット数が変わる。
ひとつの FPGA にふたつのパイプラインが載っているということだが、どれくらい演算器がのっていて、どれくらいほしいと思っている? → 理想は4パイプライン。
[ 動的再構成可能プロセッサへの JPEG エンコーダの実装と評価 ]
岡山大の古島さん (名古屋先生の学生さん)。DAP/DNA-2 に実装。DNA (reconfigurable array) に実装したのは次のふたつ:
– RGB → YCbCr 変換。Cb と Cr は情報量を落とす : 1面に4並列
– 2次元 DCT (2回の 1次元 DCT で実装。バタフライ演算) : 3面に2並列
再構成とかの制御オーバーヘッドがあるので、ふつうの CPU と比べた場合には、画像が大きい方が有利になる。でも、色変換と DCT 以外のところをやる DAP がボトルネックっぽい。エネルギー効率は x25〜52 (compared to Pentium4)。
(質疑)
どうして表色系の変換と DCT を選んだ? → ハフマン符号化とか量子化のところはメモリアクセスが複雑で、そこが DNA に向かない気がしたので。
DCT の実装が 3 つの構成情報にわかれているが、どうやって分割しているか? → バタフライ演算の4ステージが2面に分かれている。それをそれぞれ2回使って縦横でやる。
[ FPGA を用いた生化学シミュレータにおける… (以下略) ]
[ 分散共有メモリの接続を変更可能な PC クラスタ用 SW の提案 ]
必要な資源のみを結合する疎結合型の PC クラスタ。
問題の性質によって結合を変えることができれば、資源効率のよいクラスタ構成を実現できそう → 可変構造型ネットワーク。
まずは DSM をターゲットにしてみることにした。アドレス変換による仮想共有メモリ。
基本的に固定経路で、疎行列計算とかに向く (はず)。
Switching fabric を小さくしつつポート数を稼ぎたいのか? でも実際のところ、最近の問題はもはや、充分なサイズのクロスバがチップに載らないということではなくて、ピン数なんじゃないのか? とか思ったので、一応突っ込んでみた。
でも、データの使用頻度を考慮したインタコネクションというのは面白そう。
[ レーベンシュタイン距離を用いた道路標識認識アルゴリズムの FPGA 実装 ]
ITS: automatic cruise control とか lane keep system が実用化されている。
より高度な動画像認識として道路標識認識システムとか。
標識の切り出しがずれても認識は大丈夫! という仕掛けにしたいぜ。そこでレーベンシュタイン距離 (いわゆる edit distance みたいなやつ) を導入。
赤色・青色分解をしたあとに文字列変換して、テンプレートマッチング。
テンプレートマッチングは2段階。大分類 (丸とか四角とか三角とか) でまず分けて、そのあとに細かいテンプレートにあてる。
標識の数は同時にどれくらい? → いまのところひとつでやっているが、現実には複数の標識が一枚のフレームにでてくることはありうる。現在の処理時間は標識ひとつだけの場合。
車載カメラで撮ると歪まない? → わりと tolerant ではあると思うんだけど、前処理でなんとかしなければならないかも。(わし思うに、歪むのは広角のレンズで近くの標識を撮るような場合で、しかしそんな近くの標識を認識してなんかいわれても運転者は困るわけで、認識の対象はある程度遠くの標識でなければならないのではないだろうか。そういう場合にはゆがみの影響はないよね)
[ FPGA による並列計算機用2次元ネットワークの実機評価システム ]
岡山大の小畑先生チーム。
ネットワークの動きは、シミュレーションではわからないこともある (と、RHiNET-2 の論文に書いてあるらしい :p )。そこで、torus だの mesh だのをいろいろ試すためのシステム。
FPD (DVI じゃない、ちょっと昔に見かけた液晶用のコネクタ。組み込みではいまでもつかってるのかな?) のケーブルを 4 リンク使える NIC. データを記録するための global clock / reset も備える (これは通信には使わない)。
API としては、MPI のサブセットを実装。
ちゃんと並列プログラミングしたりして評価もとっており、手堅い仕事だと思う。楽しそう。
[ FPGA クラスタのためのオペレーティングシステム機能の試作 ]
広島市立大。
従来はバスによる密結合型 FPGA クラスタを扱っていた。今度は Ethernet (通信) と USB (configuration) を使った疎結合型 FPGA クラスタを構築。誰でも簡単に構築できるシステム。性能よりプログラム資産の構築を追及。
制御用独自プロセッサは 16bit で、Picoblaze より強力かつ Microblaze よりは小さい。
[ 招待講演: オペレーティングシステムとリコンフィギャラブルハードウェア ]
谷口先生。
OS には常に性能が求められているので、ハードウェア処理による性能向上を考えたい。
OS の性能低下要因: ディスク I/O とメモリ間データ転送 = 何かを作るわけではない操作なので、どちらも本質的には必要ないはず…
他にもいろいろあるのだが、なんかすごかった。

コメントを残す