目 目 用方 用 用 方

Similar documents
WinHPC ppt

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

para02-2.dvi

Microsoft PowerPoint - KHPCSS pptx

MPI MPI MPI.NET C# MPI Version2

44 6 MPI 4 : #LIB=-lmpich -lm 5 : LIB=-lmpi -lm 7 : mpi1: mpi1.c 8 : $(CC) -o mpi1 mpi1.c $(LIB) 9 : 10 : clean: 11 : -$(DEL) mpi1 make mpi1 1 % mpiru

NUMAの構成

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

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

chap2.ppt

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

コードのチューニング

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

¥Ñ¥Ã¥±¡¼¥¸ Rhpc ¤Î¾õ¶·

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

スライド 1


86

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

スライド 1

koboデスクトップアプリ ユーザーガイド

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

Microsoft PowerPoint 並列アルゴリズム04.ppt

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

58 7 MPI 7 : main(int argc, char *argv[]) 8 : { 9 : int num_procs, myrank; 10 : double a, b; 11 : int tag = 0; 12 : MPI_Status status; 13 : 1 MPI_Init

MPI usage

情報処理演習 II

MPI

かし, 異なったプロセス間でデータを共有するためには, プロセス間通信や特殊な共有メモリ領域を 利用する必要がある. このためマルチプロセッサマシンの利点を最大に引き出すことができない. こ の問題はマルチスレッドを用いることで解決できる. マルチスレッドとは,1 つのプロセスの中に複 数のスレッド

MPI () MPIMessage Passing Interface MPI MPI OpenMP 7 ( ) 1

コードのチューニング

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

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

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

DKA ( 1) 1 n i=1 α i c n 1 = 0 ( 1) 2 n i 1 <i 2 α i1 α i2 c n 2 = 0 ( 1) 3 n i 1 <i 2 <i 3 α i1 α i2 α i3 c n 3 = 0. ( 1) n 1 n i 1 <i 2 < <i

Microsoft PowerPoint - ishikawa.ppt

120802_MPI.ppt

Microsoft PowerPoint _MPI-01.pptx

untitled

XACC講習会

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

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

Gfarm/MPI-IOの 概要と使い方

CS

115 9 MPIBNCpack 9.1 BNCpack 1CPU X = , B =

Microsoft PowerPoint - scls_biogrid_lecture_v2.pptx

untitled

情報処理概論(第二日目)

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

Microsoft PowerPoint _MPI-03.pptx

C言語によるアルゴリズムとデータ構造

XcalableMP入門

PowerPoint プレゼンテーション

演習準備

86 8 MPIBNCpack 15 : int n, myid, numprocs, i; 16 : double pi, start_x, end_x; 17 : double startwtime = 0.0, endwtime; 18 : int namelen; 19 : char pro

ゲートキーパー養成研修用テキスト(第3版)

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

スライド 1

用 2

05-opt-system.ppt

untitled

Krylov (b) x k+1 := x k + α k p k (c) r k+1 := r k α k Ap k ( := b Ax k+1 ) (d) β k := r k r k 2 2 (e) : r k 2 / r 0 2 < ε R (f) p k+1 :=

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

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裵²ó ¨¡ À©¸æ¹½Â¤¡§¾ò·ïʬ´ô ¨¡

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

スライド 1

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

GNU開発ツール

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v

& & a a * * ptr p int a ; int *a ; int a ; int a int *a

PowerPoint プレゼンテーション

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

£Ã¥×¥í¥°¥é¥ß¥ó¥°(2018) - Âè11²ó – ½ÉÂꣲ¤Î²òÀ⡤±é½¬£² –

1.overview

スライド 1

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

r07.dvi

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

ohp07.dvi

Prog1_6th

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

ex01.dvi

橡Pro PDF

I. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* (

O(N) ( ) log 2 N

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B

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

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

BW BW

DynamicMTML1109

Code Modernization Online training plan

Microsoft Word - Megalodon_JPN.doc

インテル® Xeon Phi™ コプロセッサー・システムにおけるインテル® MPI ライブラリーの使用

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

士 人 月 革 月 鹿鹿 身 鹿鹿 立立 月 鹿鹿 士 人 立立 月 人 士 人 月 田 田 立立 士 一 入 月 士 谷 口 入 月 士 入 月 田 立立 士 子 入 月 立立 月 立立 立立

2002 avidemux MPEG-4 : : : G99P045-1

GNU開発ツール

Excel97関数編

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *

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

Transcription:

大 生 大 工

目 目 用方 用 用 方

用 方 MS-MPI MPI.NET MPICH MPICH2 LAM/MPI Ver. 2 2 1 2 1 C C++ Fortan.NET C# C C++ Fortan

用 行 用 用

用 行 用 言 言 言 行 生

方 方 一 行 高

行 行 文 用 行 If ( rank == 0 ) { // 0 } else if (rank == 1) { // 1 }

MPI_Send() MPI_Recv() 非 MPI_Isend() MPI_Irecv() 用 rank0 rank1

int MPI_Send(void *buf, int count, MPI Datatype datatype, int dest, int tag, MPI Comm comm) void *buf int count MPI Datatype datatype int dest int tag 用 MPI Comm comm

public void Send<T>(value, dest, tag) value int dest int tag 用

int MPI_Recv(void *buf, int count, MPI Datatype datatype, int source, int tag, MPI Comm comm, MPI Status *status) void *buf int source MPI ANY SOURCE int tag 用 MPI ANY TAG MPI Status *status

public T Receive<T>(source, tag) int source int tag 用

int MPI_Isend(void* buf, int count, MPI Datatype datatype, int dest, MPI Comm comm, MPI Request *request) MPI Request : 非 子 用 int MPI_Irecv(void *buf, int count, MPI Datatype type, int source, int tag, MPI Comm comm, MPI request *request)

行 行

int MPI_Bcast(void *buf, int count, MPI Datatype datatype, int root, MPI Comm comm) 一斉 rank0 rank1 rank2 rank3

Int MPI_Gather(void *sendbuf, int count, MPI Datatype datatype, void *recvbuf, MPI Datatype datatype, MPI Comm comm) rank0 rank1 rank2 rank3

int MPI_Reduce ( void *sendbuf, void *recvbuf, int count, MPI Datatype datatype, MPI op op, int dest, MPI Comm comm ) 足 行 rank0 rank1 rank2 rank3

用 用 行 見

方 Win32 入力

方 目

方 入力 C:\Program Files\Microsoft HPC Pack 2008 SDK \Include 入力

方 生

方 入力

方 入力 入力

行 用

行 自 自身 力

行 #include <stdio.h> #include mpi.h // mpi int main(int argc,char **argv){ int rank, namelen; char hostname[mpi_max_processor_name]; MPI_Init(&argc, &argv); // MPI_Comm_rank(MPI_COMM_WORLD, &rank); // MPI_Get_processor_name(hostname,&namelen); // printf("%d\t%s\n", rank, hostname); } MPI_Finalize(); // return 0;

行 行 行

行 入力 行 job submit /scheduler:( ) /numcores:( 用 ) /workdir:( 行 ) /stdout: 力 mpiexec.exe 入 job submit /scheduler:192.168.0.1 /numcores:4 /workdir:\\192.168.0.1\share /stdout:out.txt mpiexec test.exe

行 行 力 入力 1 machine1.doshisha.ac.jp 3 machine3.doshisha.ac.jp 2 machine2.doshisha.ac.jp 0 machine0.doshisha.ac.jp 力 行

行 力 rank0 rank1 力

#include <stdio.h> #include mpi.h // mpi int main(int argc,char **argv){ int rank, tag = 999, data = 0; MPI_Status stat; MPI_Init(&argc, &argv); // MPI_Comm_rank(MPI_COMM_WORLD, &rank); // if( rank == 0 ){ data = 15; } // 0data printf( Before : %d\t%d\n, rank, data); //

if( rank == 0 ){ // 01 MPI_Send(&data, 1, MPI_INT, 1, tag, MPI_COMM_WORLD); } else if( rank == 1 ){ MPI_Recv(&data, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &stat); } printf( After : %d\t%d\n, rank, data); // MPI_Finalize(); // return 0; }

行 Before : 0 15 Before : 1 0 After : 0 15 After : 1 15

行 力 rank0 rank1 rank2

#include <stdio.h> #include mpi.h // mpi int main(int argc,char **argv){ int rank, data = 0, sum = 0; MPI_Init(&argc, &argv); // MPI_Comm_rank(MPI_COMM_WORLD, &rank); // if( rank == 0 ){ data = 5; } else if (rank == 1){ data = 3; } else if (rank == 2){ data = 2; } // data

printf( Before : %d\t%d\n, rank, data); // // 0 MPI_Reduce(&data, &sum, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); if(rank == 0){ printf( SUM : %d\n, sum); // } MPI_Finalize(); // return 0; }

行 力 Before : 0 3 Before : 1 2 Before : 2 5 SUM : 10