MatsuLab. Lecture Note/sougouenshu2007/round3/1
はすでに存在します。
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*第1回 [#hfe74dc7]
**概要 [#jbc6cec3]
内容は参考文献参照のこと
-Cell B.E. とは
-MPI と SIMD 演算 + SPE
-N体問題課題説明
-次回は1/10(木)
**課題 [#iefa0d86]
-N体問題課題説明
--N体パッケージについては[[こちらで>../nbody]]
--テストパッケージもSIMDに関してはもしかしたら参考になる...
--問題の概要は[[こんな:http://www.gsic.titech.ac.jp/super...
--シリアルプログラムを与えるので、MPI化、SIMD+SPE化してく...
--各プロセス(or SPE)が計算する点数を分割すればいいです。
---加速度計算部分がO(n^2)なので、すごく時間がかかる計算で...
---O(n^2) を何とかする方法については最終回の最適化で考え...
***MPI化 [#pfee2257]
-参考文献参照
-各プロセスにすべての点データを持たせて、forループを適当...
-大まかには以下の流れになる
++MPI_Init: 初期化
++問題の読み込み
++MPI_Comm_rank : ランクの取得
++MPI_Comm_size : 参加しているプロセス数の取得
++各ランクが受け持つ点の範囲を計算
++受け持った点の加速度計算、速度計算、位置計算
++MPI 通信関数による速度・位置データの同期
++5へ戻ってループ
++規定ステップ実行したら MPI_Finalize および fini_plots_m...
-通信関数のヒントとして
--MPI_Send, MPI_Recv, MPI_Bcast, MPI_Gather, MPI_Gatherv,...
***SIMD+SPE化 [#qadf88ff]
-参考文献参照, 特にsony の公開情報の仕様書とFIXSTARSのチ...
-TESTパッケージのreuse を骨組みにして改造するとうまくいく...
-データを6つのSPEに配分してSIMD(Single Instruction Multip...
-PPEのSIMDをやらないように注意
-まず、SPE1個で動かすことを考える→6個に拡張
-大まかには以下の流れになる
++問題の読み込み
++各SPEが受け持つ点の範囲を計算
++spe_context_create : SPE に行わせる仕事の情報を作成
++spe_image_open : SPE に行わせるプログラムファイルを開く
++spe_program_load : SPE に行わせるプログラムの読み込み
++spe_context_run : SPE プログラム実行開始
++SPE がデータをメインメモリから読み込む
++SPE がプログラムを実行し、結果をメインメモリへ書き込む
++すべての SPE プログラムが終了後 6に戻ってループ
++規定ステップ終了後、spe_context_destroy で仕事情報を破...
終了行:
*第1回 [#hfe74dc7]
**概要 [#jbc6cec3]
内容は参考文献参照のこと
-Cell B.E. とは
-MPI と SIMD 演算 + SPE
-N体問題課題説明
-次回は1/10(木)
**課題 [#iefa0d86]
-N体問題課題説明
--N体パッケージについては[[こちらで>../nbody]]
--テストパッケージもSIMDに関してはもしかしたら参考になる...
--問題の概要は[[こんな:http://www.gsic.titech.ac.jp/super...
--シリアルプログラムを与えるので、MPI化、SIMD+SPE化してく...
--各プロセス(or SPE)が計算する点数を分割すればいいです。
---加速度計算部分がO(n^2)なので、すごく時間がかかる計算で...
---O(n^2) を何とかする方法については最終回の最適化で考え...
***MPI化 [#pfee2257]
-参考文献参照
-各プロセスにすべての点データを持たせて、forループを適当...
-大まかには以下の流れになる
++MPI_Init: 初期化
++問題の読み込み
++MPI_Comm_rank : ランクの取得
++MPI_Comm_size : 参加しているプロセス数の取得
++各ランクが受け持つ点の範囲を計算
++受け持った点の加速度計算、速度計算、位置計算
++MPI 通信関数による速度・位置データの同期
++5へ戻ってループ
++規定ステップ実行したら MPI_Finalize および fini_plots_m...
-通信関数のヒントとして
--MPI_Send, MPI_Recv, MPI_Bcast, MPI_Gather, MPI_Gatherv,...
***SIMD+SPE化 [#qadf88ff]
-参考文献参照, 特にsony の公開情報の仕様書とFIXSTARSのチ...
-TESTパッケージのreuse を骨組みにして改造するとうまくいく...
-データを6つのSPEに配分してSIMD(Single Instruction Multip...
-PPEのSIMDをやらないように注意
-まず、SPE1個で動かすことを考える→6個に拡張
-大まかには以下の流れになる
++問題の読み込み
++各SPEが受け持つ点の範囲を計算
++spe_context_create : SPE に行わせる仕事の情報を作成
++spe_image_open : SPE に行わせるプログラムファイルを開く
++spe_program_load : SPE に行わせるプログラムの読み込み
++spe_context_run : SPE プログラム実行開始
++SPE がデータをメインメモリから読み込む
++SPE がプログラムを実行し、結果をメインメモリへ書き込む
++すべての SPE プログラムが終了後 6に戻ってループ
++規定ステップ終了後、spe_context_destroy で仕事情報を破...
ページ名:
既存のページ名で編集する