• 追加された行はこの色です。
  • 削除された行はこの色です。
* 担当教員 [#y8ef23d7]
横川 三津夫
横川 三津夫,谷口 隆晴


* 演習日 [#k8d857a9]
- 第1回  2015/06/04
- 第2回  2015/06/11
- 第3回  2015/06/18
- 第1回  2017/06/15
- 第2回  2017/06/22
- 第3回  2017/06/29
- 第4回  2017/07/06

* 概要と達成目標 [#b4878bec]
分散メモリ型並列計算機上のメッセージ・パシング・インターフェイスMPI(Message Passing Interface)を用いた並列プログラミングの基礎を学ぶ.

* 内容 [#ea8da542]

- 第4回
-- MPI_sendrecvの応用
-- 2次元定常熱伝導問題の並列化

- 第3回
-- 部分配列とローカルインデックス
-- ブロッキング関数とデッドロック

- 第2回
-- 計算時間の計測
-- 集団通信(mpi_allreduce関数)

- 第1回
-- 分散メモリ型並列計算機上のプログラミング
-- メッセージ・パシング・インターフェイス(MPI)
-- MPIプログラム(M-1): Hello, world!
-- MPIプログラム(M-2): 1対1通信関数
-- MPIプログラム(M-3): 集団通信関数
-- MPIプログラム(M-1): Hello, world!
-- MPIプログラム(M-2): 1対1通信関数
-- MPIプログラム(M-3): 集団通信関数

- 第2回
-- 計算時間の計測
-- 集団通信関数 mpi_allreduce()

- 第3回
-- 部分配列とローカルインデックス
-- ブロッキング関数とデッドロック
-- ノンブロッキング関数の応用

* 講義資料 [#ccbe3f78]

//- 2015/06/04 講義資料 : 準備中
- 2015/06/04 講義資料 : &attachref(Lecture20150604.pdf);
//- 2015/06/11 講義資料 : 準備中
- 2015/06/11 講義資料 : &attachref(Lecture20150611.pdf);
- 2015/06/18 講義資料 : 準備中
//- 2015/06/18 講義資料 : &attachref();
//- 2017/06/15 講義資料 : 準備中
- 2017/06/15 講義資料 : &attachref(2017-06-15_MPI-01.pdf);
//- 2017/06/22 講義資料 : 準備中
- 2017/06/22 講義資料 : &attachref(2017-06-22_MPI-02.pdf);
//- 2017/06/29 講義資料 : 準備中(授業前にuploadします)
- 2017/06/29 講義資料 : &attachref(2017-06-29_MPI-03.pdf);
//- 2017/07/06 講義資料 : 準備中
- 2017/07/06 講義資料 : &attachref(2017-07-06_MPI-04.pdf);

//* アンケート [#z63f9e7a]
//- 1回目の講義(7月3日)はどうでしたか? 1人1回,&color(red){''次週までに,必ず''};回答して下さい.

* アンケート [#z63f9e7a]
- MPI 4回目の講義(7月6日)はどうでしたか? 1人1回,&color(red){''次週までに,必ず''};回答して下さい.

-- 難易度
#vote(簡単すぎた[0], ちょうどよかった[2], 少し難しかった[2], 難しすぎた[2])

-- 分量
#vote(少ない[0], ちょうどよい[3], 少し多い[4], 多すぎる[0])


//- MPI 3回目の講義(6月29日)はどうでしたか? 1人1回,&color(red){''次週までに,必ず''};回答して下さい.

//-- 難易度
//#vote(簡単すぎた[0], ちょうどよかった[4], 少し難しかった[0], 難しすぎた[0])
//#vote(簡単すぎた[0], ちょうどよかった[3], 少し難しかった[0], 難しすぎた[1])

//-- 分量
//#vote(少ない[0], ちょうどよい[3], 少し多い[0], 多すぎる[1])

//-- deadloackの動作は理解できましたか?
//#vote(よくわかった[2], 大体わかった[2], あまりわからない[0], 全然わからない[0])


//- MPI 2回目の講義(6月22日)はどうでしたか? 1人1回,&color(red){''次週までに,必ず''};回答して下さい.

//-- 難易度
//#vote(簡単すぎた[0], ちょうどよかった[3], 少し難しかった[1], 難しすぎた[0])

//-- 分量
//#vote(少ない[0], ちょうどよい[4], 少し多い[0], 多すぎる[0])

//-- MPI_wtime()を用いた時間計測の方法は理解できましたか?
//#vote(よくわかった[1], 大体わかった[4], あまりわからない[0], 全然わからない[0])
//-- 時間計測の方法は理解できましたか?
//#vote(よくわかった[4], 大体わかった[0], あまりわからない[0], 全然わからない[0])

//-- MPI_barrier()の意味は理解できましたか?
//#vote(よくわかった[1], 大体わかった[3], あまりわからない[0], 全然わからない[0])
//- 1回目の講義(6月15日)はどうでしたか? 1人1回,&color(red){''次週までに,必ず''};回答して下さい.

//-- MPI_allreduce()の使い方は理解できましたか?
//#vote(よくわかった[1], 大体わかった[4], あまりわからない[0], 全然わからない[0])
//-- 難易度
//#vote(簡単すぎた[3], ちょうどよかった[11], 少し難しかった[2], 難しすぎた[0])

//-- MPI_reduce()とMPI_allreduce()の違いは理解できましたか?
//#vote(よくわかった[1], 大体わかった[3], あまりわからない[0], 全然わからない[0])
//-- 分量
//#vote(少ない[2], ちょうどよい[11], 少し多い[2], 多すぎる[0])

//-- MPIによるプログラミングの基本的な考え方(SPMDの考え方)は分かりましたか?
//#vote(よくわかった[7], 大体わかった[8], あまりわからない[0], 全然わからない[0])

//- MPIの第3回目の講義(7月7日)はどうでしたか? 1人1回,&color(red){''次週までに,必ず''};回答して下さい.

//-- 難易度
//#vote(簡単すぎた[0], ちょうどよかった[0], 少し難しかった[1], 難しすぎた[0])

//-- 分量
//#vote(少ない[0], ちょうどよい[1], 少し多い[0], 多すぎる[0])