第 3 章 ReCSiP の構成と実装
3.4 システム構成
表3.1 各IPベンダ提供のVirtex-II/IIPro向け単精度・倍精度浮動小数点演算器の占有スライス数
Vendor Precision Add/Sub Mult Div
Xilinx[73] Single 333 356 702
Double 701 1238 3036
Ratio 2.11 3.48 4.32
Nallatech[74][75] Single 290 126 730
Double 821 693 3445
Ratio 2.83 5.50 4.72
Quixilica[76] Single 371 155 777
Double 815 923 3127
Ratio 2.20 5.95 4.02
なお、本研究で開発された方式は取り扱う変数のビット幅や、使用する演算器ライブラリの種 類を問わず、パイプライン化された浮動小数点演算器一般に適用できる。
Solver Core Integrator
Solver
Solver Core
Integrator Solver
Crossbar
Solver Core Integrator Transceiver
Transceiver
Solver Core
Integrator
Transceiver Transceiver
Switch
Solver
Solver Local Bus Interface
Xilinx Virtex-II Pro (XC2VP70-6)
QuickLogic
QL5064 64bit / 66MHz PCI Bus
Local Bus
ReCSiP-2 Board
図3.7 FPGA上の回路構成
S1 S2 S3 S4
R1 R2 R3
S5 S6 S7
R4 R5
S8 S9
Sm
Sn
Rj Ri
Substance (Related to only 1 reaction type) Substance (Related to 2 reaction types) Reaction type A Reaction type B
図3.8 複数の反応機構を含むモデルの例
ように、それぞれの反応機構に対応したSolver Coreを持つ2つのSolverを用いて処理を行うこ とになる。このような場合、モデルに含まれる各物質はいずれかのSolverを“Home”として持ち、
そのSolver内のメモリにその濃度を保持する。
このシミュレーションの実行スケジュールは図3.10のようになり、S6とS7がふたつのSolver 間で共有される。これらの物質の濃度はHomeから使われるSolverへ、Solver間を接続するスイッ チによって転送され、反応速度式を解いて濃度差分が求められる。濃度差分は再びスイッチを介 してHomeへ送り返され、そこで積分操作が行われる。
インタフェイス部は現在、ReCSiP-2ボード(付録A.1.2を参照)のローカルバスの仕様に合わせ たもの[78]が稼働しており、ローカルバスに接続されたQuickLogic社のPCIバスインタフェイ ス内蔵FPGAであるQuickPCI QL5064[79]を介して64bit/66MHzのPCIバスに接続される。
Copy
Copy
[X] RAM [X] RAM
d[X] RAM d[X] RAM
Solver A Solver B
S1 S2 S5 S8
S9
S3 S4
S6 S7
S6 S7
S1 S2 S5 S8
S9
Core A Core B
S6 S7
S3 S4
S6 S7
S6 S7
Sj
Si
Sk
Substances at "Home"
"Copied" substances
Switch
図3.9 図3.8のモデルのSolverへのマッピング
Solver A Solver B
R1 (S1, S2, S5)
R4 (S5, S6, S8)
R5 (S6, S7, S9)
R2 (S3, S6) R3 (S4, S7)
S1
S2
S5
S8
S9
S3
S4
S6
S7
S6
S7
S6’ S7’
Phase 1Phase 2
(Solve rate-law functions)(Perform numerica integration)
図3.10 図3.8のモデルの実行スケジュールの概観
Solver Cores (HDL)
ReCSiP-2 Board
I/F Software
FPGA Set of Solvers Set of Reactions
Type Substrate Product R1
R2 R3 R4
S1 S2
S4 S3
S2 S5
S2 S6
Set of Parameters
Type Concentration S1
S2 S3 S4
4.00e-3 5.23e-6 1.91e-4 3.14e-8
Target Pathway (SBML) Compiled Set of Solvers
CAD Tools
Configuration Data Memory Contents
図3.11 ReCSiPの構成
3.4.2 システム全体の構成
3.4.1節で述べたような方式でシミュレーションを行うには、与えられたモデルに含まれる反応
をすべて解くことのできるSolver Coreの組み合わせを含む回路が必要となる。これを自動的に実 現するためのシステムの構成を図3.11に示す。
回路構成やシミュレーション結果の取得などはインタフェイス部のソフトウェア[80]によって 行う。このソフトウェアは入力としてSBMLによるモデル記述が与えられると、Solver Coreのラ イブラリから必要なSolver Coreを取り出して、積分モジュールやスイッチ、ホストインタフェイ スの回路などを組み合わせた回路のRTL記述を構成し、CADツールによって論理合成・配置配 線を実行することでFPGAの構成情報を作成し、PCIバス経由でFPGAに回路を構成する。CAD ツールによる処理には時間がかかるため、一度配置配線された回路のFPGA構成情報を保存して おき、それが利用できる場合には回路を新たに論理合成することなく、配置配線済みの回路を利 用することで、シミュレーション開始までにかかる時間を短縮することもできる。
インタフェイス部のソフトウェアは、回路の構成に続いて、モデル中の物質と反応のSolverへ の割り当てを行う。物質と反応の割り当て後には濃度データのメモリへのマッピング、一連の反応
を表すPathway RAMの内容の構成、さらにSolver間でのデータ転送を行うスイッチの転送スケ
Solver Core [X] RAM
d[X] RAM Integration Module
Solver
k RAM
v X
k1 k2
Pipelined Rate-law Function Module
図3.12 Solverの構成
ジュールが行われる。これらの情報はSolverやスイッチが保持するメモリの初期値としてFPGA 上に構成された回路に書き込まれると、これにしたがってシミュレーションが行われる。
シミュレーションの進行中、FPGAからは積分の時間刻み毎に各物質の濃度を取得することが できるようになっており、シミュレーション開始後はインタフェイスソフトウェアがこれを取得 して時系列の濃度変化として保存する。
本研究では、FPGA上でシミュレーションを行うのに必要な各モジュールの開発を行った。こ れらのモジュールは、必要なSolverのセットを容易に組み合わせて利用できるように設計されて おり、インタフェイス部のソフトウェアで回路を構成する手続きはごく単純である。