佐藤/進捗/2008-08-20
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[佐藤/進捗]]
-リコンフの締め切りまであと13日&br;
やったこと&br;
--演算精度評価&br;
SPHの支配方程式を回路化するにあたり、流体の振舞いを調べることができる回路の演算精度を調べなかればならない。&br;
そのため実験データのある2次元ダム崩壊を用いて、演算精度評価を行った。&br;
&br;
高さ1 cm(HT0),横1 cm(SR0)の水柱が崩壊する様子を計算した。&br;
時間経過とともに水柱の前面が増える(SR)ことから,時刻とSRの関係を調べた。&br;
水粒子6400個、境界粒子1400個の粒子を設定。&br;
演算精度は、指数部を8 bitに固定,仮数部を12〜20 bitに変更した。&br;
&br;
#ref(BrokenDam.jpg)
&br;
ダム崩壊のシミュレーション結果は以下です。&br;
水柱の前面SRは HT0により,時刻は &texvc(\sqrt{HT_{0}/g}); により正規化されている。&br;
gは重力定数である。&br;
演算精度は、指数部を8 bitに固定,仮数部を12〜20 bitに変更した。&br;
|Time|SR_exp|SR_double|SR_20|SR_18|SR_16|SR_14|SR_12|
|0.71|1.33|1.40|1.40|1.40|1.40|1.37|1.30|
|1.39|2.25|2.21|2.21|2.21|2.21|2.14|2.01|
|2.10|3.22|3.04|3.05|3.02|3.03|2.97|2.76|
|3.20|3.80|3.95|3.94|3.94|3.89|3.80|3.48|
&br;
Subscripts&br;
exp—Experimental data by Monaghan (1994)&br;
double—SPH method (Double precision)&br;
20—SPH method (Mantissa bit width is 20)&br;
18—SPH method (Mantissa bit width is 18)&br;
16—SPH method (Mantissa bit width is 16)&br;
14—SPH method (Mantissa bit width is 14)&br;
12—SPH method (Mantissa bit width is 12)&br;
&br;
&br;
仮数部が12bitより小さくなると、演算精度の不足から流体の正しい振る舞いを調べることが出来なかった。&br;
&br;
本来ならば実験値との誤差を計算するのが適切であるが, SPH法を用いた時点で実験値との誤差が発生するため、これと精度を落とした演算の誤差が相殺している。&br;
平均2乗誤差を用いて倍精度浮動小数点との誤差を計算した結果、仮数部が16 bitあれば誤差が十分小さいと判断した.&br;
&br;
--PROGRAPEによる高速化&br;
SPH方程式で評価に時間のかかる運動方程式とエネルギー方程式を回路化する。&br;
PGDL(PGR Description Langage)により演算器間の接続を記述し、PGRによってコンパイラしてHDLコードを生成する。&br;
FPGA資源の制約から、演算パイプライン数は2に設定した。&br;
&br;
以下で実行環境を説明する。&br;
ホストコンピュータには,AMD Opteron 2.4GHzパソコンを用い,PCIバスにFPGAボードを接続する構成になっている。&br;
1枚のFPGAボードは計算用のFPGA(Xilinx Virtex-II Pro シリーズ)4個とインターフェイス用FPGA1個を接続した構成をしている。&br;
FPGAの動作周波数は66MHzである。&br;
&br;
粒子数を100〜160000まで増やし、ソフトウェアとの1stepあたりの実行時間を比較した結果、2.2倍の速度向上となった。
--今後すること&br;
論文の日本語がおかしいので、もう少しまともにしてから先生方にチェックしていただきたい。&br;
結果がしょぼいので、もっと高速に実行できるようにあがく。&br;
取り合えず胃薬買う・・・。&br;
終了行:
[[佐藤/進捗]]
-リコンフの締め切りまであと13日&br;
やったこと&br;
--演算精度評価&br;
SPHの支配方程式を回路化するにあたり、流体の振舞いを調べることができる回路の演算精度を調べなかればならない。&br;
そのため実験データのある2次元ダム崩壊を用いて、演算精度評価を行った。&br;
&br;
高さ1 cm(HT0),横1 cm(SR0)の水柱が崩壊する様子を計算した。&br;
時間経過とともに水柱の前面が増える(SR)ことから,時刻とSRの関係を調べた。&br;
水粒子6400個、境界粒子1400個の粒子を設定。&br;
演算精度は、指数部を8 bitに固定,仮数部を12〜20 bitに変更した。&br;
&br;
#ref(BrokenDam.jpg)
&br;
ダム崩壊のシミュレーション結果は以下です。&br;
水柱の前面SRは HT0により,時刻は &texvc(\sqrt{HT_{0}/g}); により正規化されている。&br;
gは重力定数である。&br;
演算精度は、指数部を8 bitに固定,仮数部を12〜20 bitに変更した。&br;
|Time|SR_exp|SR_double|SR_20|SR_18|SR_16|SR_14|SR_12|
|0.71|1.33|1.40|1.40|1.40|1.40|1.37|1.30|
|1.39|2.25|2.21|2.21|2.21|2.21|2.14|2.01|
|2.10|3.22|3.04|3.05|3.02|3.03|2.97|2.76|
|3.20|3.80|3.95|3.94|3.94|3.89|3.80|3.48|
&br;
Subscripts&br;
exp—Experimental data by Monaghan (1994)&br;
double—SPH method (Double precision)&br;
20—SPH method (Mantissa bit width is 20)&br;
18—SPH method (Mantissa bit width is 18)&br;
16—SPH method (Mantissa bit width is 16)&br;
14—SPH method (Mantissa bit width is 14)&br;
12—SPH method (Mantissa bit width is 12)&br;
&br;
&br;
仮数部が12bitより小さくなると、演算精度の不足から流体の正しい振る舞いを調べることが出来なかった。&br;
&br;
本来ならば実験値との誤差を計算するのが適切であるが, SPH法を用いた時点で実験値との誤差が発生するため、これと精度を落とした演算の誤差が相殺している。&br;
平均2乗誤差を用いて倍精度浮動小数点との誤差を計算した結果、仮数部が16 bitあれば誤差が十分小さいと判断した.&br;
&br;
--PROGRAPEによる高速化&br;
SPH方程式で評価に時間のかかる運動方程式とエネルギー方程式を回路化する。&br;
PGDL(PGR Description Langage)により演算器間の接続を記述し、PGRによってコンパイラしてHDLコードを生成する。&br;
FPGA資源の制約から、演算パイプライン数は2に設定した。&br;
&br;
以下で実行環境を説明する。&br;
ホストコンピュータには,AMD Opteron 2.4GHzパソコンを用い,PCIバスにFPGAボードを接続する構成になっている。&br;
1枚のFPGAボードは計算用のFPGA(Xilinx Virtex-II Pro シリーズ)4個とインターフェイス用FPGA1個を接続した構成をしている。&br;
FPGAの動作周波数は66MHzである。&br;
&br;
粒子数を100〜160000まで増やし、ソフトウェアとの1stepあたりの実行時間を比較した結果、2.2倍の速度向上となった。
--今後すること&br;
論文の日本語がおかしいので、もう少しまともにしてから先生方にチェックしていただきたい。&br;
結果がしょぼいので、もっと高速に実行できるようにあがく。&br;
取り合えず胃薬買う・・・。&br;
ページ名: