Microsoft PowerPoint - MPIprog-F1.ppt [互換モード]

Size: px
Start display at page:

Download "Microsoft PowerPoint - MPIprog-F1.ppt [互換モード]"

Transcription

1 MPIによるプログラミング 概 要 (その1) Fortran 言 語 編 RIKEN AICS HPC Summer School 2014 中 島 研 吾 ( 東 大 情 報 基 盤 センター) 横 川 三 津 夫 ( 神 戸 大 計 算 科 学 教 育 センター)

2 1 本 schoolの 目 的 並 列 計 算 機 の 使 用 によって,より 大 規 模 で 詳 細 なシミュレー ションを 高 速 に 実 施 することが 可 能 になり, 新 しい 科 学 の 開 拓 が 期 待 される 並 列 計 算 の 目 的 高 速 大 規 模 大 規 模 の 方 が 新 しい 科 学 という 観 点 からのウェイトとしては 高 い.しかし, 高 速 ももちろん 重 要 である. + 複 雑 理 想 :Scalable N 倍 の 規 模 の 計 算 をN 倍 のCPUを 使 って, 同 じ 時 間 で 解 く

3 2 概 要 MPIとは MPIの 基 礎 : Hello Worldを 並 列 で 出 力 する 全 体 データと 局 所 データ グループ 通 信 (Collective Communication) 1 対 1 通 信 (Peer-to-Peer Communication)

4 3 概 要 MPIとは MPIの 基 礎 : Hello Worldを 並 列 で 出 力 する 全 体 データと 局 所 データ グループ 通 信 (Collective Communication) 1 対 1 通 信 (Peer-to-Peer Communication)

5 4 MPIとは (1/2) Message Passing Interface 分 散 メモリ 間 のメッセージ 通 信 APIの 規 格 プログラム,ライブラリ,そのものではない 歴 史 1992 MPIフォーラム 1994 MPI-1 規 格 1997 MPI-2 規 格 :MPI I/O 他 2012 MPI-3 規 格 : 実 装 (こっちはライブラリ) mpich アルゴンヌ 国 立 研 究 所 OpenMP, MVAPICH 他 各 ベンダーのMPIライブラリ C/C++,Fortran,Java ; Unix,Linux,Windows,Mac OS

6 5 MPIとは (2/2) 現 状 では,mpich(フリー)が 広 く 使 用 されている. 部 分 的 に MPI-2 規 格 をサポート 2005 年 11 月 から MPICH2 に 移 行 MPIが 普 及 した 理 由 MPIフォーラムによる 規 格 統 一 どんな 計 算 機 でも 動 く Fortran,Cからサブルーチンとして 呼 び 出 すことが 可 能 mpichの 存 在 フリー,あらゆるアーキテクチュアをサポート 同 様 の 試 みとしてPVM(Parallel Virtual Machine)があっ たが,それほど 普 及 せず.

7 6 参 考 文 献 P.Pacheco MPI 並 列 プログラミング, 培 風 館,2001( 原 著 1997) W.Gropp 他 Using MPI second edition,mit Press, M.J.Quinn Parallel Programming in C with MPI and OpenMP, McGrawhill, W.Gropp 他 MPI:The Complete Reference Vol.I, II,MIT Press, API(Application Interface)の 説 明

8 7 MPIを 学 ぶにあたって(1/2) 文 法 MPI-1 の 基 本 的 な 機 能 (10 程 度 )について 習 熟 する. MPI-2では 色 々と 便 利 な 機 能 があるが あとは 自 分 に 必 要 な 機 能 について 調 べる,あるいは 知 っている 人, 知 っていそうな 人 に 尋 ねる. 実 習 の 重 要 性 プログラミング その 前 にまず 実 行 してみること SPMD/SIMDのオペレーションに 慣 れること つかむ こと Single Program/Instruction Multiple Data 基 本 的 に 各 プロセスは 同 じことをやる が データが 違 う 大 規 模 なデータを 分 割 し, 各 部 分 について 各 プロセス(プロセッサ)が 計 算 する 全 体 データと 局 所 データ, 全 体 番 号 と 局 所 番 号

9 PE: Processing Element プロセッサ, 領 域,プロセス SPMD mpirun -np M <Program> この 絵 が 理 解 できればMPIは 9 割 方, 理 解 できたことになる. コンピュータサイエンスの 学 科 でもこれを 上 手 に 教 えるの は 難 しいらしい. 8 PE #0 PE #1 PE #2 PE #M-1 Program Program Program Program Data #0 Data #1 Data #2 Data #M-1 各 プロセスでは 同 じプログラムが 動 く が データが 違 う 大 規 模 なデータを 分 割 し, 各 部 分 について 各 プロセス(プロセッサ)が 計 算 する 通 信 以 外 は, 単 体 CPUのときと 同 じ,というのが 理 想

10 用 語 プロセッサ,コア ハードウェアとしての 各 演 算 装 置.シングルコアではプロセッサ=コア プロセス MPI 計 算 のための 実 行 単 位,ハードウェア 的 な コア とほぼ 同 義. しかし1つの プロセッサ コア で 複 数 の プロセス を 起 動 する 場 合 も ある( 効 率 的 ではないが). PE(Processing Element) 本 来, プロセッサ の 意 味 なのであるが, 本 講 義 では プロセス の 意 味 で 使 う 場 合 も 多 い. 次 項 の 領 域 とほぼ 同 義 でも 使 用. マルチコアの 場 合 は: コア=PE という 意 味 で 使 うことが 多 い. 領 域 プロセス とほぼ 同 じ 意 味 であるが,SPMDの MD のそれぞれ 一 つ, 各 データ の 意 味 合 いが 強 い.しばしば PE と 同 義 で 使 用. MPIのプロセス 番 号 (PE 番 号, 領 域 番 号 )は0から 開 始 したがって8プロセス(PE, 領 域 )ある 場 合 は 番 号 は0~7 9

11 PE: Processing Element プロセッサ, 領 域,プロセス SPMD mpirun -np M <Program> 10 この 絵 が 理 解 できればMPIは 9 割 方, 理 解 できたことになる. コンピュータサイエンスの 学 科 でもこれを 上 手 に 教 えるの は 難 しいらしい. PE #0 PE #1 PE #2 PE #M-1 Program Program Program Program Data #0 Data #1 Data #2 Data #M-1 各 プロセスでは 同 じプログラムが 動 く が データが 違 う 大 規 模 なデータを 分 割 し, 各 部 分 について 各 プロセス(プロセッサ)が 計 算 する 通 信 以 外 は, 単 体 CPUのときと 同 じ,というのが 理 想

12 11 MPIを 学 ぶにあたって(2/2) 繰 り 返 すが, 決 して 難 しいものではない. 以 上 のようなこともあって, 文 法 を 教 える 授 業 は2~3 回 程 度 で 充 分 と 考 えている. とにかくSPMDの 考 え 方 を 掴 むこと!

13 12 講 義, 課 題 の 予 定 MPIサブルーチン 機 能 環 境 管 理 グループ 通 信 1 対 1 通 信 8 月 5 日 ( 火 ) 環 境 管 理,グループ 通 信 (Collective Communication) 課 題 S1 8 月 6 日 ( 水 ) 1 対 1 通 信 (Point-to-Point Communication) 課 題 S2: 一 次 元 熱 伝 導 解 析 コードの 並 列 化 ここまでできればあとはある 程 度 自 分 で 解 決 できます.

14 13 概 要 MPIとは MPIの 基 礎 :Hello Worldを 並 列 で 出 力 する 全 体 データと 局 所 データ グループ 通 信 (Collective Communication) 1 対 1 通 信 (Peer-to-Peer Communication)

15 2014/05/01 14 schoolで 利 用 する コンピュータ LAN -computer 上 のジョブ 実 行 はバッチジョブ 各 自 のPC ログインサーバ Fujitsu Primergy RX300 S6 CPU:Intel Xeon 6コア x2sockets メモリ 94GB -computer Fujitsu PRIMEHPC FX10 96ノード,ノードあたり CPU:SPARC64 16コア,211.2GFLOPS メモリ: 32GB/ノード 神 戸 大 学 統 合 研 究 拠 点 (ポートアイランド)

16 15 ログイン,ディレクトリ 作 成 on コンピュータ ssh ディレクトリ 作 成 >$ cd >$ mkdir 2014summer ( 好 きな 名 前 でよい) >$ cd 2014summer このディレクトリを 本 講 義 では <$P-TOP> と 呼 ぶ 基 本 的 にファイル 類 はこのディレクトリにコピー, 解 凍 する

17 16 ファイルコピー Fortranユーザー >$ cd <$P-TOP> >$ cp /tmp/2014summer/f/s1-f.tar. >$ tar xvf s1-f.tar Cユーザー >$ cd <$P-TOP> >$ cp /tmp/2014summer/c/s1-c.tar. >$ tar xvf s1-c.tar ディレクトリ 確 認 >$ ls mpi >$ cd mpi/s1 このディレクトリを 本 講 義 では <$P-S1> と 呼 ぶ. <$P-S1> = <$P-TOP>/mpi/S1

18 17 まずはプログラムの 例 hello.f implicit REAL*8 (A H,O Z) include 'mpif.h' integer :: PETOT, my_rank, ierr call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) write (*,'(a,2i8)') 'Hello World Fortran', my_rank, PETOT call MPI_FINALIZE (ierr) stop end hello.c #include "mpi.h" #include <stdio.h> int main(int argc, char **argv) { int n, myid, numprocs, i; } MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); printf ("Hello World %d n", myid); MPI_Finalize();

19 hello.f/c をコンパイルしてみよう! >$ mpifrtpx Kfast hello.f >$ mpifccpx Kfast hello.c Fortran $> mpifrtpx Kfast hello.f mpifrtpx : Fortran90+MPIによってプログラムをコンパイルする 際 に 必 要 なコンパイラ,ライブラリ 等 がバインドされているコマンド C 言 語 $> mpifccpx Kfast hello.c mpifccpx : C+MPIによってプログラムをコンパイルする 際 に 必 要 な,コンパイラ,ライブラリ 等 がバインドされているコマンド 18

20 ジョブ 実 行 実 行 方 法 基 本 的 にバッチジョブのみ 会 話 型 の 実 行 は 基 本 的 に できません 実 行 手 順 ジョブスクリプトを 書 きます ジョブを 投 入 します ジョブの 状 態 を 確 認 します 結 果 を 確 認 します その 他 実 行 時 には1ノード(16コア)が 占 有 されます 他 のユーザーのジョブに 使 われることはありません 19

21 <$P-S1>/hello.sh ジョブスクリプト スケジューラへの 指 令 + シェルスクリプト #!/bin/sh #PJM -L node=1 #PJM -L elapse=00:00:30 #PJM -L rscgrp=school #PJM -j #PJM -o hello.lst #PJM --mpi proc=4 ノード 数 実 行 時 間 実 行 キュー 名 標 準 出 力 ファイル 名 MPIプロセス 数 mpiexec./a.out 実 行 ファイル 名 8プロセス node=1 proc=8 16プロセス node=1 proc=16 32プロセス node=2 proc=32 64プロセス node=4 proc=64 192プロセス node=12 proc=192 20

22 ジョブ 投 入 >$ pjsub hello.sh >$ cat hello.lst Hello World Fortran 0 4 Hello World Fortran 2 4 Hello World Fortran 3 4 Hello World Fortran

23 ジョブ 投 入, 確 認 等 ジョブの 投 入 pjsub スクリプト 名 ジョブの 確 認 pjstat ジョブの 取 り 消 し 強 制 終 了 pjdel ジョブID キューの 状 態 の 確 認 pjstat --rsc 同 時 実 行 投 入 可 能 数 pjstat --limit [pi:~/2014summer/mpi/s1]$ pjstat ACCEPT QUEUED STGIN READY RUNING RUNOUT STGOUT HOLD ERROR TOTAL s JOB_ID JOB_NAME MD ST USER START_DATE ELAPSE_LIM NODE_REQUIRE hello.sh NM RUN yokokawa 07/15 17:12: :00:

24 23 環 境 管 理 ルーチン+ 必 須 項 目 implicit REAL*8 (A-H,O-Z) include 'mpif.h integer :: PETOT, my_rank, ierr call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) write (*,'(a,2i8)') 'Hello World Fortran', my_rank, PETOT call MPI_FINALIZE (ierr) stop end #include "mpi.h" #include <stdio.h> int main(int argc, char **argv) { int n, myid, numprocs, i; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); mpif.h, mpi.h 環 境 変 数 デフォルト 値 Fortran90ではuse mpi 可 MPI_Init 初 期 化 MPI_Comm_size プロセス 数 取 得 mpirun -np XX <prog> MPI_Comm_rank プロセスID 取 得 自 分 のプロセス 番 号 (0から 開 始 ) MPI_Finalize MPIプロセス 終 了 } printf ("Hello World %d n", myid); MPI_Finalize();

25 24 Fortran/Cの 違 い 基 本 的 にインタフェースはほとんど 同 じ Cの 場 合, MPI_Comm_size のように MPI は 大 文 字, MPI_ の あとの 最 初 の 文 字 は 大 文 字, 以 下 小 文 字 Fortranはエラーコード(ierr)の 戻 り 値 を 引 数 の 最 後 に 指 定 す る 必 要 がある. Cは 変 数 の 特 殊 な 型 がある. MPI_Comm, MPI_Datatype, MPI_Op etc. 最 初 に 呼 ぶ MPI_Init だけは 違 う call MPI_INIT (ierr) MPI_Init (int *argc, char ***argv)

26 25 何 をやっているのか? implicit REAL*8 (A H,O Z) include 'mpif.h integer :: PETOT, my_rank, ierr call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) write (*,'(a,2i5)') 'Hello World Fortran', my_rank, PETOT call MPI_FINALIZE (ierr) stop end mpiexec により4つのプロセスが 立 ち 上 がる ( 今 の 場 合 は proc=4 ). 同 じプログラムが4つ 流 れる. データの 値 (my_rank)を 書 き 出 す. 4つのプロセスは 同 じことをやっているが,データ として 取 得 したプロセスID(my_rank)は 異 なる. 結 果 として 各 プロセスは 異 なった 出 力 をやってい ることになる. まさにSPMD

27 26 mpi.h,mpif.h implicit REAL*8 (A-H,O-Z) include 'mpif.h integer :: PETOT, my_rank, ierr call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) write (*,'(a,2i8)') 'Hello World Fortran', my_rank, PETOT call MPI_FINALIZE (ierr) stop end #include "mpi.h" #include <stdio.h> int main(int argc, char **argv) { int n, myid, numprocs, i; } MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); printf ("Hello World %d n", myid); MPI_Finalize(); MPIに 関 連 した 様 々なパラメータおよ び 初 期 値 を 記 述. 変 数 名 は MPI_ で 始 まっている. ここで 定 められている 変 数 は,MPIサ ブルーチンの 引 数 として 使 用 する 以 外 は 陽 に 値 を 変 更 してはいけない. ユーザーは MPI_ で 始 まる 変 数 を 独 自 に 設 定 しないのが 無 難.

28 MPI_INIT Fortran 27 MPIを 起 動 する. 他 のMPIサブルーチンより 前 にコールする 必 要 がある( 必 須 ) 全 実 行 文 の 前 に 置 くことを 勧 める. call MPI_INIT (ierr) ierr 整 数 O 完 了 コード implicit REAL*8 (A-H,O-Z) include 'mpif.h integer :: PETOT, my_rank, ierr call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) write (*,'(a,2i8)') 'Hello World Fortran', my_rank, PETOT call MPI_FINALIZE (ierr) stop end

29 MPI_FINALIZE Fortran 28 MPIを 終 了 する. 他 の 全 てのMPIサブルーチンより 後 にコールする 必 要 がある ( 必 須 ). 全 実 行 文 の 後 に 置 くことを 勧 める これを 忘 れると 大 変 なことになる. 終 わったはずなのに 終 わっていない call MPI_FINALIZE (ierr) ierr 整 数 O 完 了 コード implicit REAL*8 (A-H,O-Z) include 'mpif.h integer :: PETOT, my_rank, ierr call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) write (*,'(a,2i8)') 'Hello World Fortran', my_rank, PETOT call MPI_FINALIZE (ierr) stop end

30 MPI_COMM_SIZE Fortran 29 コミュニケーター comm で 指 定 されたグループに 含 まれるプロセス 数 の 合 計 が size に 返 ってくる. 必 須 では 無 いが, 利 用 することが 多 い. call MPI_COMM_SIZE (comm, size, ierr) comm 整 数 I コミュニケータを 指 定 する size 整 数 O comm.で 指 定 されたグループ 内 に 含 まれるプロセス 数 の 合 計 ierr 整 数 O 完 了 コード implicit REAL*8 (A-H,O-Z) include 'mpif.h integer :: PETOT, my_rank, ierr call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) write (*,'(a,2i8)') 'Hello World Fortran', my_rank, PETOT call MPI_FINALIZE (ierr) stop end

