*第1回 [#xc039171]
**概要 [#te6fa89a]
内容は N体パッケージ参照のこと
-前回の課題の解説
-次回は1/17(木)

**課題 [#hc8c8d5b]
***MPI+SIMD+SPE化 [#d03a44dc]
-N体パッケージ内に MPI 化、SIMD+SPE 化したものを追加しておいた
-プログラムを理解して、それらを融合する
-大まかには以下の流れになる
++MPI_Init : MPI 初期化
++問題の読み込み
++MPI_Comm_rank : ランクの取得 
++MPI_Comm_size : 参加しているプロセス数の取得 
++各ランクが受け持つ点の範囲算出
++ランクに従属する各SPEが受け持つ点の範囲を計算 
++spe_context_create : SPE に行わせる仕事の情報を作成 
++spe_image_open : SPE に行わせるプログラムファイルを開く 
++spe_program_load : SPE に行わせるプログラムの読み込み 
++SPE用のスレッドを作成する * SPE個数分
++spe_context_run : SPE プログラム実行開始 * SPE個数分
++SPE がデータをメインメモリから読み込む 
++SPE がプログラムを実行し、結果をメインメモリへ書き込む 
++MPI通信関数による同期
++規定ステップ回ループ、終了後spe_context_destroy で仕事情報を破棄、およびMPI_Finalize
++規定ステップ回ループ、終了後spe_context_destroy で仕事情報を破棄
++ランク0 のみで結果データの出力
++各ランクでMPI_Finalize

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS