Keynote 3 は 8:30 から… 無理です。
[ Compilers for Reconfigurable Architectures ]
#2: CHiMPS: A C-Level Compilation Flow for Hybrid CPU/FPGA Architectures
Xeon のソケットに挿す FPGA をターゲットに考えている。
Spatial DFG にして並列性を抽出してハードウェア化。
どこを HW に落とすかは pragma を使って指定する。あと、ポインタをほげほげする restrict というキーワードがある以外は、ふつうの C 言語。
メモリからとってくるデータをキャッシュするためのメモリをたくさん用意する。これでレイテンシを下げたり、競合を減らしたりする。キャッシュの一貫性を維持するプロトコルはちゃんとやるとコストが大きいので、書き込みができるのは一度にひとつだけ。Direct mapped cache.
うーん。C から design entry する限りは結局、キャッシュとかそういう Von Neumann の呪縛からは逃げられないのかなー。
小さいキャッシュがたくさんあると、それをメモリコントローラにつなぐところが大変じゃない? →そうでもないぜー
マルチコアとの関係は?→ それもやりたいね。あと、浮動小数点関係とかね。
#3: Combining Data Reuse Exploitation with Data-Level Parallelization for FPGA Targeted Hardware Compilation: A Geometric Programming
Memory subsystem と loop level parallelism の co design.
どの loop nest level で使われるデータ化で、off-chip にするか on-chip にするかをきめる?
むー。こういうことは考えているのだが、この研究のように定式化するところが難しそう…
メモリの使い方でクロック周波数はかわる? → 変わるけど、サイクル数のほうが実行時間に対して支配的。
[ Random # Generation & PLL ]
#1: Sampling from the Exponential Distribution using Independent Bernoulli Variates
固定小数点の、指数分布の乱数を作る方法。exp() を使わないで高速にやる。
よしみさんが cite されてた。
将来的には fixed-floating conversion を使わずに、直接に浮動小数点の値を出せるようにしたい。
#2: Enhancing security of ring oscillator-based TRNG implemented in FPGA
ring osc を乱数生成に使う場合、電源からのノイズとかがけっこう問題。気をつけましょう。気をつけて実装すれば deterministic jitter はけっこう減らせる。
[ Tutorial: Virtex-5 FXT: A new FPGA platform ]
Virte-5 FXT: has PPC440 instead of PPC405. Super-scaler, larger caches, deeper pipeline.
Not just a PPC440, but with: 5×2 crossbar connection, memory interface, 32bit DMA, user defined instruction (by APU), single/double IEEE-754 compliant 128-bit FPU (soft core) …
GTX high-performance transceivers: 150Mbps to 6.5Gbps
Power dissipation = 250mW / channel or less
TXT Family: FX without PPC, but twice # of GTX transceivers. ES 4Q08, MP 1Q09.
8 to 24 transceivers for FXT family, 40 to 48 in TXT family.
Device availability の保守についてはどう考えている?
XC3000 は 15 年前の製品で、まだ売ってるけど、いまからデザインするならば新しいのを使いましょう。1年の FPGA の進歩は人間の15歳分だよ!
でも、binary compatible にすることは考えていません。
[ High performance Computing for Financial and Biological Modeling ]
#1: FPGA Acceleration of Monte-Carlo Based Credit Derivative Pricing
single/double precision floating point の hybrid design とかをしているところが面白そう。構成のおもしろさでは 443 さんの仕事のほうがずっと上だな。
#3: Acceleration of a Production Rigid Molecure Docking Code