31 30 コミュニケータとは? MPI_Comm_Size (MPI_COMM_WORLD, PETOT) 通 信 を 実 施 するためのプロセスのグループを 示 す. MPIにおいて, 通 信 を 実 施 する 単 位 として 必 ず 指 定 する 必 要 がある. mpiexecで 起 動 した 全 プロセスは,デフォルトで MPI_COMM_WORLD というコミュニケータで 表 されるグ ループに 属 する. 複 数 のコミュニケータを 使 用 し, 異 なったプロセス 数 を 割 り 当 てることによって, 複 雑 な 処 理 を 実 施 することも 可 能. 例 えば 計 算 用 グループ, 可 視 化 用 グループ この 授 業 では MPI_COMM_WORLD のみでOK.

32 31 コミュニケータの 概 念 あるプロセスが 複 数 のコミュニケータグループに 属 しても 良 い MPI_COMM_WORLD COMM_MANTLE COMM_CRUST COMM_VIS

33 複 数 のコミュニケータを 使 った 例 : 地 盤 石 油 タンク 連 成 シミュレーション 32

34 33 対 象 とするアプリケーション 地 盤 石 油 タンク 振 動 地 盤 タンクへの 一 方 向 連 成 地 盤 表 層 の 変 位 タンク 底 面 の 強 制 変 位 として 与 える このアプリケーションに 対 して, 連 成 シミュレーションのため のフレームワークを 開 発, 実 装 1タンク=1PE:シリアル 計 算 Deformation of surface will be given as boundary conditions at bottom of tanks.

35 年 十 勝 沖 地 震 長 周 期 地 震 波 動 ( 表 面 波 )のために 苫 小 牧 の 石 油 タンクがスロッシングを 起 こし 火 災 発 生

36 35 地 盤 石 油 タンク 振 動 連 成 シミュレーション

37 36 地 盤,タンクモデル 地 盤 モデル( 市 村 )Fortran 並 列 FEM, 三 次 元 弾 性 動 解 析 前 進 オイラー 陽 解 法,EBE 各 要 素 は 一 辺 2mの 立 方 体 240m 240m 100m タンクモデル( 長 嶋 )C シリアルFEM(EP), 三 次 元 弾 性 動 解 析 後 退 オイラー 陰 解 法,スカイライン 法 シェル 要 素 +ポテンシャル 流 ( 非 粘 性 ) 直 径 :42.7m, 高 さ:24.9m, 厚 さ:20mm, 液 面 :12.45m,スロッシング 周 期 :7.6sec. 周 方 向 80 分 割, 高 さ 方 向 :0.6m 幅 60m 間 隔 で4 4に 配 置 合 計 自 由 度 数 :2,918,169

38 3 種 類 のコミュニケータの 生 成 meshglobal%mpi_comm basement #2 basement #3 tank #6 tank #7 tank #8 tank #3 tank #4 tank #5 basememt #0 basement #1 tank #0 tank #1 tank #2 meshbase%mpi_comm meshglobal%my_rank= 0~3 meshbase%my_rank = 0~3 meshtank%mpi_comm meshglobal%my_rank= 4~12 meshtank%my_rank = 0~ 8 meshtank%my_rank = -1 meshbase%my_rank = -1 37

39 MPI_COMM_RANK MPI Programming Fortran コミュニケータ comm で 指 定 されたグループ 内 におけるプロセスIDが rank にも どる. 必 須 では 無 いが, 利 用 することが 多 い. プロセスIDのことを rank(ランク) と 呼 ぶことも 多 い. MPI_COMM_RANK (comm, rank, ierr) comm 整 数 I コミュニケータを 指 定 する rank 整 数 O comm.で 指 定 されたグループにおけるプロセスID 0から 始 まる( 最 大 はPETOT-1) ierr 整 数 O 完 了 コード implicit REAL*8 (A-H,O-Z) include 'mpif.h integer :: PETOT, my_rank, ierr call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) write (*,'(a,2i8)') 'Hello World Fortran', my_rank, PETOT call MPI_FINALIZE (ierr) 38 stop end

40 MPI_ABORT Fortran 39 MPIプロセスを 異 常 終 了 する. call MPI_ABORT (comm, errcode, ierr) comm 整 数 I コミュニケータを 指 定 する errcode 整 数 O エラーコード ierr 整 数 O 完 了 コード 39

41 MPI_WTIME Fortran 40 時 間 計 測 用 の 関 数 : 精 度 はいまいち 良 くない( 短 い 時 間 を 計 測 する 場 合 ) time= MPI_WTIME () time R8 O 過 去 のある 時 間 からの 経 過 時 間 ( 秒 数 ): 倍 精 度 変 数 real(kind=8):: Stime, Etime Stime= MPI_WTIME () do i= 1, a= 1.d0 enddo Etime= MPI_WTIME () write (*,'(i5,1pe16.6)') my_rank, Etime-Stime 40

42 41 MPI_Wtime の 例 $> mpifccpx O1 time.c $> mpifrtpx O1 time.f $> pjsub go4.sh $> cat test.lst E E E E-06 プロセス 番 号 計 算 時 間

43 42 MPI_Wtick MPI_Wtimeでの 時 間 計 測 精 度 を 確 認 する. ハードウェア,コンパイラによって 異 なる time= MPI_Wtick () time R8 O 時 間 計 測 精 度 ( 単 位 : 秒 ) implicit REAL*8 (A-H,O-Z) include 'mpif.h' TM= MPI_WTICK () write (*,*) TM double Time; Time = MPI_Wtick(); printf("%5d%16.6e n", MyRank, Time);

44 43 MPI_Wtick の 例 $> mpifccpx O1 wtick.c $> mpifrtpx O1 wtick.f $> pjsub go1.sh $> cat test.lst E-07 $>

45 MPI_BARRIER Fortran 44 コミュニケーター comm で 指 定 されたグループに 含 まれるプロセスの 同 期 をと る.コミュニケータ comm 内 の 全 てのプロセスがこのサブルーチンを 通 らない 限 り, 次 のステップには 進 まない. 主 としてデバッグ 用 に 使 う.オーバーヘッドが 大 きいので, 実 用 計 算 には 使 わない 方 が 無 難. call MPI_BARRIER (comm, ierr) comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード

46 45 概 要 MPIとは MPIの 基 礎 :Hello World 全 体 データと 局 所 データ グループ 通 信 (Collective Communication) 1 対 1 通 信 (Peer-to-Peer Communication)

47 データ 構 造 とアルゴリズム コンピュータ 上 で 計 算 を 行 うプログラムはデータ 構 造 とアル ゴリズムから 構 成 される. 両 者 は 非 常 に 密 接 な 関 係 にあり,あるアルゴリズムを 実 現 するためには,それに 適 したデータ 構 造 が 必 要 である. 極 論 を 言 えば データ 構 造 =アルゴリズム と 言 っても 良 い. もちろん そうではない と 主 張 する 人 もいるが, 科 学 技 術 計 算 に 関 する 限 り, 中 島 の 経 験 では データ 構 造 =アルゴリズム と 言 える. 並 列 計 算 を 始 めるにあたって, 基 本 的 なアルゴリズムに 適 し たデータ 構 造 を 定 める 必 要 がある. 46

48 47 SPMD:Single Program Multiple Data 一 言 で 並 列 計 算 と 言 っても 色 々なものがあり, 基 本 的 なア ルゴリズムも 様 々. 共 通 して 言 えることは,SPMD(Single Program Multiple Data) なるべく 単 体 CPUのときと 同 じようにできることが 理 想 通 信 が 必 要 な 部 分 とそうでない 部 分 を 明 確 にする 必 要 があり.

49 48 SPMDに 適 したデータ 構 造 とは? PE #0 PE #1 PE #2 PE #3 Program Program Program Program Data #0 Data #1 Data #2 Data #3

50 49 SPMDに 適 したデータ 構 造 (1/2) 大 規 模 なデータ 領 域 を 分 割 して, 各 プロセッサ,プロセス で 計 算 するのがSPMDの 基 本 的 な 考 え 方 例 えば, 長 さNG(=20)のベクトルVGに 対 して, 各 要 素 を2 倍 する 計 算 を 考 えてみよう. integer, parameter :: NG= 20 real(kind=8), dimension(20) :: VG do i= 1, NG VG(i)= 2.0 * VG(i) enddo これを4つのプロセッサで 分 担 して 計 算 する 場 合 には, 各 プロセッサが20/4=5 ずつデータを 持 ち,それぞれが 処 理 すればよい.

51 50 SPMDに 適 したデータ 構 造 (2/2) すなわち,こんな 感 じ: integer, parameter :: NL= 5 real(kind=8), dimension(5) :: VL do i= 1, NL VL(i)= 2.0 * VL(i) enddo このようにすれば 一 種 類 の プログラム(Single Program) で 並 列 計 算 を 実 施 できる. ただし, 各 プロセスにおいて, VL の 中 身 が 違 う:Multiple Data 可 能 な 限 り 計 算 を VL のみで 実 施 することが, 並 列 性 能 の 高 い 計 算 へつながる. プログラムの 形 は, 単 体 CPUの 場 合 とほとんど 変 わらない.

52 51 全 体 データと 局 所 データ VG VL 領 域 全 体 1 番 から20 番 までの 全 体 番 号 を 持 つ 全 体 データ(Global Data) 各 プロセス(PE,プロセッサ, 領 域 ) 1 番 から5 番 までの 局 所 番 号 を 持 つ 局 所 データ(Local Data) できるだけ 局 所 データを 有 効 に 利 用 することで, 高 い 並 列 性 能 が 得 られる.

53 52 局 所 データの 考 え 方 Fortran 全 体 データ VGの 1~5 番 成 分 がPE#0 6~10 番 成 分 がPE#1 11~15 番 成 分 がPE#2 16~20 番 成 分 がPE#3 のそれぞれ, 局 所 データ VLの1 番 ~5 番 成 分 となる ( 局 所 番 号 が1 番 ~5 番 とな る). VG( 1) VG( 2) VG( 3) VG( 4) VG( 5) VG( 6) VG( 7) VG( 8) VG( 9) VG(10) VG(11) VG(12) VG(13) VG(14) VG(15) VG(16) VG(17) VG(18) VG(19) VG(20) PE#0 PE#1 PE#2 PE#3 VL(1) VL(2) VL(3) VL(4) VL(5) VL(1) VL(2) VL(3) VL(4) VL(5) VL(1) VL(2) VL(3) VL(4) VL(5) VL(1) VL(2) VL(3) VL(4) VL(5)

54 VG VL 全 体 データと 局 所 データ 領 域 全 体 1 番 から20 番 までの 全 体 番 号 を 持 つ 全 体 データ(Global Data) 各 プロセッサ 1 番 から5 番 までの 局 所 番 号 を 持 つ 局 所 データ(Local Data) この 講 義 で 常 に 注 意 してほしいこと VG( 全 体 データ)からVL( 局 所 データ)をどのように 生 成 するか. VGからVL,VLからVGへデータの 中 身 をどのようにマッピングするか. VLがプロセスごとに 独 立 して 計 算 できない 場 合 はどうするか. できる 限 り 局 所 性 を 高 めた 処 理 を 実 施 する 高 い 並 列 性 能 そのための データ 構 造, アルゴリズム を 考 える. 53

55 54 MPIとは MPIの 基 礎 :Hello World 全 体 データと 局 所 データ グループ 通 信 (Collective Communication) 1 対 1 通 信 (Peer-to-Peer Communication)

56 55 グループ 通 信 とは コミュニケータで 指 定 されるグループ 全 体 に 関 わる 通 信. 例 制 御 データの 送 信 最 大 値, 最 小 値 の 判 定 総 和 の 計 算 ベクトルの 内 積 の 計 算 密 行 列 の 転 置

57 56 グループ 通 信 の 例 (1/4) P#0 A0 B0 C0 D0 P#1 P#2 P#3 Broadcast P#0 A0 B0 C0 D0 P#1 A0 B0 C0 D0 P#2 A0 B0 C0 D0 P#3 A0 B0 C0 D0 P#0 A0 B0 C0 D0 P#1 Scatter P#0 P#1 A0 B0 P#2 P#3 Gather P#2 P#3 C0 D0

58 57 グループ 通 信 の 例 (2/4) P#0 P#1 A0 B0 All gather P#0 A0 B0 C0 D0 P#1 A0 B0 C0 D0 P#2 C0 P#2 A0 B0 C0 D0 P#3 D0 P#3 A0 B0 C0 D0 P#0 A0 A1 A2 A3 P#1 B0 B1 B2 B3 P#2 C0 C1 C2 C3 P#3 D0 D1 D2 D3 All-to-All P#0 A0 B0 C0 D0 P#1 A1 B1 C1 D1 P#2 A2 B2 C2 D2 P#3 A3 B3 C3 D3

59 58 グループ 通 信 の 例 (3/4) P#0 A0 B0 C0 D0 P#1 A1 B1 C1 D1 Reduce P#0 P#1 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 P#2 A2 B2 C2 D2 P#2 P#3 A3 B3 C3 D3 P#3 P#0 A0 B0 C0 D0 P#1 A1 B1 C1 D1 All reduce P#0 P#1 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 P#2 A2 B2 C2 D2 P#2 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 P#3 A3 B3 C3 D3 P#3 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3

60 59 グループ 通 信 の 例 (4/4) P#0 A0 B0 C0 D0 P#1 A1 B1 C1 D1 Reduce scatter P#0 P#1 op.a0-a3 op.b0-b3 P#2 A2 B2 C2 D2 P#2 op.c0-c3 P#3 A3 B3 C3 D3 P#3 op.d0-d3

61 60 グループ 通 信 による 計 算 例 ベクトルの 内 積 Scatter/Gather 分 散 ファイルの 読 み 込 み

62 61 全 体 データと 局 所 データ 大 規 模 な 全 体 データ(global data)を 局 所 データ(local data)に 分 割 して,SPMDによる 並 列 計 算 を 実 施 する 場 合 のデータ 構 造 について 考 える.

63 62 領 域 分 割 1GB 程 度 のPC 10 6 メッシュが 限 界 :FEM 1000km 1000km 100kmの 領 域 ( 西 南 日 本 )を1kmメッシュで 切 ると10 8 メッシュになる 大 規 模 データ 領 域 分 割, 局 所 データ 並 列 処 理 全 体 系 計 算 領 域 間 の 通 信 が 必 要 大 規 模 データ PCのメモリに 入 りきらない 領 域 分 割 局 所 データ 局 所 データ 局 所 データ 局 所 データ 局 所 データ 局 所 データ 局 所 データ 通 信 局 所 データ MPI Programming

64 63 局 所 データ 構 造 対 象 とする 計 算 (のアルゴリズム)に 適 した 局 所 データ 構 造 を 定 めることが 重 要 アルゴリズム=データ 構 造 この 講 義 の 主 たる 目 的 の 一 つと 言 ってよい. MPI Programming

65 64 全 体 データと 局 所 データ 大 規 模 な 全 体 データ(global data)を 局 所 データ(local data)に 分 割 して,SPMDによる 並 列 計 算 を 実 施 する 場 合 のデータ 構 造 について 考 える. 下 記 のような 長 さ20のベクトル,VECpとVECsの 内 積 計 算 を4つのプロセッサ,プロセスで 並 列 に 実 施 することを 考 える. VECp( 1)= 2 ( 2)= 2 ( 3)= 2 (18)= 2 (19)= 2 (20)= 2 VECs( 1)= 3 ( 2)= 3 ( 3)= 3 (18)= 3 (19)= 3 (20)= 3 VECp[ 0]= 2 [ 1]= 2 [ 2]= 2 [17]= 2 [18]= 2 [19]= 2 VECs[ 0]= 3 [ 1]= 3 [ 2]= 3 [17]= 3 [18]= 3 [19]= 3 Fortran C

66 65 <$P-S1>/dot.f, dot.c implicit REAL*8 (A-H,O-Z) real(kind=8),dimension(20):: & VECp, VECs do i= 1, 20 VECp(i)= 2.0d0 VECs(i)= 3.0d0 enddo sum= 0.d0 do ii= 1, 20 sum= sum + VECp(ii)*VECs(ii) enddo stop end #include <stdio.h> int main(){ int i; double VECp[20], VECs[20] double sum; } for(i=0;i<20;i++){ VECp[i]= 2.0; VECs[i]= 3.0; } sum = 0.0; for(i=0;i<20;i++){ sum += VECp[i] * VECs[i]; } return 0;

67 66 <$P-S1>/dot.f, dot.cの 逐 次 実 行 >$ cd <$P-S1> >$ cc -O3 dot.c >$ f95 O3 dot.f >$./a.out dot product

