第1回

概要

内容は N体パッケージ参照のこと

  • 前回の課題の解説
  • 次回は1/17(木)

課題

MPI+SIMD+SPE化

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-05-29 (火) 19:12:57 (2151d)