68 67 MPI_REDUCE P#0 A0 B0 C0 D0 P#1 A1 B1 C1 D1 P#2 A2 B2 C2 D2 P#3 A3 B3 C3 D3 コミュニケータ comm 内 の, 各 プロセスの 送 信 バッファ sendbuf について, 演 算 op を 実 施 し,その 結 果 を1つの 受 信 プロセス root の 受 信 バッファ recbuf に 格 納 する. 総 和, 積, 最 大, 最 小 他 call MPI_REDUCE (sendbuf,recvbuf,count,datatype,op,root,comm,ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, タイプは datatype により 決 定 count 整 数 I メッセージのサイズ datatype 整 数 I メッセージのデータタイプ Fortran MPI_INTEGER, MPI_REAL, MPI_DOUBLE_PRECISION, MPI_CHARACTER etc. C MPI_INT, MPI_FLOAT, MPI_DOUBLE, MPI_CHAR etc Reduce P#0 P#1 P#2 P#3 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 op 整 数 I 計 算 の 種 類 MPI_MAX, MPI_MIN, MPI_SUM, MPI_PROD, MPI_LAND, MPI_BAND etc ユーザーによる 定 義 も 可 能 : MPI_OP_CREATE root 整 数 I 受 信 元 プロセスのID(ランク) comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード Fortran

69 68 送 信 バッファと 受 信 バッファ MPIでは 送 信 バッファ, 受 信 バッファ という 変 数 がしば しば 登 場 する. 送 信 バッファと 受 信 バッファは 必 ずしも 異 なった 名 称 の 配 列 である 必 要 はないが, 必 ずアドレスが 異 なっていなけれ ばならない.

70 MPI_REDUCEの 例 (1/2) Fortran 69 call MPI_REDUCE (sendbuf,recvbuf,count,datatype,op,root,comm,ierr) real(kind=8):: X0, X1 call MPI_REDUCE (X0, X1, 1, MPI_DOUBLE_PRECISION, MPI_MAX, 0, <comm>, ierr) real(kind=8):: X0(4), XMAX(4) call MPI_REDUCE (X0, XMAX, 4, MPI_DOUBLE_PRECISION, MPI_MAX, 0, <comm>, ierr) 各 プロセスにおける,X0(i)の 最 大 値 が0 番 プロセスのXMAX(i)に 入 る(i=1~4)

71 MPI_REDUCEの 例 (2/2) Fortran 70 call MPI_REDUCE (sendbuf,recvbuf,count,datatype,op,root,comm,ierr) real(kind=8):: X0, XSUM call MPI_REDUCE (X0, XSUM, 1, MPI_DOUBLE_PRECISION, MPI_SUM, 0, <comm>, ierr) 各 プロセスにおける,X0の 総 和 が0 番 PEのXSUMに 入 る. real(kind=8):: X0(4) call MPI_REDUCE (X0(1), X0(3), 2, MPI_DOUBLE_PRECISION, MPI_SUM, 0, <comm>, ierr) 各 プロセスにおける, X0(1)の 総 和 が0 番 プロセスのX0(3)に 入 る. X0(2)の 総 和 が0 番 プロセスのX0(4)に 入 る.

72 71 MPI_BCAST P#0 A0 B0 C0 D0 P#1 Broadcast P#0 A0 B0 C0 D0 P#1 A0 B0 C0 D0 P#2 P#2 A0 B0 C0 D0 P#3 P#3 A0 B0 C0 D0 コミュニケーター comm 内 の 一 つの 送 信 元 プロセス root のバッファ buffer から,その 他 全 てのプロセスのバッファ buffer にメッセージを 送 信. call MPI_BCAST (buffer,count,datatype,root,comm,ierr) buffer 任 意 I/O バッファの 先 頭 アドレス, タイプは datatype により 決 定 count 整 数 I メッセージのサイズ datatype 整 数 I メッセージのデータタイプ Fortran MPI_INTEGER, MPI_REAL, MPI_DOUBLE_PRECISION, MPI_CHARACTER etc. C MPI_INT, MPI_FLOAT, MPI_DOUBLE, MPI_CHAR etc. root 整 数 I 送 信 元 プロセスのID(ランク) comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード Fortran

73 72 MPI_ALLREDUCE P#0 A0 B0 C0 D0 P#1 A1 B1 C1 D1 P#2 A2 B2 C2 D2 All reduce P#0 P#1 P#2 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 P#3 A3 B3 C3 D3 P#3 op.a0-a3 op.b0-b3 op.c0-c3 op.d0-d3 MPI_REDUCE + MPI_BCAST 総 和, 最 大 値 を 計 算 したら, 各 プロセスで 利 用 したい 場 合 が 多 い call MPI_ALLREDUCE (sendbuf,recvbuf,count,datatype,op, comm,ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, タイプは datatype により 決 定 count 整 数 I メッセージのサイズ datatype 整 数 I メッセージのデータタイプ op 整 数 I 計 算 の 種 類 comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード Fortran

74 MPI_Reduce/Allreduceの op Fortran 73 call MPI_REDUCE (sendbuf,recvbuf,count,datatype,op,root,comm,ierr) MPI_MAX,MPI_MIN 最 大 値, 最 小 値 MPI_SUM,MPI_PROD 総 和, 積 MPI_LAND 論 理 AND MPI Programming

75 74 局 所 データの 考 え 方 (1/2) Fortran 長 さ20のベクトルを,4つに 分 割 する 各 プロセスで 長 さ5のベクトル(1~5) VECp( 1)= 2 ( 2)= 2 ( 3)= 2 (18)= 2 (19)= 2 (20)= 2 VECs( 1)= 3 ( 2)= 3 ( 3)= 3 (18)= 3 (19)= 3 (20)= 3

76 局 所 データの 考 え 方 (2/2) Fortran 75 もとのベクトルの1~5 番 成 分 が0 番 PE,6~10 番 成 分 が1 番 PE,11~15 番 が2 番 PE,16~20 番 が3 番 PEのそれぞれ1 番 ~5 番 成 分 となる( 局 所 番 号 が1 番 ~5 番 となる). VECp( 1)~VECp( 5) VECs( 1)~VECs( 5) PE#0 VECp(1)= 2 (2)= 2 (3)= 2 (4)= 2 (5)= 2 VECs(1)= 3 (2)= 3 (3)= 3 (4)= 3 (5)= 3 VECp( 6)~VECp(10) VECs( 6)~VECs(10) PE#1 VECp(1)= 2 (2)= 2 (3)= 2 (4)= 2 (5)= 2 VECs(1)= 3 (2)= 3 (3)= 3 (4)= 3 (5)= 3 VECp(11)~VECp(15) VECs(11)~VECs(15) PE#2 VECp(1)= 2 (2)= 2 (3)= 2 (4)= 2 (5)= 2 VECs(1)= 3 (2)= 3 (3)= 3 (4)= 3 (5)= 3 VECp(16)~VECp(20) VECs(16)~VECs(20) PE#3 VECp(1)= 2 (2)= 2 (3)= 2 (4)= 2 (5)= 2 VECs(1)= 3 (2)= 3 (3)= 3 (4)= 3 (5)= 3

77 76 とは 言 え 全 体 を 分 割 して,1から 番 号 をふり 直 すだけ とい うのはいかにも 簡 単 である. もちろんこれだけでは 済 ま ない. 済 まない 例 について は 後 半 に 紹 介 する. VG( 1) VG( 2) VG( 3) VG( 4) VG( 5) VG( 6) VG( 7) VG( 8) VG( 9) VG(10) VG(11) VG(12) VG(13) VG(14) VG(15) VG(16) VG(17) VG(18) VG(19) VG(20) PE#0 PE#1 PE#2 PE#3 VL(1) VL(2) VL(3) VL(4) VL(5) VL(1) VL(2) VL(3) VL(4) VL(5) VL(1) VL(2) VL(3) VL(4) VL(5) VL(1) VL(2) VL(3) VL(4) VL(5) MPI Programming

78 77 内 積 の 並 列 計 算 例 (1/3) <$P-S1>/allreduce.f implicit REAL*8 (A-H,O-Z) include 'mpif.h' integer :: PETOT, my_rank, ierr real(kind=8), dimension(5) :: VECp, VECs call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) suma= 0.d0 sumr= 0.d0 do i= 1, 5 VECp(i)= 2.d0 VECs(i)= 3.d0 enddo 各 ベクトルを 各 プロセスで 独 立 に 生 成 する sum0= 0.d0 do i= 1, 5 sum0= sum0 + VECp(i) * VECs(i) enddo if (my_rank == 0) then write (*,'(a)') '(my_rank, sumallreduce, sumreduce) endif

79 78 内 積 の 並 列 計 算 例 (2/3) <$P-S1>/allreduce.f!C!C-- REDUCE call MPI_REDUCE (sum0, sumr, 1, MPI_DOUBLE_PRECISION, MPI_SUM, 0, & MPI_COMM_WORLD, ierr)!c!c-- ALL-REDUCE call MPI_allREDUCE (sum0, suma, 1, MPI_DOUBLE_PRECISION, MPI_SUM, & MPI_COMM_WORLD, ierr) write (*,'(a,i5, 2(1pe16.6))') 'before BCAST', my_rank, suma, sumr 内 積 の 計 算 各 プロセスで 計 算 した 結 果 sum0 の 総 和 をとる sumr には,PE#0だけに 計 算 結 果 が 入 る. PE#1~PE#3は 何 も 変 わらない. suma には,MPI_ALLREDUCEによって 全 プロセスに 計 算 結 果 が 入 る.

80 79 <$P-S1>/allreduce.f 内 積 の 並 列 計 算 例 (3/3)!C!C-- BCAST call MPI_BCAST (sumr, 1, MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, & ierr) write (*,'(a,i5, 2(1pe16.6))') 'after BCAST', my_rank, suma, sumr call MPI_FINALIZE (ierr) stop end MPI_BCASTによって,PE#0 以 外 の 場 合 にも sumr に 計 算 結 果 が 入 る.

81 80 <$P-S1>/allreduce.f/c の 実 行 例 $> mpifccpx O3 allreduce.c $> mpifrtpx O3 allreduce.f $> pjsub go4.sh 出 力 先 のファイル 名 を 適 当 に 変 更 してもよい (my_rank, sumallreduce, sumreduce) before BCAST E E+02 after BCAST E E+02 before BCAST E E+00 after BCAST E E+02 before BCAST E E+00 after BCAST E E+02 before BCAST E E+00 after BCAST E E+02

82 81 グループ 通 信 による 計 算 例 ベクトルの 内 積 Scatter/Gather 分 散 ファイルの 読 み 込 み

83 82 全 体 データと 局 所 データ(1/3) ある 実 数 ベクトルVECgの 各 成 分 に 実 数 を 加 えるという, 以 下 のような 簡 単 な 計 算 を, 並 列 化 することを 考 えてみよう: do i= 1, NG VECg(i)= VECg(i) + ALPHA enddo for (i=0; i<ng; i++{ VECg[i]= VECg[i] + ALPHA }

84 83 簡 単 のために, 全 体 データと 局 所 データ(2/3) NG=32 ALPHA= MPIプロセス 数 =4 ベクトルVECgとして 以 下 のような32 個 の 成 分 を 持 つベクト ルを 仮 定 する(<$P-S1>/a1x.all): (101.0, 103.0, 105.0, 106.0, 109.0, 111.0, 121.0, 151.0, 201.0, 203.0, 205.0, 206.0, 209.0, 211.0, 221.0, 251.0, 301.0, 303.0, 305.0, 306.0, 309.0, 311.0, 321.0, 351.0, 401.0, 403.0, 405.0, 406.0, 409.0, 411.0, 421.0, 451.0)

85 84 全 体 データと 局 所 データ(3/3) 並 列 計 算 の 方 針 1 長 さ32のベクトルVECgをあるプロセス( 例 えば0 番 )で 読 み 込 む. 全 体 データ 2 4つのプロセスへ 均 等 に( 長 さ8ずつ) 割 り 振 る. 局 所 データ, 局 所 番 号 3 各 プロセスでベクトル( 長 さ8)の 各 成 分 にALPHAを 加 える. 4 各 プロセスの 結 果 を 再 び 長 さ32のベクトルにまとめる. もちろんこの 程 度 の 規 模 であれば1プロセッサで 計 算 できるのである が

86 85 Scatter/Gatherの 計 算 (1/8) 長 さ32のベクトルVECgをあるプロセス( 例 えば0 番 )で 読 み 込 む. プロセス0 番 から 全 体 データ を 読 み 込 む include 'mpif.h' integer, parameter :: NG= 32 real(kind=8), dimension(ng):: VECg call MPI_INIT (ierr) call MPI_COMM_SIZE (<comm>, PETOT, ierr) call MPI_COMM_RANK (<comm>, my_rank, ierr) if (my_rank.eq.0) then open (21, file= 'a1x.all', status= 'unknown') do i= 1, NG read (21,*) VECg(i) enddo close (21) endif #include <mpi.h> #include <stdio.h> #include <math.h> #include <assert.h> int main(int argc, char **argv){ int i, NG=32; int PeTot, MyRank, MPI_Comm; double VECg[32]; char filename[80]; FILE *fp; MPI_Init(&argc, &argv); MPI_Comm_size(<comm>, &PeTot); MPI_Comm_rank(<comm>, &MyRank); fp = fopen("a1x.all", "r"); if(!myrank) for(i=0;i<ng;i++){ fscanf(fp, "%lf", &VECg[i]); }

87 86 Scatter/Gatherの 計 算 (2/8) 4つのプロセスへ 均 等 に( 長 さ8ずつ) 割 り 振 る. MPI_Scatter の 利 用

88 87 MPI_SCATTER P#0 A0 B0 C0 D0 P#1 P#2 P#3 Scatter Gather P#0 P#1 P#2 P#3 A0 B0 C0 D0 コミュニケータ comm 内 の 一 つの 送 信 元 プロセス root の 送 信 バッファ sendbuf から 各 プロセスに 先 頭 から scount ずつのサイズのメッセージを 送 信 し,その 他 全 てのプロセスの 受 信 バッファ recvbuf に,サイズ rcount のメッ セージを 格 納. call MPI_SCATTER (sendbuf, scount, sendtype, recvbuf, rcount, recvtype, root, comm, ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, scount 整 数 I 送 信 メッセージのサイズ sendtype 整 数 I 送 信 メッセージのデータタイプ recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, rcount 整 数 I 受 信 メッセージのサイズ recvtype 整 数 I 受 信 メッセージのデータタイプ root 整 数 I 送 信 プロセスのID(ランク) comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード Fortran

89 88 MPI_SCATTER P#0 A0 B0 C0 D0 P#1 Scatter P#0 P#1 A0 B0 ( 続 き) P#2 P#3 Gather P#2 P#3 C0 D0 call MPI_SCATTER (sendbuf, scount, sendtype, recvbuf, rcount, recvtype, root, comm, ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, scount 整 数 I 送 信 メッセージのサイズ sendtype 整 数 I 送 信 メッセージのデータタイプ recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, rcount 整 数 I 受 信 メッセージのサイズ recvtype 整 数 I 受 信 メッセージのデータタイプ root 整 数 I 送 信 プロセスのID(ランク) comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード 通 常 は scount = rcount sendtype= recvtype この 関 数 によって,プロセスroot 番 のsendbuf( 送 信 バッファ)の 先 頭 アドレスから scount 個 ずつの 成 分 が,commで 表 されるコミュニケータを 持 つ 各 プロセスに 送 信 され,recvbuf( 受 信 バッファ)のrcount 個 の 成 分 として 受 信 される. Fortran

90 89 Scatter/Gatherの 計 算 (3/8) 4つのプロセスへ 均 等 に( 長 さ8ずつ) 割 り 振 る. 各 プロセスにおいて 長 さ8の 受 信 バッファ VEC (= 局 所 データ)を 定 義 しておく. プロセス0 番 から 送 信 される 送 信 バッファ VECg の8 個 ずつの 成 分 が, 4つの 各 プロセスにおいて 受 信 バッファ VEC の1 番 目 から8 番 目 の 成 分 として 受 信 される N=8 として 引 数 は 下 記 のようになる: integer, parameter :: N = 8 real(kind=8), dimension(n ) :: VEC... call MPI_Scatter & (VECg, N, MPI_DOUBLE_PRECISION, & VEC, N, MPI_DOUBLE_PRECISION, & 0, <comm>, ierr) int N=8; double VEC [8];... MPI_Scatter (&VECg, N, MPI_DOUBLE, &VEC, N, MPI_DOUBLE, 0, <comm>); call MPI_SCATTER (sendbuf, scount, sendtype, recvbuf, rcount, recvtype, root, comm, ierr)

91 90 Scatter/Gatherの 計 算 (4/8) 4つのプロセスへ 均 等 に( 長 さ8ずつ) 割 り 振 る. rootプロセス(0 番 )から 各 プロセスへ8 個 ずつの 成 分 がscatterされる. VECgの1 番 目 から8 番 目 の 成 分 が0 番 プロセスにおけるVECの1 番 目 か ら8 番 目,9 番 目 から16 番 目 の 成 分 が1 番 プロセスにおけるVECの1 番 目 から8 番 目 という 具 合 に 格 納 される. VECg: 全 体 データ,VEC: 局 所 データ VEC recvbuf 8 PE#0 8 PE#1 8 PE#2 8 PE#3 局 所 データ local data VECg sendbuf root 全 体 データ global data

92 91 Scatter/Gatherの 計 算 (5/8) 4つのプロセスへ 均 等 に( 長 さ8ずつ) 割 り 振 る. 全 体 データ(global data)としてはvecgの1 番 から32 番 までの 要 素 番 号 を 持 っていた 各 成 分 が,それぞれのプロセスにおける 局 所 データ(local data)としては,vecの1 番 から8 番 までの 局 所 番 号 を 持 った 成 分 として 格 納 される.VECの 成 分 を 各 プロセスごとに 書 き 出 してみると: do i= 1, N write (*,'(a, 2i8,f10.0)') 'before', my_rank, i, VEC(i) enddo for(i=0;i<n;i++){ printf("before %5d %5d %10.0F\n", MyRank, i+1, VEC[i]);}

93 92 Scatter/Gatherの 計 算 (5/8) 4つのプロセスへ 均 等 に( 長 さ8ずつ) 割 り 振 る. 全 体 データ(global data)としてはvecgの1 番 から32 番 までの 要 素 番 号 を 持 っていた 各 成 分 が,それぞれのプロセスにおける 局 所 データ(local data)としては,vecの1 番 から8 番 までの 局 所 番 号 を 持 った 成 分 として 格 納 される.VECの 成 分 を 各 プロセスごとに 書 き 出 してみると: PE#0 before before before before before before before before PE#1 before before before before before before before before PE#2 before before before before before before before before PE#3 before before before before before before before before

94 93 Scatter/Gatherの 計 算 (6/8) 各 プロセスでベクトル( 長 さ8)の 各 成 分 にALPHAを 加 える 各 プロセスでの 計 算 は, 以 下 のようになる: real(kind=8), parameter :: ALPHA= do i= 1, N VEC(i)= VEC(i) + ALPHA enddo double ALPHA=1000.;... for(i=0;i<n;i++){ VEC[i]= VEC[i] + ALPHA;} 計 算 結 果 は 以 下 のようになる: PE#0 after after after after after after after after PE#1 after after after after after after after after PE#2 after after after after after after after after PE#3 after after after after after after after after

95 94 Scatter/Gatherの 計 算 (7/8) 各 プロセスの 結 果 を 再 び 長 さ32のベクトルにまとめる これには,MPI_Scatter と 丁 度 逆 の MPI_Gather という 関 数 が 用 意 されている.

96 95 MPI_GATHER P#0 A0 B0 C0 D0 P#1 P#2 P#3 Scatter Gather P#0 P#1 P#2 P#3 A0 B0 C0 D0 MPI_SCATTERの 逆 call MPI_GATHER (sendbuf, scount, sendtype, recvbuf, rcount, recvtype, root, comm, ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, scount 整 数 I 送 信 メッセージのサイズ sendtype 整 数 I 送 信 メッセージのデータタイプ recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, rcount 整 数 I 受 信 メッセージのサイズ recvtype 整 数 I 受 信 メッセージのデータタイプ root 整 数 I 受 信 プロセスのID(ランク) comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード ここで, 受 信 バッファ recvbuf の 値 はroot 番 のプロセスに 集 められる. Fortran

97 96 Scatter/Gatherの 計 算 (8/8) 各 プロセスの 結 果 を 再 び 長 さ32のベクトルにまとめる 本 例 題 の 場 合,root=0として, 各 プロセスから 送 信 されるVECの 成 分 を0 番 プロセスにおいてVECgとして 受 信 するものとすると 以 下 のようになる: call MPI_Gather & (VEC, N, MPI_DOUBLE_PRECISION, & VECg, N, MPI_DOUBLE_PRECISION, & 0, <comm>, ierr) MPI_Gather (&VEC, N, MPI_DOUBLE, &VECg, N, MPI_DOUBLE, 0, <comm>); 各 プロセスから8 個 ずつの 成 分 がrootプロセスへgatherされる VEC sendbuf PE#0 PE#1 PE#2 PE#3 局 所 データ local data VECg recvbuf root 全 体 データ global data

98 <$P-S1>/scatter-gather.f/c 97 実 行 例 $> mpifccpx Kfast scatter-gather.c $> mpifrtpx Kfast scatter-gather.f $> pjsub go4.sh 出 力 先 のファイル 名 を 適 当 に 変 更 してもよい PE#0 before before before before before before before before PE#1 before before before before before before before before PE#2 before before before before before before before before PE#3 before before before before before before before before PE#0 after after after after after after after after PE#1 after after after after after after after after PE#2 after after after after after after after after PE#3 after after after after after after after after

99 98 MPI_REDUCE_SCATTER P#0 A0 B0 C0 D0 P#1 A1 B1 C1 D1 Reduce scatter P#0 P#1 op.a0-a3 op.b0-b3 P#2 A2 B2 C2 D2 P#2 op.c0-c3 P#3 A3 B3 C3 D3 P#3 op.d0-d3 MPI_REDUCE + MPI_SCATTER call MPI_REDUCE_SCATTER (sendbuf, recvbuf, rcount, datatype, op, comm, ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, rcount 整 数 I 受 信 メッセージのサイズ( 配 列 :サイズ=プロセス 数 ) datatype 整 数 I メッセージのデータタイプ op 整 数 I 計 算 の 種 類 comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード Fortran

100 99 MPI_ALLGATHER P#0 P#1 P#2 A0 B0 C0 All gather P#0 A0 B0 C0 D0 P#1 A0 B0 C0 D0 P#2 A0 B0 C0 D0 P#3 D0 P#3 A0 B0 C0 D0 MPI_GATHER+MPI_BCAST Gatherしたものを, 全 てのPEにBCASTする( 各 プロセスで 同 じデータを 持 つ) call MPI_ALLGATHER (sendbuf, scount, sendtype, recvbuf, rcount, recvtype, comm, ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, scount 整 数 I 送 信 メッセージのサイズ sendtype 整 数 I 送 信 メッセージのデータタイプ recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, rcount 整 数 I 受 信 メッセージのサイズ recvtype 整 数 I 受 信 メッセージのデータタイプ comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード Fortran

101 100 MPI_ALLTOALL P#0 A0 A1 A2 A3 P#1 B0 B1 B2 B3 All-to-All P#0 A0 B0 C0 D0 P#1 A1 B1 C1 D1 P#2 C0 C1 C2 C3 P#2 A2 B2 C2 D2 P#3 D0 D1 D2 D3 P#3 A3 B3 C3 D3 MPI_ALLGATHERの 更 なる 拡 張 : 転 置 call MPI_ALLTOALL (sendbuf, scount, sendtype, recvbuf, rcount, recvrype, comm, ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, scount 整 数 I 送 信 メッセージのサイズ sendtype 整 数 I 送 信 メッセージのデータタイプ recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, rcount 整 数 I 受 信 メッセージのサイズ recvtype 整 数 I 受 信 メッセージのデータタイプ comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード Fortran

102 101 グループ 通 信 による 計 算 例 ベクトルの 内 積 Scatter/Gather 分 散 ファイルの 読 み 込 み

103 102 分 散 ファイルを 使 用 したオペレーション Scatter/Gatherの 例 では,PE#0から 全 体 データを 読 み 込 み, それを 全 体 にScatterして 並 列 計 算 を 実 施 した. 問 題 規 模 が 非 常 に 大 きい 場 合,1つのプロセッサで 全 ての データを 読 み 込 むことは 不 可 能 な 場 合 がある. 最 初 から 分 割 しておいて, 局 所 データ を 各 プロセッサで 独 立 に 読 み 込 む. あるベクトルに 対 して, 全 体 操 作 が 必 要 になった 場 合 は, 状 況 に 応 じてMPI_Gatherなどを 使 用 する

104 103 分 散 ファイル 読 み 込 み: 等 データ 長 (1/2) >$ cd <$P-S1> >$ ls a1.* a1.0 a1.1 a1.2 a1.3 a1x.all を4つに 分 割 したもの >$ mpifccpx Kfast file.c >$ mpifrtpx Kfast file.f >$ pjsub go4.sh

105 104 分 散 ファイルの 操 作 a1.0~a1.3 は 全 体 ベクトル a1x.all を 領 域 に 分 割 し たもの,と 考 えることができる. a1x.all a1.0 a1.1 a1.2 a1.3

106 105 分 散 ファイル 読 み 込 み: 等 データ 長 (2/2) <$P-S1>/file.f implicit REAL*8 (A-H,O-Z) include 'mpif.h' integer :: PETOT, my_rank, ierr real(kind=8), dimension(8) :: VEC character(len=80) :: filename Hello とそんなに 変 わらない call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) if (my_rank.eq.0) filename= 'a1.0' if (my_rank.eq.1) filename= 'a1.1' if (my_rank.eq.2) filename= 'a1.2' if (my_rank.eq.3) filename= 'a1.3' open (21, file= filename, status= 'unknown') do i= 1, 8 read (21,*) VEC(i) enddo close (21) 局 所 番 号 (1~8) で 読 み 込 む call MPI_FINALIZE (ierr) stop end

107 106 SPMDの 典 型 例 PE #0 PE #1 PE #2 PE #3 a.out a.out a.out a.out a1.0 a1.1 a1.2 a1.3 mpiexec -np 4 a.out

108 107 分 散 ファイル 読 み 込 み: 可 変 長 (1/2) ファイル 内 のデータ 数 が 均 等 でない 場 合 はどうするか? >$ cd <$P-S1> >$ ls a2.* a2.0 a2.1 a2.2 a2.3 >$ cat a2.1 5 各 PEにおける 成 分 数 成 分 の 並 び >$ mpifccpx Kfast file2.c >$ mpifrtpx Kfast file2.f >$ pjsub go4.sh

109 108 分 散 ファイルの 読 み 込 み: 可 変 長 (2/2) <$P-S1>/file2.f implicit REAL*8 (A-H,O-Z) include 'mpif.h' integer :: PETOT, my_rank, ierr real(kind=8), dimension(:), allocatable :: VEC character(len=80) :: filename call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) if (my_rank.eq.0) filename= 'a2.0' if (my_rank.eq.1) filename= 'a2.1' if (my_rank.eq.2) filename= 'a2.2' if (my_rank.eq.3) filename= 'a2.3' open (21, file= filename, status= 'unknown') read (21,*) N allocate (VEC(N)) do i= 1, N read (21,*) VEC(i) enddo close(21) call MPI_FINALIZE (ierr) stop end Nが 各 データ(プロセッサ)で 異 なる

110 109 局 所 データの 作 成 法 全 体 データ(N=NG)を 入 力 Scatterして 各 プロセスに 分 割 各 プロセスで 演 算 必 要 に 応 じて 局 所 データをGather(またはAllgather)して 全 体 デー タを 生 成 局 所 データ(N=NL)を 生 成,あるいは(あらかじめ 分 割 生 成 して) 入 力 各 プロセスで 局 所 データを 生 成,あるいは 入 力 各 プロセスで 演 算 必 要 に 応 じて 局 所 データをGather(またはAllgather)して 全 体 デー タを 生 成 将 来 的 には 後 者 が 中 心 となるが, 全 体 的 なデータの 動 きを 理 解 するために,しばらくは 前 者 についても 併 用

111 110 グループ 通 信 による 計 算 例 ベクトルの 内 積 Scatter/Gather 分 散 ファイルの 読 み 込 み MPI_Allgatherv

112 111 MPI_GATHERV,MPI_SCATTERV これまで 紹 介 してきた,MPI_GATHETR, MPI_SCATTERなどは, 各 プロセッサからの 送 信, 受 信 メッセージが 均 等 な 場 合. 末 尾 に V が 付 くと, 各 ベクトルが 可 変 長 さの 場 合 となる. MPI_GATHERV MPI_SCATTERV MPI_ALLGATHERV MPI_ALLTOALLV

113 MPI_ALLGATHERV Fortran 112 MPI_ALLGATHER の 可 変 長 さベクトル 版 局 所 データ から 全 体 データ を 生 成 する call MPI_ALLGATHERV (sendbuf, scount, sendtype, recvbuf, rcounts, displs, recvtype, comm, ierr) sendbuf 任 意 I 送 信 バッファの 先 頭 アドレス, scount 整 数 I 送 信 メッセージのサイズ sendtype 整 数 I 送 信 メッセージのデータタイプ recvbuf 任 意 O 受 信 バッファの 先 頭 アドレス, rcounts 整 数 I 受 信 メッセージのサイズ( 配 列 :サイズ=PETOT) displs 整 数 I 受 信 メッセージのインデックス( 配 列 :サイズ=PETOT+1) recvtype 整 数 I 受 信 メッセージのデータタイプ comm 整 数 I コミュニケータを 指 定 する ierr 整 数 O 完 了 コード

114 MPI_ALLGATHERV( 続 き) Fortran 113 call MPI_ALLGATHERV (sendbuf, scount, sendtype, recvbuf, rcounts, displs, recvtype, comm, ierr) rcounts 整 数 I 受 信 メッセージのサイズ( 配 列 :サイズ=PETOT) displs 整 数 I 受 信 メッセージのインデックス( 配 列 :サイズ=PETOT+1) この2つの 配 列 は, 最 終 的 に 生 成 される 全 体 データ のサイズに 関 する 配 列 であるため, 各 プ ロセスで 配 列 の 全 ての 値 が 必 要 になる: もちろん 各 プロセスで 共 通 の 値 を 持 つ 必 要 がある. 通 常 はstride(i)=rcounts(i) PE#0 PE#1 PE#2 PE#(m-2) PE#(m-1) stride(1) stride(2) stride(3) stride(m-1) stride(m) rcounts(1) rcounts(2) rcounts(3) rcounts(m-1) rcounts(m) displs(1)=0 displs(2)= displs(1) + stride(1) size(recvbuf)= displs(petot+1)= sum(stride) displs(m+1)= displs(m) + stride(m)

115 MPI_ALLGATHERV でやっていること 局 所 データから 全 体 データを 生 成 する PE#0 PE#1 PE#2 N N N rcounts(1) rcounts(2) rcounts(3) displs(1) stride(1) displs(2) stride(2) displs(3) stride(3) 114 displs(4) PE#3 N rcounts (4) stride(4) 局 所 データ:sendbuf displs(5) 全 体 データ:recvbuf

116 115 MPI_ALLGATHERV でやっていること 局 所 データから 全 体 データを 生 成 する PE#0 N PE#1 N PE#2 N PE#3 N 局 所 データ:sendbuf rcounts(1) rcounts(2) rcounts(3) rcounts (4) displs(1) stride(1) = rcounts(1) displs(2) stride(2) = rcounts(2) displs(3) stride(3) = rcounts(3) displs(4) stride(4) = rcounts(4) displs(5) 全 体 データ:recvbuf

117 MPI_ALLGATHERV 詳 細 (1/2) Fortran 116 call MPI_ALLGATHERV (sendbuf, scount, sendtype, recvbuf, rcounts, displs, recvtype, comm, ierr) rcounts 整 数 I 受 信 メッセージのサイズ( 配 列 :サイズ=PETOT) displs 整 数 I 受 信 メッセージのインデックス( 配 列 :サイズ=PETOT+1) rcounts 各 PEにおけるメッセージサイズ: 局 所 データのサイズ displs 各 局 所 データの 全 体 データにおけるインデックス displs(petot+1)が 全 体 データのサイズ PE#0 PE#1 PE#2 PE#(m-2) PE#(m-1) stride(1) stride(2) stride(3) stride(m-1) stride(m) rcounts(1) rcounts(2) rcounts(3) rcounts(m-1) rcounts(m) displs(1)=0 displs(2)= displs(1) + stride(1) size(recvbuf)= displs(petot+1)= sum(stride) displs(m+1)= displs(m) + stride(m)

118 MPI_ALLGATHERV 詳 細 (2/2) Fortran 117 rcountsとdisplsは 各 プロセスで 共 通 の 値 が 必 要 各 プロセスのベクトルの 大 きさ N をallgatherして,rcounts に 相 当 するベクトルを 作 る. rcountsから 各 プロセスにおいてdisplsを 作 る( 同 じものがで きる). stride(i)= rcounts(i) とする rcountsの 和 にしたがってrecvbufの 記 憶 領 域 を 確 保 する. PE#0 PE#1 PE#2 PE#(m-2) PE#(m-1) stride(1) stride(2) stride(3) stride(m-1) stride(m) rcounts(1) rcounts(2) rcounts(3) rcounts(m-1) rcounts(m) displs(1)=0 displs(2)= displs(1) + stride(1) size(recvbuf)= displs(petot+1)= sum(stride) displs(m+1)= displs(m) + stride(m)

119 118 MPI_ALLGATHERV 使 用 準 備 例 題 :<$P-S1>/agv.f,<$P-S1>/agv.c a2.0 ~ a2.3 から, 全 体 ベクトルを 生 成 する. 各 ファイルのベクトルのサイズが,8,5,7,3であるから, 長 さ23(= )のベクトルができることになる.

120 119 a2.0~a2.3 PE#0 PE#1 PE#2 PE#

121 120 MPI_ALLGATHERV 使 用 準 備 (1/4) <$P-S1>/agv.f implicit REAL*8 (A-H,O-Z) include 'mpif.h' integer :: PETOT, my_rank, SOLVER_COMM, ierr real(kind=8), dimension(:), allocatable :: VEC real(kind=8), dimension(:), allocatable :: VEC2 real(kind=8), dimension(:), allocatable :: VECg integer(kind=4), dimension(:), allocatable :: rcounts integer(kind=4), dimension(:), allocatable :: displs character(len=80) :: filename call MPI_INIT (ierr) call MPI_COMM_SIZE (MPI_COMM_WORLD, PETOT, ierr ) call MPI_COMM_RANK (MPI_COMM_WORLD, my_rank, ierr ) if (my_rank.eq.0) filename= 'a2.0' if (my_rank.eq.1) filename= 'a2.1' if (my_rank.eq.2) filename= 'a2.2' if (my_rank.eq.3) filename= 'a2.3' open (21, file= filename, status= 'unknown') read (21,*) N allocate (VEC(N)) do i= 1, N read (21,*) VEC(i) enddo N(NL)の 値 が 各 PEで 異 なることに 注 意

122 121 MPI_ALLGATHERV 使 用 準 備 (2/4) <$P-S1>/agv.f allocate (rcounts(petot), displs(petot+1)) rcounts= 0 write (*, (a,10i8) ) before, my_rank, N, rcounts call MPI_allGATHER ( N, 1, MPI_INTEGER, & & rcounts, 1, MPI_INTEGER, & & MPI_COMM_WORLD, ierr) write (*,'(a,10i8)') "after ", my_rank, N, rcounts displs(1)= 0 各 PEにrcountsを 生 成 PE#0 N=8 PE#1 N=5 PE#2 N=7 PE#3 N=3 MPI_Allgather rcounts(1:4)= {8, 5, 7, 3} rcounts(1:4)= {8, 5, 7, 3} rcounts(1:4)= {8, 5, 7, 3} rcounts(1:4)= {8, 5, 7, 3}

123 122 MPI_ALLGATHERV 使 用 準 備 (2/4) <$P-S1>/agv.f allocate (rcounts(petot), displs(petot+1)) rcounts= 0 write (*, (a,10i8) ) before, my_rank, N, rcounts call MPI_allGATHER ( N, 1, MPI_INTEGER, & & rcounts, 1, MPI_INTEGER, & & MPI_COMM_WORLD, ierr) write (*,'(a,10i8)') "after ", my_rank, N, rcounts displs(1)= 0 各 PEにrcountsを 生 成 do ip= 1, PETOT displs(ip+1)= displs(ip) + rcounts(ip) enddo 各 PEでdisplsを 生 成 write (*,'(a,10i8)') "displs", my_rank, displs call MPI_FINALIZE (ierr) stop end

124 123 MPI_ALLGATHERV 使 用 準 備 (3/4) > mpifrtpx Kfast agv.f > mpifccpx Kfast agv.c > pjsub go4.sh before after displs before after displs before after displs before after displs write (*, (a,10i8) ) before, my_rank, N, rcounts write (*,'(a,10i8)') "after ", my_rank, N, rcounts write (*,'(a,i8,8x,10i8)') "displs", my_rank, displs

125 124 MPI_ALLGATHERV 使 用 準 備 (4/4) 引 数 で 定 義 されていないのは recvbuf だけ. サイズは displs(petot+1) 各 PEで, allocate (recvbuf(displs(petot+1)) の ようにして 記 憶 領 域 を 確 保 する call MPI_allGATHERv ( VEC, N, MPI_DOUBLE_PRECISION, recvbuf, rcounts, displs, MPI_DOUBLE_PRECISION, MPI_COMM_WORLD, ierr)

126 125 課 題 S1 (1/2) <$P-S1>/a1.0~a1.3, <$P-S1>/a2.0~a2.3 から 局 所 ベクトル 情 報 を 読 み 込 み, 全 体 ベクトルのノルム ( x )を 求 めるプログラムを 作 成 する(S1-1). ノルム x は, 各 要 素 の2 乗 の 和 の 平 方 根 である. <$P-S1>file.f,<$T-S1>file2.fをそれぞれ 参 考 にする. <$P-S1>/a2.0~a2.3 から 局 所 ベクトル 情 報 を 読 み 込 み, 全 体 ベクトル 情 報 を 各 プロセッサに 生 成 するプログラム を 作 成 する.MPI_Allgathervを 使 用 する(S1-2).

127 126 課 題 S1 (2/2) 下 記 の 数 値 積 分 を 台 形 公 式 によって 求 めるプログラムを 作 成 する.MPI_Reduce,MPI_Bcast 等 を 使 用 して 並 列 化 を 実 施 し,プロセッサ 数 を 変 化 させた 場 合 の 計 算 時 間 を 測 定 する (S1-3) x 0 2 dx 1 2 x f N 1 2 f N 1 f i i 2

Microsoft PowerPoint - S1-ref-F.ppt [互換モード]

Microsoft PowerPoint - S1-ref-F.ppt [互換モード] 課題 S1 解説 Fortran 言語編 RIKEN AICS HPC Summer School 2014 中島研吾 ( 東大 情報基盤センター ) 横川三津夫 ( 神戸大 計算科学教育センター ) MPI Programming 課題 S1 (1/2) /a1.0~a1.3, /a2.0~a2.3 から局所ベクトル情報を読み込み, 全体ベクトルのノルム ( x ) を求めるプログラムを作成する

More information

Microsoft PowerPoint - MPIprog-F1.ppt [互換モード]

Microsoft PowerPoint - MPIprog-F1.ppt [互換モード] MPI によるプログラミング概要 ( その 1) Fortran 言語編 RIKEN AICS HPC Summer School 2015 中島研吾 ( 東大 情報基盤センター ) 横川三津夫 ( 神戸大 計算科学教育センター ) 1 本 school の目的 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的

More information

Microsoft PowerPoint - MPIprog-F1.ppt [互換モード]

Microsoft PowerPoint - MPIprog-F1.ppt [互換モード] 本 school の目的 1 MPI によるプログラミング概要 ( その 1) 言語編 RIKEN AICS HPC Summer School 2014 中島研吾 ( 東大 情報基盤センター ) 横川三津夫 ( 神戸大学 計算科学教育センター ) 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的 高速 大規模

More information

Microsoft PowerPoint - MPIprog-C1.ppt [互換モード]

Microsoft PowerPoint - MPIprog-C1.ppt [互換モード] MPI によるプログラミング概要 ( その 1) C 言語編 RIKEN AICS HPC Summer School 2015 中島研吾 ( 東大 情報基盤センター ) 横川三津夫 ( 神戸大 計算科学教育センター ) 1 本 school の目的 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的 高速

More information

Microsoft PowerPoint - MPIprog-C1.ppt [互換モード]

Microsoft PowerPoint - MPIprog-C1.ppt [互換モード] MPI によるプログラミング概要 ( その 1) C 言語編 RIKEN AICS HPC Summer School 2014 中島研吾 ( 東大 情報基盤センター ) 横川三津夫 ( 神戸大 計算科学教育センター ) 1 本 school の目的 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的 高速

More information

Microsoft PowerPoint - MPIprog-F [互換モード]

Microsoft PowerPoint - MPIprog-F [互換モード] MPI によるプログラミング概要 課題 S1 S2 出題 Fortran 編 2012 年夏季集中講義中島研吾 並列計算プログラミング (616-2057) 先端計算機演習 (616-4009) 1 本授業の理念 より 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的 高速 大規模 大規模 の方が 新しい科学

More information

課題 S1 解説 Fortran 編 中島研吾 東京大学情報基盤センター

課題 S1 解説 Fortran 編 中島研吾 東京大学情報基盤センター 課題 S1 解説 Fortran 編 中島研吾 東京大学情報基盤センター 内容 課題 S1 /a1.0~a1.3, /a2.0~a2.3 から局所ベクトル情報を読み込み, 全体ベクトルのノルム ( x ) を求めるプログラムを作成する (S1-1) file.f,file2.f をそれぞれ参考にする 下記の数値積分の結果を台形公式によって求めるプログラムを作成する

More information

Microsoft PowerPoint - MPIprog-C1.ppt [互換モード]

Microsoft PowerPoint - MPIprog-C1.ppt [互換モード] 本 school の目的 1 MPI によるプログラミング概要 ( その 1) 言語編 RIKEN AIS HP Summer School 2014 中島研吾 ( 東大 情報基盤センター ) 横川三津夫 ( 神戸大学 計算科学教育センター ) 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的 高速 大規模

More information

Microsoft PowerPoint - MPIprog-C [互換モード]

Microsoft PowerPoint - MPIprog-C [互換モード] MPI によるプログラミング概要 課題 S1 S2 出題 C 言語編 2012 年夏季集中講義中島研吾 並列計算プログラミング (616-2057) 先端計算機演習 (616-4009) 1 本授業の理念 より 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的 高速 大規模 大規模 の方が 新しい科学 という観点からのウェイトとしては高い

More information

Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データタ グループ通信 (Collective Communication) 1 対 1 通信 (Point-to-Point Communication)

Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データタ グループ通信 (Collective Communication) 1 対 1 通信 (Point-to-Point Communication) MPI 超 入門 (FORTRAN 編 ) 東京大学情報基盤センター Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データタ グループ通信 (Collective Communication) 1 対 1 通信 (Point-to-Point Communication) Fundamental MPI 2 MPI とは (1/2)

More information

MPI 超 入門 (FORTRAN 編 ) 東京大学情報基盤センター C 言語編は以下 /ohshima/seminars/t2k201111/ (MPI による並列アプリケーション開発入門 2)

MPI 超 入門 (FORTRAN 編 ) 東京大学情報基盤センター C 言語編は以下   /ohshima/seminars/t2k201111/ (MPI による並列アプリケーション開発入門 2) MPI 超 入門 (FORTRAN 編 ) 東京大学情報基盤センター C 言語編は以下 http://www.cspp.cc.u-tokyo.ac.jp /ohshima/seminars/t2k201111/ (MPI による並列アプリケーション開発入門 2) Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データ グループ通信 (Collective

More information

Microsoft PowerPoint - 演習2:MPI初歩.pptx

Microsoft PowerPoint - 演習2:MPI初歩.pptx 演習 2:MPI 初歩 - 並列に計算する - 2013 年 8 月 6 日 神戸大学大学院システム情報学研究科計算科学専攻横川三津夫 MPI( メッセージ パッシング インターフェース ) を使おう! [ 演習 2 の内容 ] はじめの一歩課題 1: Hello, world を並列に出力する. 課題 2: プロセス 0 からのメッセージを受け取る (1 対 1 通信 ). 部分に分けて計算しよう課題

More information

コードのチューニング

コードのチューニング ハイブリッド並列 八木学 ( 理化学研究所計算科学研究機構 ) 謝辞 松本洋介氏 ( 千葉大学 ) KOBE HPC Spring School 2017 2017 年 3 月 14 日神戸大学計算科学教育センター MPI とは Message Passing Interface 分散メモリのプロセス間の通信規格(API) SPMD(Single Program Multi Data) が基本 -

More information

Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データ グループ通信 (Collective Communication) 1 対 1 通信 (Point-to-Point Communication)

Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データ グループ通信 (Collective Communication) 1 対 1 通信 (Point-to-Point Communication) MPI 超 入門 (C 言語編 ) 東京大学情報基盤センター FORTRAN 編は以下 http://www.cspp.cc.u-tokyo.ac.jp /ohshima/seminars/t2k201111/ (MPI による並列アプリケーション開発入門 2) Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データ グループ通信 (Collective

More information

演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 RIKEN AICS HPC Spring School /3/5

演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 RIKEN AICS HPC Spring School /3/5 演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 演習準備の内容 神戸大 FX10(π-Computer) 利用準備 システム概要 ログイン方法 コンパイルとジョブ実行方法 MPI 復習 1. MPIプログラムの基本構成 2. 並列実行 3. 1 対 1 通信 集団通信 4. データ 処理分割 5. 計算時間計測 2 神戸大 FX10(π-Computer) 利用準備

More information

Microsoft PowerPoint - KHPCSS pptx

Microsoft PowerPoint - KHPCSS pptx KOBE HPC サマースクール 2018( 初級 ) 9. 1 対 1 通信関数, 集団通信関数 2018/8/8 KOBE HPC サマースクール 2018 1 2018/8/8 KOBE HPC サマースクール 2018 2 MPI プログラム (M-2):1 対 1 通信関数 問題 1 から 100 までの整数の和を 2 並列で求めなさい. プログラムの方針 プロセス0: 1から50までの和を求める.

More information

Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データタ グループ通信 (Collective Communication) 1 対 1 通信 (Point-to-Point Communication)

Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データタ グループ通信 (Collective Communication) 1 対 1 通信 (Point-to-Point Communication) MPI 超 入門 (C 言語編 ) 東京大学情報基盤センター FOTRAN 編は以下 http://nkl.cc.u-tokyo.ac.jp/seminars/t2kfvm/mpiprogf.pdf tokyo pdf Fundamental MPI 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データタ グループ通信 (Collective Communication)

More information

演習準備

演習準備 演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 演習準備の内容 神戸大 FX10(π-Computer) 利用準備 システム概要 ログイン方法 コンパイルとジョブ実行方法 MPI 復習 1. MPIプログラムの基本構成 2. 並列実行 3. 1 対 1 通信 集団通信 4. データ 処理分割 5. 計算時間計測 2 神戸大 FX10(π-Computer) 利用準備

More information

課題 S1 解説 C 言語編 中島研吾 東京大学情報基盤センター

課題 S1 解説 C 言語編 中島研吾 東京大学情報基盤センター 課題 S1 解説 C 言語編 中島研吾 東京大学情報基盤センター 内容 課題 S1 /a1.0~a1.3, /a2.0~a2.3 から局所ベクトル情報を読み込み, 全体ベクトルのノルム ( x ) を求めるプログラムを作成する (S1-1) file.f,file2.f をそれぞれ参考にする 下記の数値積分の結果を台形公式によって求めるプログラムを作成する

More information

NUMAの構成

NUMAの構成 メッセージパッシング プログラミング 天野 共有メモリ対メッセージパッシング 共有メモリモデル 共有変数を用いた単純な記述自動並列化コンパイラ簡単なディレクティブによる並列化 :OpenMP メッセージパッシング 形式検証が可能 ( ブロッキング ) 副作用がない ( 共有変数は副作用そのもの ) コストが小さい メッセージパッシングモデル 共有変数は使わない 共有メモリがないマシンでも実装可能 クラスタ

More information

MPI によるプログラミング概要 Fortran 編 中島研吾 東京大学情報基盤センター

MPI によるプログラミング概要 Fortran 編 中島研吾 東京大学情報基盤センター MPI によるプログラミング概要 Fortran 編 中島研吾 東京大学情報基盤センター 1 並列計算の意義 目的 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的 高速 大規模 大規模 の方が 新しい科学 という観点からのウェイトとしては高い しかし, 高速 ももちろん重要である + 複雑 理想 :Scalable

More information

Microsoft PowerPoint _MPI-01.pptx

Microsoft PowerPoint _MPI-01.pptx 計算科学演習 Ⅰ MPI を いた並列計算 (I) 神戸大学大学院システム情報学研究科谷口隆晴 yaguchi@pearl.kobe-u.ac.jp この資料は昨年度担当の横川先生の資料を参考にさせて頂いています. 2016/06/23 MPI を用いた並列計算 (I) 1 講義概要 分散メモリ型計算機上のプログラミング メッセージ パシング インターフェイス (Message Passing Interface,MPI)

More information

untitled

untitled RIKEN AICS Summer School 3 4 MPI 2012 8 8 1 6 MPI MPI 2 allocatable 2 Fox mpi_sendrecv 3 3 FFT mpi_alltoall MPI_PROC_NULL 4 FX10 /home/guest/guest07/school/ 5 1 A (i, j) i+j x i i y = Ax A x y y 1 y i

More information

C/C++ FORTRAN FORTRAN MPI MPI MPI UNIX Windows (SIMD Single Instruction Multipule Data) SMP(Symmetric Multi Processor) MPI (thread) OpenMP[5]

C/C++ FORTRAN FORTRAN MPI MPI MPI UNIX Windows (SIMD Single Instruction Multipule Data) SMP(Symmetric Multi Processor) MPI (thread) OpenMP[5] MPI ( ) snozawa@env.sci.ibaraki.ac.jp 1 ( ) MPI MPI Message Passing Interface[2] MPI MPICH[3],LAM/MPI[4] (MIMDMultiple Instruction Multipule Data) Message Passing ( ) (MPI (rank) PE(Processing Element)

More information

2 T 1 N n T n α = T 1 nt n (1) α = 1 100% OpenMP MPI OpenMP OpenMP MPI (Message Passing Interface) MPI MPICH OpenMPI 1 OpenMP MPI MPI (trivial p

2 T 1 N n T n α = T 1 nt n (1) α = 1 100% OpenMP MPI OpenMP OpenMP MPI (Message Passing Interface) MPI MPICH OpenMPI 1 OpenMP MPI MPI (trivial p 22 6 22 MPI MPI 1 1 2 2 3 MPI 3 4 7 4.1.................................. 7 4.2 ( )................................ 10 4.3 (Allreduce )................................. 12 5 14 5.1........................................

More information

MPI usage

MPI usage MPI (Version 0.99 2006 11 8 ) 1 1 MPI ( Message Passing Interface ) 1 1.1 MPI................................. 1 1.2............................... 2 1.2.1 MPI GATHER.......................... 2 1.2.2

More information

スライド 1

スライド 1 目次 2.MPI プログラミング入門 この資料は, スーパーコン 10 で使用したものである. ごく基本的な内容なので, 現在でも十分利用できると思われるものなので, ここに紹介させて頂く. ただし, 古い情報も含まれているので注意が必要である. 今年度版の解説は, 本選の初日に配布する予定である. 1/20 2.MPI プログラミング入門 (1) 基本 説明 MPI (message passing

More information

MPI によるプログラミング概要 C 言語編 中島研吾 東京大学情報基盤センター

MPI によるプログラミング概要 C 言語編 中島研吾 東京大学情報基盤センター MPI によるプログラミング概要 C 言語編 中島研吾 東京大学情報基盤センター 1 並列計算の意義 目的 並列計算機の使用によって, より大規模で詳細なシミュレーションを高速に実施することが可能になり, 新しい科学の開拓が期待される 並列計算の目的 高速 大規模 大規模 の方が 新しい科学 という観点からのウェイトとしては高い しかし, 高速 ももちろん重要である + 複雑 理想 :Scalable

More information

Microsoft PowerPoint - 講義1:離散化と並列化.pptx

Microsoft PowerPoint - 講義1:離散化と並列化.pptx 講 義 1: 離 散 化 と 並 列 化 214 年 3 月 5 日 神 戸 大 学 大 学 院 システム 情 報 学 研 究 科 計 算 科 学 専 攻 横 川 三 津 夫 214/3/5 RIKEN AICS HPC Spring School 214: 離 散 化 とその 周 辺 1 講 義 の 内 容 計 算 機 シミュレーション 非 定 常 問 題 の 時 間 微 分 項 の 離 散 化

More information

±é½¬£²¡§£Í£Ð£É½éÊâ

±é½¬£²¡§£Í£Ð£É½éÊâ 2012 8 7 1 / 52 MPI Hello World I ( ) Hello World II ( ) I ( ) II ( ) ( sendrecv) π ( ) MPI fortran C wget http://www.na.scitec.kobe-u.ac.jp/ yaguchi/riken2012/enshu2.zip unzip enshu2.zip 2 / 52 FORTRAN

More information

コードのチューニング

コードのチューニング MPI による並列化実装 ~ ハイブリッド並列 ~ 八木学 ( 理化学研究所計算科学研究センター ) KOBE HPC Spring School 2019 2019 年 3 月 14 日 MPI とは Message Passing Interface 分散メモリのプロセス間の通信規格(API) SPMD(Single Program Multi Data) が基本 - 各プロセスが 同じことをやる

More information

para02-2.dvi

para02-2.dvi 2002 2 2002 4 23 : MPI MPI 1 MPI MPI(Message Passing Interface) MPI UNIX Windows Machintosh OS, MPI 2 1 1 2 2.1 1 1 1 1 1 1 Fig. 1 A B C F Fig. 2 A B F Fig. 1 1 1 Fig. 2 2.2 Fig. 3 1 . Fig. 4 Fig. 3 Fig.

More information

演習 II 2 つの講義の演習 奇数回 : 連続系アルゴリズム 部分 偶数回 : 計算量理論 部分 連続系アルゴリズム部分は全 8 回を予定 前半 2 回 高性能計算 後半 6 回 数値計算 4 回以上の課題提出 ( プログラム + 考察レポート ) で単位

演習 II 2 つの講義の演習 奇数回 : 連続系アルゴリズム 部分 偶数回 : 計算量理論 部分 連続系アルゴリズム部分は全 8 回を予定 前半 2 回 高性能計算 後半 6 回 数値計算 4 回以上の課題提出 ( プログラム + 考察レポート ) で単位 演習 II ( 連続系アルゴリズム ) 第 1 回 : MPI 須田研究室 M2 本谷徹 motoya@is.s.u-tokyo.ac.jp 2012/10/05 2012/10/18 補足 訂正 演習 II 2 つの講義の演習 奇数回 : 連続系アルゴリズム 部分 偶数回 : 計算量理論 部分 連続系アルゴリズム部分は全 8 回を予定 前半 2 回 高性能計算 後半 6 回 数値計算 4 回以上の課題提出

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 計算科学演習 I 第 8 回講義 MPI を用いた並列計算 (I) 2013 年 6 月 6 日 システム情報学研究科計算科学専攻 山本有作 今回の講義の概要 1. MPI とは 2. 簡単な MPI プログラムの例 (1) 3. 簡単な MPI プログラムの例 (2):1 対 1 通信 4. 簡単な MPI プログラムの例 (3): 集団通信 共有メモリ型並列計算機 ( 復習 ) 共有メモリ型並列計算機

More information

Microsoft PowerPoint MPI.v...O...~...O.e.L.X.g(...Q..)

Microsoft PowerPoint MPI.v...O...~...O.e.L.X.g(...Q..) MPI プログラミング Information Initiative Center, Hokkaido Univ. MPI ライブラリを利用した分散メモリ型並列プログラミング 分散メモリ型並列処理 : 基礎 分散メモリマルチコンピュータの構成 プロセッサエレメントが専用のメモリ ( ローカルメモリ ) を搭載 スケーラビリティが高い 例 :HITACHI SR8000 Interconnection

More information

Microsoft PowerPoint - 講義:コミュニケータ.pptx

Microsoft PowerPoint - 講義:コミュニケータ.pptx コミュニケータとデータタイプ (Communicator and Datatype) 2019 年 3 月 15 日 神戸大学大学院システム情報学研究科横川三津夫 2019/3/15 Kobe HPC Spring School 2019 1 講義の内容 コミュニケータ (Communicator) データタイプ (Datatype) 演習問題 2019/3/15 Kobe HPC Spring School

More information

様式(補助金)

様式(補助金) 別 添 1 提 案 書 の 様 式 1. 提 案 書 は 次 頁 以 下 の 記 載 例 に 従 って 記 入 して 下 さい 2. 用 紙 は A4 版 を 利 用 し 左 とじにして 下 さい 3. 提 案 書 は 9 部 ( 正 1 部 副 ( 正 のコピー)8 部 )を 提 出 して 下 さい 4. 提 案 書 は それぞれA4フラットファイルに 綴 じた 上 で 提 出 してください 5.

More information

Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果 課 題 を 検 証 し その 改 善 を 図 るもに 学 校 におけ

Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果 課 題 を 検 証 し その 改 善 を 図 るもに 学 校 におけ Ⅰ 調 査 の 概 要 Ⅱ 札 幌 の 子 どもの 学 力 学 習 意 欲 等 について Ⅲ 学 力 調 査 の 結 果 概 要 及 び 改 善 の 方 向 等 について Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果

More information

Microsoft PowerPoint - 報告書(概要).ppt

Microsoft PowerPoint - 報告書(概要).ppt 市 町 村 における 地 方 公 務 員 制 度 改 革 に 係 る 論 点 と 意 見 について ( 概 要 ) 神 奈 川 県 市 町 村 における 地 方 公 務 員 制 度 改 革 に 係 る 検 討 会 議 について 1 テーマ 地 方 公 務 員 制 度 改 革 ( 総 務 省 地 方 公 務 員 の 労 使 関 係 制 度 に 係 る 基 本 的 な 考 え 方 )の 課 題 の 整

More information

する ( 評 定 の 時 期 ) 第 条 成 績 評 定 の 時 期 は 第 3 次 評 定 者 にあっては 完 成 検 査 及 び 部 分 引 渡 しに 伴 う 検 査 の 時 とし 第 次 評 定 者 及 び 第 次 評 定 者 にあっては 工 事 の 完 成 の 時 とする ( 成 績 評 定

する ( 評 定 の 時 期 ) 第 条 成 績 評 定 の 時 期 は 第 3 次 評 定 者 にあっては 完 成 検 査 及 び 部 分 引 渡 しに 伴 う 検 査 の 時 とし 第 次 評 定 者 及 び 第 次 評 定 者 にあっては 工 事 の 完 成 の 時 とする ( 成 績 評 定 射 水 市 建 設 工 事 施 行 に 関 する 工 事 成 績 評 定 要 領 平 成 8 年 3 月 7 告 示 第 44 号 ( 目 的 ) 第 条 この 要 領 は 射 水 市 が 所 掌 する 工 事 の 成 績 評 定 ( 以 下 評 定 という )に 必 要 な 事 項 を 定 め 公 正 かつ 的 確 な 評 定 を 行 うことにより もって 請 負 業 者 の 選 定 及 び 指

More information

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 改 訂 の 要 因 旧 新 (2013 年 4 月 版 ) 文 言 削 除 p.11(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 p.5(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 1. 用 紙 系 ( 線 種 ピッチ 等 用 紙 上 の 大 きさで

More information

った 場 合 など 監 事 の 任 務 懈 怠 の 場 合 は その 程 度 に 応 じて 業 績 勘 案 率 を 減 算 する (8) 役 員 の 法 人 に 対 する 特 段 の 貢 献 が 認 められる 場 合 は その 程 度 に 応 じて 業 績 勘 案 率 を 加 算 することができる

った 場 合 など 監 事 の 任 務 懈 怠 の 場 合 は その 程 度 に 応 じて 業 績 勘 案 率 を 減 算 する (8) 役 員 の 法 人 に 対 する 特 段 の 貢 献 が 認 められる 場 合 は その 程 度 に 応 じて 業 績 勘 案 率 を 加 算 することができる 独 立 行 政 法 人 の 役 員 の 退 職 金 に 係 る 業 績 勘 案 率 の 算 定 ルールについて 平 成 27 年 5 月 25 日 総 務 大 臣 決 定 独 立 行 政 法 人 特 殊 法 人 及 び 認 可 法 人 の 役 員 の 退 職 金 について ( 平 成 27 年 3 月 24 日 閣 議 決 定 以 下 閣 議 決 定 という )に 基 づき 独 立 行 政 法 人

More information

一般競争入札について

一般競争入札について ( 一 般 競 争 入 札 ) 総 合 評 価 落 札 方 式 ガイドライン 平 成 21 年 4 月 ( 独 ) 工 業 所 有 権 情 報 研 修 館 1.はじめに 現 在 公 共 調 達 の 透 明 性 公 正 性 をより 一 層 めることが 喫 緊 の 課 題 とな っており 独 立 行 政 法 人 も 含 めた 政 府 全 体 で 随 意 契 約 の 見 直 しに 取 り 組 んで おります

More information

Microsoft PowerPoint - 講義:片方向通信.pptx

Microsoft PowerPoint - 講義:片方向通信.pptx MPI( 片方向通信 ) 09 年 3 月 5 日 神戸大学大学院システム情報学研究科計算科学専攻横川三津夫 09/3/5 KOBE HPC Spring School 09 分散メモリ型並列計算機 複数のプロセッサがネットワークで接続されており, れぞれのプロセッサ (PE) が, メモリを持っている. 各 PE が自分のメモリ領域のみアクセス可能 特徴数千から数万 PE 規模の並列システムが可能

More information

(4) 給 与 制 度 の 総 合 的 見 直 しの 実 施 状 況 について 概 要 国 の 給 与 制 度 の 総 合 的 見 直 しにおいては 俸 給 表 の 水 準 の 平 均 2の 引 下 げ 及 び 地 域 手 当 の 支 給 割 合 の 見 直 し 等 に 取 り 組 むとされている.

(4) 給 与 制 度 の 総 合 的 見 直 しの 実 施 状 況 について 概 要 国 の 給 与 制 度 の 総 合 的 見 直 しにおいては 俸 給 表 の 水 準 の 平 均 2の 引 下 げ 及 び 地 域 手 当 の 支 給 割 合 の 見 直 し 等 に 取 り 組 むとされている. 別 紙 高 山 村 の 給 与 定 員 管 理 等 について 総 括 () 件 費 の 状 況 ( 普 通 会 計 決 算 ) 住 民 基 本 台 帳 口 歳 出 額 実 質 収 支 件 費 件 費 率 ( 参 考 ) (26 年 月 日 ) A B B/A 24 年 度 の 件 費 率 年 度 千 千 千 2,9 2,64,628 6,8 467,928 8. 2.4 (2) 職 員 給 与 費

More information

<4D6963726F736F667420576F7264202D2087472D3188C091538AC7979D8B4B92F6814594F292B98CF092CA81698A94816A2E646F63>

<4D6963726F736F667420576F7264202D2087472D3188C091538AC7979D8B4B92F6814594F292B98CF092CA81698A94816A2E646F63> 飛 鳥 交 通 株 式 会 社 安 全 管 理 規 程 平 成 23 年 11 月 10 日 改 定 目 次 第 一 章 総 則 第 二 章 輸 送 の 安 全 を 確 保 するための 事 業 の 運 営 の 方 針 等 第 三 章 輸 送 の 安 全 を 確 保 するための 事 業 の 実 施 及 びその 管 理 の 体 制 第 四 章 輸 送 の 安 全 を 確 保 するための 事 業 の 実

More information

86

86 86 86 86 main() {... } main() { main() { main() {......... } } } 86 main() { main() { main() {......... } } } main() { if(rank==)... } main() { if(rank==)... } main() { if(rank==x)... } 86 P(N) P(N) /

More information

main() {... } main() { main() { main() {......... } } } main() { main() { main() {......... } } } main() { if(rank==)... } main() { if(rank==)... } main() { if(rank==x)... } P(N) P(N) / P(M) * ( M / N

More information

Microsoft Word - 佐野市生活排水処理構想(案).doc

Microsoft Word - 佐野市生活排水処理構想(案).doc 佐 野 市 生 活 排 水 処 理 構 想 ( 案 ) 平 成 27 年 12 月 佐 野 市 目 次 1. 生 活 排 水 処 理 構 想 について 1.1 生 活 排 水 処 理 構 想 とは P.1 1.2 生 活 排 水 処 理 施 設 の 種 類 P.1 2. 佐 野 市 の 現 状 と 課 題 2.1 整 備 状 況 P.2 2.2 主 な 汚 水 処 理 施 設 P.2 2.3 生 活

More information

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図 平 成 2 8 年 3 月 25 日 NACSIS-CAT 検 討 作 業 部 会 NACSIS-CAT/ILL の 軽 量 化 合 理 化 について( 基 本 方 針 )( 案 ) これからの 学 術 情 報 システム 構 築 検 討 委 員 会 ( 以 下, これから 委 員 会 ) は これか らの 学 術 情 報 システムの 在 り 方 について ( 平 成 27 年 5 月 29 日 )

More information

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都 平 成 22 年 4 月 1 日 現 在 の 法 令 等 に 準 拠 Up Newsletter 養 老 保 険 の 減 額 逓 増 定 期 保 険 の 取 扱 い 変 更 介 護 費 用 保 険 の 導 入 企 業 の 保 険 のポイント http://www.up-firm.com 1 養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者

More information

<4D6963726F736F667420576F7264202D208E52979C8CA78E598BC68F5790CF91A390698F9590AC8BE08CF0957497768D6A2E646F6378>

<4D6963726F736F667420576F7264202D208E52979C8CA78E598BC68F5790CF91A390698F9590AC8BE08CF0957497768D6A2E646F6378> 山 梨 県 産 業 集 積 促 進 助 成 金 交 付 要 綱 ( 通 則 ) 第 1 条 山 梨 県 産 業 集 積 促 進 助 成 金 ( 以 下 助 成 金 という )の 交 付 については 山 梨 県 補 助 金 等 交 付 規 則 ( 昭 和 36 年 山 梨 県 規 則 第 25 号 以 下 規 則 という )に 定 め るところによるほか この 要 綱 に 定 めるところによる ( 目

More information

OKIKAE-KAIRYOU-V3.xdw

OKIKAE-KAIRYOU-V3.xdw 置 換 えによる 地 盤 改 良 の 計 算 道 路 土 工 盛 土 工 指 針 擁 壁 工 指 針 平 成 24 年 度 版 対 応 概 要 書 地 下 水 位 置 換 え 改 良 ( 有 )シビルテック 2013.05.18 置 換 えによる 地 盤 改 良 計 算 について 1. 本 計 算 ソフトの 計 算 手 法 本 計 算 ソフトは 擁 壁 などの 構 造 物 基 礎 底 面 の 地 盤

More information

Microsoft Word - 不正アクセス行為の禁止等に関する法律等に基づく公安

Microsoft Word - 不正アクセス行為の禁止等に関する法律等に基づく公安 不 正 アクセス 行 為 の 禁 止 等 に 関 する 法 律 等 に 基 づく 公 安 委 員 会 による 援 助 等 の 措 置 に 関 する 訓 令 平 成 12 年 7 月 1 日 警 察 本 部 訓 令 第 25 号 改 正 平 成 14 年 11 月 22 日 本 部 訓 令 第 29 号 平 成 16 年 3 月 25 日 本 部 訓 令 第 6 号 平 成 24 年 5 月 1 日

More information

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 目 次 動 作 環 境 特 長 方 法 方 法 起 動 終 了 方 法 方 法 操 作 方 法 使 方 使 方 使 方 詳 細 設 定 使 方 KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 KINGSOFT Office 2016 特 長 主 特 長 以

More information

m07 北見工業大学 様式①

m07 北見工業大学 様式① 国 立 大 学 法 人 北 見 工 業 大 学 ( 法 人 番 号 6460305000387)の 役 職 員 の 報 酬 給 与 等 について Ⅰ 役 員 報 酬 等 について 1 役 員 報 酬 についての 基 本 方 針 に 関 する 事 項 1 役 員 報 酬 の 支 給 水 準 の 設 定 についての 考 え 方 当 該 法 人 の 主 要 事 業 は 教 育 研 究 事 業 である 役

More information

Microsoft PowerPoint - MPIprog-F2.ppt [互換モード]

Microsoft PowerPoint - MPIprog-F2.ppt [互換モード] MPI によるプログラミング概要 ( その ) Fortran 言語編 RIKEN AICS HPC Summer School 01 中島研吾 ( 東大 情報基盤センター ) 横川三津夫 ( 神戸大学 計算科学教育センター ) 1 概要 MPI とは MPI の基礎 :Hello World 全体データと局所データ グループ通信 (Collective Communication) 1 対 1 通信

More information

1 林 地 台 帳 整 備 マニュアル( 案 )について 林 地 台 帳 整 備 マニュアル( 案 )の 構 成 構 成 記 載 内 容 第 1 章 はじめに 本 マニュアルの 目 的 記 載 内 容 について 説 明 しています 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 林 地

1 林 地 台 帳 整 備 マニュアル( 案 )について 林 地 台 帳 整 備 マニュアル( 案 )の 構 成 構 成 記 載 内 容 第 1 章 はじめに 本 マニュアルの 目 的 記 載 内 容 について 説 明 しています 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 林 地 ( 資 料 3) 林 地 台 帳 及 び 地 図 整 備 マニュアル( 案 ) 概 要 本 資 料 は 現 時 点 での 検 討 状 況 を 基 に 作 成 したものであり 今 後 事 務 レベルの 検 討 会 等 を 経 て 成 案 を 得 ることとしてい ます 平 成 28 年 7 月 林 野 庁 計 画 課 1 林 地 台 帳 整 備 マニュアル( 案 )について 林 地 台 帳 整 備 マニュアル(

More information

<4D6963726F736F667420576F7264202D2095CA8E863136816A90DA91B18C9F93A289F1939A8F9181698D8288B3816A5F4150382E646F63>

<4D6963726F736F667420576F7264202D2095CA8E863136816A90DA91B18C9F93A289F1939A8F9181698D8288B3816A5F4150382E646F63> 接 続 検 討 回 答 書 ( 高 圧 版 ) 別 添 様 式 AP8-20160401 回 答 日 年 月 日 1. 申 込 者 等 の 概 要 申 込 者 検 討 者 2. 接 続 検 討 の 申 込 内 容 発 電 者 の 名 称 発 電 場 所 ( 住 所 ) 最 大 受 電 電 力 アクセス の 運 用 開 始 希 望 日 3. 接 続 検 討 結 果 (1) 希 望 受 電 電 力 に

More information

学校教育法等の一部を改正する法律の施行に伴う文部科学省関係省令の整備に関する省令等について(通知)

学校教育法等の一部を改正する法律の施行に伴う文部科学省関係省令の整備に関する省令等について(通知) 27 文 科 初 第 1593 号 平 成 28 年 3 月 22 日 各 都 道 府 県 知 事 各 都 道 府 県 教 育 委 員 会 各 指 定 都 市 教 育 委 員 会 殿 附 属 学 校 を 置 く 各 国 立 大 学 法 人 学 長 構 造 改 革 特 別 区 域 法 第 12 条 第 1 項 の 認 定 を 受 けた 地 方 公 共 団 体 の 長 文 部 科 学 省 初 等 中 等

More information

Microsoft Word - A04◆/P006-008.doc

Microsoft Word - A04◆/P006-008.doc Ⅰ 簡 易 生 命 表 の 概 要 生 命 表 とは 生 命 表 とは 一 定 期 間 ( 作 成 基 礎 期 間 )におけるある 集 団 の 死 亡 状 況 を 年 齢 の 関 数 ( 生 命 関 数 )として 表 したものである 生 命 関 数 の 中 で 最 も 広 く 使 われている 平 均 余 命 は ある 年 齢 の 者 が 当 該 期 間 での 死 亡 状 況 で 死 亡 していった

More information

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ 簡 易 公 募 型 競 争 入 札 方 式 ( 総 合 評 価 落 札 方 式 )に 係 る 手 続 開 始 の 公 示 次 のとおり 指 名 競 争 入 札 参 加 者 の 選 定 の 手 続 を 開 始 します 平 成 28 年 9 月 20 日 分 任 支 出 負 担 行 為 担 当 官 東 北 地 方 整 備 局 秋 田 河 川 国 道 事 務 所 長 渡 邊 政 義 1. 業 務 概 要

More information

4 教 科 に 関 する 調 査 結 果 の 概 況 校 種 学 年 小 学 校 2 年 生 3 年 生 4 年 生 5 年 生 6 年 生 教 科 平 均 到 達 度 目 標 値 差 達 成 率 国 語 77.8% 68.9% 8.9% 79.3% 算 数 92.0% 76.7% 15.3% 94

4 教 科 に 関 する 調 査 結 果 の 概 況 校 種 学 年 小 学 校 2 年 生 3 年 生 4 年 生 5 年 生 6 年 生 教 科 平 均 到 達 度 目 標 値 差 達 成 率 国 語 77.8% 68.9% 8.9% 79.3% 算 数 92.0% 76.7% 15.3% 94 4 教 科 に 関 する 調 査 結 果 の 概 況 校 種 学 年 小 学 校 2 年 生 3 年 生 4 年 生 5 年 生 6 年 生 教 科 平 均 到 達 度 目 標 値 差 達 成 率 国 語 77.8% 68.9% 8.9% 79.3% 算 数 92.0% 76.7% 15.3% 94.3% 国 語 84.7% 73.9% 10.8% 79.0% 算 数 87.7% 74.3% 13.4%

More information

スライド 1

スライド 1 OECD 生 徒 の 学 習 到 達 度 調 査 (PISA09) デジタル 読 解 力 調 査 のポイント 調 査 概 要 PISA 調 査 では 将 来 的 に 筆 記 型 調 査 からコンピュータ 使 用 型 調 査 に 移 行 する 予 定 このためPISA09の 国 際 オプションとして デジタル 読 解 力 調 査 (コンピュータ 使 用 型 調 査 )とコンピュータ 利 用 等 に 関

More information

PowerPoint Presentation

PowerPoint Presentation データを 圧 縮 する 大 量 のデータを 小 さく 収 納 するには? 国 立 情 報 学 研 究 所 定 兼 邦 彦 0 年 月 日 データとは データ 圧 縮 とは 数 値 の 集 まり,.5, 00, 3.4, 意 味 のあるデータが 情 報 文 字, 画 像, 音 声, 動 画 など コンピュータ 中 では, 全 てのデータは0,の 列 で 表 される 圧 縮 とは ビット データを 表

More information

第1回

第1回 やすだ 社 会 学 研 究 法 a( 2015 年 度 春 学 期 担 当 : 保 田 ) 基 礎 分 析 ( 1): 一 変 量 / 二 変 量 の 分 析 SPSSの 基 礎 テ キ ス ト pp.1-29 pp.255-257 デ ー タ の 入 力 [ デ ー タ ビ ュ ー ] で Excelの よ う に 直 接 入 力 で き る [ 変 数 ビ ュ ー ] で 変 数 の 情 報 を

More information

<31352095DB8CAF97BF97A6955C2E786C73>

<31352095DB8CAF97BF97A6955C2E786C73> 標 準 報 酬 月 額 等 級 表 ( 厚 生 年 金 ) 標 準 報 酬 報 酬 月 額 厚 生 年 金 保 険 料 厚 生 年 金 保 険 料 率 14.642% ( 平 成 18 年 9 月 ~ 平 成 19 年 8 月 ) 等 級 月 額 全 額 ( 円 ) 折 半 額 ( 円 ) 円 以 上 円 未 満 1 98,000 ~ 101,000 14,349.16 7,174.58 2 104,000

More information

その 他 事 業 推 進 体 制 平 成 20 年 3 月 26 日 に 石 垣 島 国 営 土 地 改 良 事 業 推 進 協 議 会 を 設 立 し 事 業 を 推 進 ( 構 成 : 石 垣 市 石 垣 市 議 会 石 垣 島 土 地 改 良 区 石 垣 市 農 業 委 員 会 沖 縄 県 農

その 他 事 業 推 進 体 制 平 成 20 年 3 月 26 日 に 石 垣 島 国 営 土 地 改 良 事 業 推 進 協 議 会 を 設 立 し 事 業 を 推 進 ( 構 成 : 石 垣 市 石 垣 市 議 会 石 垣 島 土 地 改 良 区 石 垣 市 農 業 委 員 会 沖 縄 県 農 国 営 かんがい 排 水 事 業 石 垣 島 地 区 事 業 の 概 要 本 事 業 は 沖 縄 本 島 から 南 西 約 400kmにある 石 垣 島 に 位 置 する 石 垣 市 の4,338haの 農 業 地 帯 において 農 業 用 水 の 安 定 供 給 を 図 るため 農 業 水 利 施 設 の 改 修 整 備 を 行 うものである 事 業 の 目 的 必 要 性 本 地 区 は さとうきびを

More information

1 総 合 設 計 一 定 規 模 以 上 の 敷 地 面 積 及 び 一 定 割 合 以 上 の 空 地 を 有 する 建 築 計 画 について 特 定 行 政 庁 の 許 可 により 容 積 率 斜 線 制 限 などの 制 限 を 緩 和 する 制 度 である 建 築 敷 地 の 共 同 化 や

1 総 合 設 計 一 定 規 模 以 上 の 敷 地 面 積 及 び 一 定 割 合 以 上 の 空 地 を 有 する 建 築 計 画 について 特 定 行 政 庁 の 許 可 により 容 積 率 斜 線 制 限 などの 制 限 を 緩 和 する 制 度 である 建 築 敷 地 の 共 同 化 や 参 考 資 料 1-17 民 間 都 市 整 備 事 業 建 築 計 画 に 関 わる 関 連 制 度 の 整 理 都 市 開 発 諸 制 度 には 公 開 空 地 の 確 保 など 公 共 的 な 貢 献 を 行 う 建 築 計 画 に 対 して 容 積 率 や 斜 線 制 限 などの 建 築 基 準 法 に 定 める 形 態 規 制 を 緩 和 することにより 市 街 地 環 境 の 向 上 に

More information

鳥 取 国 民 年 金 事 案 177 第 1 委 員 会 の 結 論 申 立 人 の 昭 和 37 年 6 月 から 38 年 3 月 までの 国 民 年 金 保 険 料 については 納 付 していたものと 認 められることから 納 付 記 録 を 訂 正 することが 必 要 である 第 2 申

鳥 取 国 民 年 金 事 案 177 第 1 委 員 会 の 結 論 申 立 人 の 昭 和 37 年 6 月 から 38 年 3 月 までの 国 民 年 金 保 険 料 については 納 付 していたものと 認 められることから 納 付 記 録 を 訂 正 することが 必 要 である 第 2 申 ( 平 成 21 年 6 月 17 日 報 道 資 料 抜 粋 ) 年 金 記 録 に 係 る 苦 情 のあっせん 等 について 年 金 記 録 確 認 鳥 取 地 方 第 三 者 委 員 会 分 1. 今 回 のあっせん 等 の 概 要 (1) 年 金 記 録 の 訂 正 の 必 要 があるとのあっせんを 実 施 するもの 1 件 国 民 年 金 関 係 1 件 (2) 年 金 記 録 の 訂 正

More information

Microsoft PowerPoint - 演習1:並列化と評価.pptx

Microsoft PowerPoint - 演習1:並列化と評価.pptx 講義 2& 演習 1 プログラム並列化と性能評価 神戸大学大学院システム情報学研究科横川三津夫 yokokawa@port.kobe-u.ac.jp 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 1 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 2 2 次元温度分布の計算

More information

第4回税制調査会 総4-1

第4回税制調査会 総4-1 平 成 25 年 12 月 国 際 課 税 原 則 の 総 合 主 義 から 帰 属 主 義 への 見 直 し 税 制 調 査 会 国 際 課 税 ディスカッショングループ 国 際 課 税 原 則 の 総 合 主 義 から 帰 属 主 義 への 見 直 し 1. 見 直 しの 背 景 意 義 外 国 法 人 及 び 非 居 住 者 ( 以 下 外 国 法 人 等 という )に 対 する 課 税 原

More information

2 出 願 資 格 審 査 前 記 1の 出 願 資 格 (5) 又 は(6) により 出 願 を 希 望 する 者 には, 出 願 に 先 立 ち 出 願 資 格 審 査 を 行 いますので, 次 の 書 類 を 以 下 の 期 間 に 岡 山 大 学 大 学 院 自 然 科 学 研 究 科 等

2 出 願 資 格 審 査 前 記 1の 出 願 資 格 (5) 又 は(6) により 出 願 を 希 望 する 者 には, 出 願 に 先 立 ち 出 願 資 格 審 査 を 行 いますので, 次 の 書 類 を 以 下 の 期 間 に 岡 山 大 学 大 学 院 自 然 科 学 研 究 科 等 Ⅱ 入 学 者 選 抜 試 験 学 生 募 集 要 項 ( 自 然 科 学 研 究 科 環 境 学 研 究 科 共 通 ) ( 入 学 時 期 : 平 成 18 年 10 月 又 は 平 成 19 年 4 月 ) 1 出 願 資 格 次 の 各 号 のいずれかに 該 当 する 者 です (1) 修 士 の 学 位 若 しくは 専 門 職 学 位 を 有 する 者 又 は 平 成 19 年 3 月 (

More information

(4) ラスパイレス 指 数 の 状 況 ( 各 年 4 月 1 日 現 在 ) ( 例 ) 15 15 1 1 95 95 9 9 ( 例 ) 15 (H2) (H2) (H24) (H24) (H25.4.1) (H25.4.1) (H24) 94.4 95. 1. (H24) 12.1 1.2

(4) ラスパイレス 指 数 の 状 況 ( 各 年 4 月 1 日 現 在 ) ( 例 ) 15 15 1 1 95 95 9 9 ( 例 ) 15 (H2) (H2) (H24) (H24) (H25.4.1) (H25.4.1) (H24) 94.4 95. 1. (H24) 12.1 1.2 平 成 25 年 度 の 給 与 定 員 管 理 等 について 1 総 括 (1) 件 費 の 状 況 ( 普 通 会 決 算 ) 区 分 住 民 基 本 台 帳 口 歳 出 額 実 質 収 支 件 費 件 費 率 ( 参 考 ) ( 平 成 24 年 度 末 ) A B B/A 平 成 2 年 度 の 件 費 率 平 成 24 年 度 千 千 千 5,594,744,222 164,19 62,94

More information

untitled

untitled I 9 MPI (II) 2012 6 14 .. MPI. 1-3 sum100.f90 4 istart=myrank*25+1 iend=(myrank+1)*25 0 1 2 3 mpi_recv 3 isum1 1 isum /tmp/120614/sum100_4.f90 program sum100_4 use mpi implicit none integer :: i,istart,iend,isum,isum1,ip

More information

Microsoft PowerPoint - 経営事項審査.ppt

Microsoft PowerPoint - 経営事項審査.ppt 経 営 事 項 審 査 建 設 業 を 取 り 巻 く 環 境 工 事 不 足 は 深 刻 化 しており 建 設 業 者 の 統 廃 合 も 活 発 化 している 中 選 ばれる 企 業 となる 事 が 生 き 残 りをかけた 最 重 要 課 題 といえる 選 ばれる 企 業 の 指 標 となるものが 経 営 事 項 審 査 であり この 評 点 はインターネット 等 にて 公 開 されている 事

More information

<4D F736F F F696E74202D C097F B A E B93C782DD8EE682E890EA97705D>

<4D F736F F F696E74202D C097F B A E B93C782DD8EE682E890EA97705D> 並列アルゴリズム 2005 年後期火曜 2 限青柳睦 Aoyagi@cc.kyushu-u.ac.jp http//server-500.cc.kyushu-u.ac.jp/ 11 月 29( 火 ) 7. 集団通信 (Collective Communication) 8. 領域分割 (Domain Decomposition) 1 もくじ 1. 序並列計算機の現状 2. 計算方式およびアーキテクチュアの分類

More information

安 芸 太 田 町 学 校 適 正 配 置 基 本 方 針 の 一 部 修 正 について 1 議 会 学 校 適 正 配 置 調 査 特 別 委 員 会 調 査 報 告 書 について 安 芸 太 田 町 教 育 委 員 会 が 平 成 25 年 10 月 30 日 に 決 定 した 安 芸 太 田

安 芸 太 田 町 学 校 適 正 配 置 基 本 方 針 の 一 部 修 正 について 1 議 会 学 校 適 正 配 置 調 査 特 別 委 員 会 調 査 報 告 書 について 安 芸 太 田 町 教 育 委 員 会 が 平 成 25 年 10 月 30 日 に 決 定 した 安 芸 太 田 安 芸 太 田 町 学 校 適 正 配 置 基 本 方 針 の 一 部 修 正 について 安 芸 太 田 町 教 育 委 員 会 安 芸 太 田 町 平 成 26 年 10 月 12 日 安 芸 太 田 町 学 校 適 正 配 置 基 本 方 針 の 一 部 修 正 について 1 議 会 学 校 適 正 配 置 調 査 特 別 委 員 会 調 査 報 告 書 について 安 芸 太 田 町 教 育 委

More information

Microsoft Word - 構造振動特論-08回-2012.doc

Microsoft Word - 構造振動特論-08回-2012.doc 最 終 印 刷 日 時 :/6/ 8:6: 8 第 8 回 数 値 積 分 法 8. 数 値 積 分 法 の 概 要 図 8- に 示 す 質 点 自 由 度 系 モデルにおいて, 地 面 から 加 速 度 y&& が 作 用 しているときの 運 動 方 程 式 は 式 (8.)で 表 される. y && + cy& + ky = y && (8.) 以 下 では,この 運 動 方 程 式 を 数

More information

<4D F736F F F696E74202D D F95C097F D834F E F93FC96E5284D F96E291E85F8DE391E52E >

<4D F736F F F696E74202D D F95C097F D834F E F93FC96E5284D F96E291E85F8DE391E52E > SX-ACE 並列プログラミング入門 (MPI) ( 演習補足資料 ) 大阪大学サイバーメディアセンター日本電気株式会社 演習問題の構成 ディレクトリ構成 MPI/ -- practice_1 演習問題 1 -- practice_2 演習問題 2 -- practice_3 演習問題 3 -- practice_4 演習問題 4 -- practice_5 演習問題 5 -- practice_6

More information

Microsoft Word - 建築基準法第42条第2項道路後退整備のあらまし

Microsoft Word - 建築基準法第42条第2項道路後退整備のあらまし 建 築 基 準 法 第 42 条 第 2 項 後 退 整 備 のあらまし 安 全 で 快 適 な 住 みよいまちづくりのために 高 石 市 はじめに 私 たちの 身 近 にある は 通 行 だけではなく 日 常 生 活 における 日 照 や 通 風 採 光 を 確 保 することや 下 水 水 ガス 等 の 埋 設 及 び 災 害 時 の 避 難 消 防 活 動 等 の 重 要 な 役 割 を 果 たしています

More information

Microsoft Word - tb01.doc

Microsoft Word - tb01.doc 第 1 章 プログラムを 動 かそう 概 要 ここでは 情 報 処 理 センターの 計 算 機 環 境 を 使 用 してプログラミングを 勉 強 するために 覚 えておかなければならな い 種 々のソフトウェアの 使 用 方 法 について 学 びます また C 言 語 を 用 いて 書 いたプログラムのソースコードをコンパイルし 実 行 する 方 法 について 学 びます この 章 の 目 標 テキストエディタを

More information

(5) 給 与 改 定 の 状 況 事 委 員 会 の 設 置 なし 1 月 例 給 事 委 員 会 の 勧 告 民 間 給 与 公 務 員 給 与 較 差 勧 告 A B A-B ( 改 定 率 ) 給 与 改 定 率 ( 参 考 ) 国 の 改 定 率 24 年 度 円 円 円 円 ( ) 改

(5) 給 与 改 定 の 状 況 事 委 員 会 の 設 置 なし 1 月 例 給 事 委 員 会 の 勧 告 民 間 給 与 公 務 員 給 与 較 差 勧 告 A B A-B ( 改 定 率 ) 給 与 改 定 率 ( 参 考 ) 国 の 改 定 率 24 年 度 円 円 円 円 ( ) 改 柳 井 市 の 給 与 定 員 管 理 等 について 1 総 括 (1) 件 費 の 状 況 ( 普 通 会 計 決 算 ) 住 民 基 本 台 帳 口 (23 年 度 末 ) 歳 出 額 A 実 質 収 支 件 費 B 件 費 率 B/A ( 参 考 ) 22 年 度 の 件 費 率 23 年 度 34,890 16,214,109 468,464 2,650,321 16.3 16.5 (2)

More information

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド 本 書 では 管 理 者 向 けに MetaMoJi ClassRoom/ゼミナールで 年 度 更 新 を 実 施 する 手 順 について 説 明 して います 管 理 者 ガイドと 合 わせてご 覧 ください Excelは 米 国 Microsoft Corporationの 米 国 およびその 他 の 国 における 登 録 商 標 または 商 標 です Apache OpenOffice Apache

More information

定款  変更

定款  変更 公 益 社 団 法 人 宮 崎 県 農 業 振 興 公 社 定 款 公 益 社 団 法 人 宮 崎 県 農 業 振 興 公 社 公 益 社 団 法 人 宮 崎 県 農 業 振 興 公 社 定 款 第 1 章 総 則 ( 名 称 ) 第 1 条 この 法 人 は 公 益 社 団 法 人 宮 崎 県 農 業 振 興 公 社 ( 以 下 公 社 という )と 称 する ( 事 務 所 ) 第 2 条 公

More information

講義の流れ 並列プログラムの概要 通常のプログラムと並列プログラムの違い 並列プログラム作成手段と並列計算機の構造 OpenMP による並列プログラム作成 処理を複数コアに分割して並列実行する方法 MPI による並列プログラム作成 ( 午後 ) プロセス間通信による並列処理 処理の分割 + データの

講義の流れ 並列プログラムの概要 通常のプログラムと並列プログラムの違い 並列プログラム作成手段と並列計算機の構造 OpenMP による並列プログラム作成 処理を複数コアに分割して並列実行する方法 MPI による並列プログラム作成 ( 午後 ) プロセス間通信による並列処理 処理の分割 + データの ( 財 ) 計算科学振興財団 大学院 GP 大学連合による計算科学の最先端人材育成 第 1 回社会人向けスパコン実践セミナー資料 29 年 2 月 17 日 13:15~14:45 九州大学情報基盤研究開発センター 南里豪志 1 講義の流れ 並列プログラムの概要 通常のプログラムと並列プログラムの違い 並列プログラム作成手段と並列計算機の構造 OpenMP による並列プログラム作成 処理を複数コアに分割して並列実行する方法

More information

目 次 第 1. 土 区 画 整 理 事 業 の 名 称 等 1 (1) 土 区 画 整 理 事 業 の 名 称 1 (2) 施 行 者 の 名 称 1 第 2. 施 行 区 1 (1) 施 行 区 の 位 置 1 (2) 施 行 区 位 置 図 1 (3) 施 行 区 の 区 域 1 (4) 施

目 次 第 1. 土 区 画 整 理 事 業 の 名 称 等 1 (1) 土 区 画 整 理 事 業 の 名 称 1 (2) 施 行 者 の 名 称 1 第 2. 施 行 区 1 (1) 施 行 区 の 位 置 1 (2) 施 行 区 位 置 図 1 (3) 施 行 区 の 区 域 1 (4) 施 北 部 大 阪 都 市 画 事 業 JR 高 槻 駅 北 東 土 区 画 整 理 事 業 事 業 画 書 高 槻 市 JR 高 槻 駅 北 東 土 区 画 整 理 組 合 目 次 第 1. 土 区 画 整 理 事 業 の 名 称 等 1 (1) 土 区 画 整 理 事 業 の 名 称 1 (2) 施 行 者 の 名 称 1 第 2. 施 行 区 1 (1) 施 行 区 の 位 置 1 (2) 施 行

More information

(4) ラスパイレス 指 数 の 状 況 11. 15. 1. 95. H.4.1 94.6 H5.4.1 15.1 H5.4.1 ( 参 考 値 ) 97.1 H5.7.1 14.9 H.4.1 97.1 H5.4.1 14.5 H5.4.1 H5.7.1 13. 1. H5.4.1 ( 参 考

(4) ラスパイレス 指 数 の 状 況 11. 15. 1. 95. H.4.1 94.6 H5.4.1 15.1 H5.4.1 ( 参 考 値 ) 97.1 H5.7.1 14.9 H.4.1 97.1 H5.4.1 14.5 H5.4.1 H5.7.1 13. 1. H5.4.1 ( 参 考 石 井 町 の 給 与 定 員 管 理 等 について 1 総 括 (1) 件 費 の 状 況 ( 普 通 会 計 決 算 ) 住 民 基 本 台 帳 口 歳 出 額 実 質 収 支 件 費 件 費 率 ( 参 考 ) (4 年 度 末 ) A B B/A 3 年 度 の 件 費 率 4 年 度 6,69 8,136,675 373,713 1,54,11 18.95 19.18 () 職 員 給 与

More information

Taro-事務処理要綱250820

Taro-事務処理要綱250820 大 分 県 沿 岸 漁 業 改 善 資 金 事 務 処 理 要 綱 第 1 章 総 則 ( 目 的 ) 第 1 条 知 事 は 沿 岸 漁 業 改 善 資 金 の 貸 付 事 務 を 円 滑 に 処 理 するため 沿 岸 漁 業 改 善 資 金 助 成 法 ( 昭 和 54 年 法 律 第 25 号 ) 沿 岸 漁 業 改 善 資 金 助 成 法 施 行 令 ( 昭 和 54 年 政 令 第 124

More information

目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7.

目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. Web メール 操 作 説 明 書 京 都 与 謝 野 町 有 線 テレビ 0 目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. メール 一 覧 画 面...

More information

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ⅱ 国 地 方 公 共 団 体 公 共 公 益 法 人 等 の 消 費 税 Q&A ( 問 1) 免 税 期 間 における 起 債 の 償 還 元 金 に 充 てるための 補 助 金 等 の 使 途 の 特 定 Q 地 方 公 共 団 体 の 特 別 会 計 が 消 費 税 の 納 税 義 務 が 免 除 される 課 税 期 間

More information

<4D6963726F736F667420506F776572506F696E74202D20303282D382E982B382C68AF1958D8BE090A7937882C98AD682B782E9834183938350815B83678C8B89CA81698CF6955C9770816A2E70707478>

<4D6963726F736F667420506F776572506F696E74202D20303282D382E982B382C68AF1958D8BE090A7937882C98AD682B782E9834183938350815B83678C8B89CA81698CF6955C9770816A2E70707478> ふるさと 納 税 に 関 する 調 査 結 果 ( 概 要 ) ( 対 象 団 体 : 都 道 府 県 47 団 体 市 区 町 村 1,742 団 体 ) 総 務 省 自 治 税 務 局 1 寄 附 金 の 納 付 手 続 きについて ふるさと 納 税 に 関 する 調 査 結 果 ( 概 要 ) 寄 附 手 続 きに 係 る 改 善 すべき 点 としては クレジットカード 決 済 コンビニ 納

More information

Taro-H19退職金(修正版).jtd

Taro-H19退職金(修正版).jtd 調 査 結 果 の 概 要 1 退 職 金 制 度 (1) 採 用 状 況 ( 表 1) 集 計 第 1 表 第 2 表 退 職 金 制 度 の 採 用 状 況 をみると 退 職 一 時 金 制 度 のみ 14 社 ( 退 職 金 制 度 採 用 企 業 246 社 の5.7 %) 退 職 年 金 制 度 のみ 27 社 ( 同 11.0%) 退 職 一 時 金 制 度 と 退 職 年 金 制 度

More information

(2)大学・学部・研究科等の理念・目的が、大学構成員(教職員および学生)に周知され、社会に公表されているか

(2)大学・学部・研究科等の理念・目的が、大学構成員(教職員および学生)に周知され、社会に公表されているか 平 成 23 年 度 自 己 報 告 書 1 理 念 目 的 (1) 大 学 学 部 研 究 科 等 の 理 念 目 的 は 適 切 に 設 定 されているか 平 成 19 年 6 月 に の 目 標 として 大 学 の 発 展 に 貢 献 する 力 のある 組 織 とい う 共 通 の 目 標 を 掲 げ この 目 標 を 常 に 念 頭 に 置 きながら 日 々の 業 務 に 当 たっている さらに

More information

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合 TIPS 目 次 TIPS 項 目 棚 割 りを 開 始 するまで 商 品 画 像 の 追 加 方 法 商 品 情 報 の 一 括 更 新 登 録 方 法 棚 割 情 報 の 連 携 方 法 小 売 様 棚 割 ソフトとの 棚 割 情 報 連 携 について 他 棚 割 ソフトとの 棚 割 情 報 連 携 について 棚 割 情 報 のExcel 取 込 について 棚 板 設 定 の 詳 細 商 品 設

More information

<4831398CF6955C976C8EAE8140816982DE82C28E73816A2E786C73>

<4831398CF6955C976C8EAE8140816982DE82C28E73816A2E786C73> 1 総 括 (1) 件 費 の 状 況 ( 普 通 会 計 決 算 ) 住 民 基 本 台 帳 口 歳 出 額 実 質 収 支 件 費 件 費 率 ( 参 考 ) (18 年 度 末 ) むつ 市 の 給 与 定 員 管 理 等 について A B B/A 17 年 度 の 件 費 率 18 年 度 65,960 32,435,254 2,134,451 5,440,498 16.77 18.00 (2)

More information

<4D6963726F736F667420576F7264202D208169959F93878CA797708F4390B3816A819A95CA8B4C976C8EAE91E682538B4C8DDA97E12E646F6378>

<4D6963726F736F667420576F7264202D208169959F93878CA797708F4390B3816A819A95CA8B4C976C8EAE91E682538B4C8DDA97E12E646F6378> ( 別 様 式 第 4の1-1/3-) 復 興 産 業 集 積 区 域 における 研 究 開 発 税 制 の 特 例 等 ( 法 第 39 条 ) 指 定 を 行 った 認 定 地 方 公 共 法 人 の 場 合 事 業 年 度 又 は 連 結 事 業 年 度 終 了 後 団 体 の 長 の 氏 名 を 載 してく 1か 月 以 内 に 提 出 し ださい 個 人 の 場 合 事 業 年 度 ( 暦

More information

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可 ミスミグループ コーポレートガバナンス 基 本 方 針 本 基 本 方 針 は ミスミグループ( 以 下 当 社 グループ という)のコーポレートガバナン スに 関 する 基 本 的 な 考 え 方 を 定 めるものである 1. コーポレートガバナンスの 原 則 (1) 当 社 グループのコーポレートガバナンスは 当 社 グループの 持 続 的 な 成 長 と 中 長 期 的 な 企 業 価 値 の

More information

Box-Jenkinsの方法

Box-Jenkinsの方法 Box-Jeks の 方 法 自 己 回 帰 AR 任 意 の 時 系 列 を 過 程 ARと 呼 ぶ で 表 す これが AR または AR m m m 個 の 過 去 の 値 に 依 存 する 時 これを 次 数 の 自 己 回 帰 ここで は 時 間 の 経 過 に 対 して 不 変 な 分 布 を 持 つ 系 列 相 関 のない 撹 乱 誤 差 項 である 期 待 値 一 定 の 分 散 σ

More information

<8BB388F58F5A91EE82A082E895FB8AEE967B95FB906A>

<8BB388F58F5A91EE82A082E895FB8AEE967B95FB906A> 恵 庭 市 教 員 住 宅 のあり 方 基 本 方 針 平 成 25 年 2 月 恵 庭 市 教 育 委 員 会 目 次 1. 教 員 住 宅 の 現 状 (1) 教 員 住 宅 の 役 割 1 (2) 教 員 住 宅 の 実 態 1 (3) 環 境 の 変 化 1 (4) 教 員 の 住 宅 事 情 1 2 2. 基 本 方 針 の 目 的 2 3.あり 方 検 討 会 議 の 答 申 内 容

More information