スパコンに通じる並列プログラミングの基礎



Similar documents
スパコンに通じる並列プログラミングの基礎

スパコンに通じる並列プログラミングの基礎

活用ガイド (ハードウェア編)

Windows Cygwin Mac *1 Emacs Ruby ( ) 1 Cygwin Bash Cygwin Windows Cygwin Cygwin Mac 1 Mac 1.2 *2 ls *3 *1 OS Linux *2 *3 Enter ( ) 2

活用ガイド (ソフトウェア編)

困ったときのQ&A

untitled

1重谷.PDF

活用ガイド (ソフトウェア編)

II

untitled

i

2


main.dvi

tebiki00.dvi

supercomputer2010.ppt

困ったときのQ&A

パソコン機能ガイド

パソコン機能ガイド

エクセルカバー入稿用.indd

入門ガイド

01_.g.r..


<4D F736F F F696E74202D C835B B E B8CDD8AB B83685D>

SC-85X2取説




UNIX version Copyright c Daikoku Manabu 1 UNIX 1.1 UNIX UNIX UNIX OS Windows UNIX UNIX UN


ii

untitled

Step2 入門

i


はしがき・目次・事例目次・凡例.indd

活用ガイド (ソフトウェア編)

これわかWord2010_第1部_ indd

パワポカバー入稿用.indd

これでわかるAccess2010

橡6.プログラム.doc

bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi

GNU Emacs GNU Emacs

平成18年版 男女共同参画白書

Javaと.NET

III


卒業論文

2004年度日本経団連規制改革要望


ii

09中西


i


Wide Scanner TWAIN Source ユーザーズガイド


リファレンス

™…


untitled



OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë

01_OpenMP_osx.indd

インターネット入門





DocuPrint CG 835 II 取扱説明書(サーバー編)

273? C

結婚生活を強める


A

X Window System X X &

develop

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë

HPEハイパフォーマンスコンピューティング ソリューション


並列計算の数理とアルゴリズム サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.

OpenMP (1) 1, 12 1 UNIX (FUJITSU GP7000F model 900), 13 1 (COMPAQ GS320) FUJITSU VPP5000/64 1 (a) (b) 1: ( 1(a))

Informatics 2010.key

openmp1_Yaguchi_version_170530

(報告書まとめ 2004/03/  )

CRS4


Informatics 2014

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

178 5 I 1 ( ) ( ) ( ) ( ) (1) ( 2 )

Second-semi.PDF

次世代スーパーコンピュータのシステム構成案について

Raspberry Pi ZeroによるIoT入門

I II III 28 29

生活設計レジメ

44 4 I (1) ( ) (10 15 ) ( 17 ) ( 3 1 ) (2)


リファレンス

ÊÂÎó·×»»¤È¤Ï/OpenMP¤Î½éÊâ¡Ê£±¡Ë

Transcription:

2016.06.06 2016.06.06 1 / 60

2016.06.06 2 / 60

Windows, Mac Unix 0444-J 2016.06.06 3 / 60

Part I Unix GUI CUI: Unix, Windows, Mac OS Part II 0444-J 2016.06.06 4 / 60

( : ) 6 6 ( ) 6 10 6 16 SX-ACE 6 17 6 23 SX-ACE (MPI) 6 24 SX-ACE (HPF) 0444-J 2016.06.06 5 / 60

Part I: UNIX 2016.06.06 6 / 60

CUI 2016.06.06 7 / 60

GUI CUI, OS GUI CUI OS (Windows, MacOS X, Unix) GUI (Graphical User Interface) CUI (Character User Interface)/ CLI (Command Line Interface) OS Unix CUI/CLI Unix Unix = CUI/CLI 0445-J 2016.06.06 8 / 60

GUI CUI GUI CUI 1 1 2016.06.06 9 / 60

CUI を理解するコツ I GUI は 地図で CUI は 写真である GUI = 地図 CUI = 写真 CUI では 今何処にいるか が重要 見たいもの (ファイル等) があったらそこまで移動しないといけない furihata@cmc.osaka-u.ac.jp (大阪大学サイバーメディアセンター スパコンに通じる並列プログラミングの基礎 ) 2016.06.06 0445-J 10 / 60

CUI II CUI = (shell) CUI =! 0445-J 2016.06.06 11 / 60

CUI III CUI Unix CUI ssh 0445-J 2016.06.06 12 / 60

CUI IV CUI Emacs vi Emacs vi ( ) emacs vi 0445-J 2016.06.06 13 / 60

Unix 2016.06.06 14 / 60

Unix : pwd cd.. cd hoge mkdir hoge rmdir hoge hoge hoge hoge mv hoge poko hoge poko or - poko, - 0445-J 2016.06.06 15 / 60

Unix : ls touch hoge rm hoge mv hoge poko or hoge hoge hoge poko - poko, - 0445-J 2016.06.06 16 / 60

Unix : less hoge hoge more, cat grep kore kore 0445-J 2016.06.06 17 / 60

Unix ( ) Emacs emacs hoge hoge ( emacs. C- Ctrl M- Esc ) C-x C-s C-x C-c C-g C-s hoge. emacs C- M-w C-w C-y hoge ( ) ( ) 0445-J 2016.06.06 18 / 60

Unix ( ) vi vi hoge hoge ( vi. ) i Esc ( ) h,j,k,l :wq :q! x, dd 1, 1 ( ) yy p 1. ( ) 2016.06.06 19 / 60

Unix Unix = CUI CUI CUI CUI = (shell) CUI CUI Emacs vi Unix 0445-J 2016.06.06 20 / 60

Part II: 2016.06.06 21 / 60

Part GO 0468-J 2016.06.06 22 / 60

2016.06.06 23 / 60

(SIMD): 1 SX-9 (NEC) 1 1 100GFlops. * 2007. (Top500 1 2011.06-12, 2015.11 4 ): 10.6 PFlops, 705,024. PrimeHPC FX10: 23.3 PFlops, 1,572,864. 2 (, Top500 1 2013.06-): 33.8 PFlops, 3,120,000 : 1.26 P. * PrimeHPC FX10 spec 6Pbyte. ( ) 12,659KW, 2 17,808 KW * 27 13,000 KW 3. 2016.06.06 24 / 60

: SX-ACE 3 423 TFlops = 0.423 PFlops, 6144. * 2015 11 TOP500 217 * 1 (141 TFlops) 500 (206 TFlops) ( 1 ) 96TB = 0.1 PB. ( ) 700 KW. * 1000 4 5 %. 8% 2016.06.06 0468-J 25 / 60

I (creative commons -attribution, share alike 3.0 by A.I.Graphic) 2016.06.06 0468-J 26 / 60

II ILLIAC I, II, III ( 1952, 1962, SIMD 1966) Cray-1 ( 1976, 80-160MFLOPS). 80 (SX-5, 41 TFLOPS, 2002: SX-9, 131 TFLOPS, 2009). TOP500 1 2002.06-2004.06.. Japanese Computenik Blue Gene (2004) 32,768, 2007 212,992 (2011) 10.62 PFLOPS 2 (2013) intel CPU 33.8 PFLOPS. (2015 11 ). 2016.06.06 27 / 60

III (233/top 500 2015.06 ) CPU Cray IBM CPU (39) NEC CPU CPU Pezy SC (, PEZY Computing ) 2015 Green500 1-3 ( 37) Intel chip (37), (31), (27), (11). 10 (top500 ). 0468-J 2016.06.06 28 / 60

, 2016.06.06 29 / 60

I Input Data Operation Output Data 2016.06.06 30 / 60

II ( ) or Input Operation Output 1 + 2 + 3 + + 100 = 5050 for i := 1 to 100 do result += i; ( 100 + 1 ) * 100 / 2 0468-J 2016.06.06 31 / 60

III-1 CPU, HDD Input Fast Operation Output 2016.06.06 32 / 60

III-2 10000 1000 CPU clock (MHz) 100 10 1 0.1 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 Year 2016.06.06 33 / 60

IV-1 ( ) - - SIMD (Single Instruction Multiple Data) Input Vector Operation Output 2016.06.06 34 / 60

IV-2 2016.06.06 0468-J 35 / 60

V-1 ( ) Input Parallel Operation Output 2016.06.06 36 / 60

V-2 0468-J 2016.06.06 37 / 60

VI-1 ( ) Input Parallel Operation Output 2016.06.06 38 / 60

VI-2 0468-J 2016.06.06 39 / 60

VII ( ) - - 0468-J 2016.06.06 40 / 60

VIII NEC SX PC GPU SIMD ( ) 0468-J 2016.06.06 41 / 60

2016.06.06 42 / 60

: I a n 1 a 1 (1 + δ) a n + (1 a) δ Speed up Ratio 60 50 40 30 20 a:50%, delta: 0% a:80%, delta: 0% a:90%, delta: 0% a:95%, delta: 0% a:99%, delta: 0% Speed up Ratio 100 80 60 40 a:50%, delta: 0% a:80%, delta: 0% a:90%, delta: 0% a:95%, delta: 0% a:99%, delta: 0% 10 20 0 10 20 30 40 50 60 70 80 90 100 Number of Processors 0 0 100 200 300 400 500 600 700 800 900 1000 Number of Processors 0468-J 2016.06.06 43 / 60

II Speed up Ratio 60 50 40 30 20 a:50%, delta: 50% a:80%, delta: 50% a:90%, delta: 50% a:95%, delta: 50% a:99%, delta: 50% Speed up Ratio 100 80 60 40 a:50%, delta: 50% a:80%, delta: 50% a:90%, delta: 50% a:95%, delta: 50% a:99%, delta: 50% 10 20 0 10 20 30 40 50 60 70 80 90 100 Number of Processors 0 0 100 200 300 400 500 600 700 800 900 1000 Number of Processors Speed up Ratio 60 50 40 30 20 a:50%, delta: 200% a:80%, delta: 200% a:90%, delta: 200% a:95%, delta: 200% a:99%, delta: 200% Speed up Ratio 100 80 60 40 a:50%, delta: 200% a:80%, delta: 200% a:90%, delta: 200% a:95%, delta: 200% a:99%, delta: 200% 10 20 0 10 20 30 40 50 60 70 80 90 100 Number of Processors 0 0 100 200 300 400 500 600 700 800 900 1000 Number of Processors 2016.06.06 0468-J 44 / 60

III. 0468-J 2016.06.06 45 / 60

2016.06.06 46 / 60

MPI (Message Passing Interface) CPU OpenMP (Multi Processing) CPU OpenMP, SIMD, CUDA. 2016.06.06 47 / 60

I SIMD, ( ) for i:=1 to 10000 do a[i] := 2*i; 1 0468-J 2016.06.06 48 / 60

II-1 CPU / : (thread ) OpenMP OS - Grand Central Dispatch (MacOS X 10.6, FreeBSD), - intel TBB, Google Go, Rust. 0468-J 2016.06.06 49 / 60

II-2 OpenMP Fortran : program hello.!$omp parallel!$omp end parallel. end 0468-J 2016.06.06 50 / 60

III-1 : (Message) (NEC ) MPI (Message Passing Interface) 0468-J 2016.06.06 51 / 60

III-2 MPI 2016.06.06 52 / 60

: SIMD SIMD : (by Julia language) @simd for i=1:length(x) @simd @inbounds s += x[i] * y[i] end Computation speed 10 9 8 7 GFlops 6 5 4 3 2 1 normal SIMD (4 core CPU ) 5!! * PC (vaio, 4core), 1000, 100000. 0468-J 2016.06.06 53 / 60 SIMD

: OpenMP/MPI (1) Parallel : (by Julia language) nheads = @parallel (+) for i=1:200000000 Int(rand(Bool)) end 0.9 Computation speed 0.8 0.7 0.6 Gops 0.5 0.4 0.3 0.2 0.1 0 normal parallel (4 core CPU ) 33!! * PC (vaio, 4core). 0468-J 2016.06.06 54 / 60

: OpenMP/MPI (2) Parallel : Black-Scholes (by Julia language) using ParallelAccelerator Intel Labs @acc begin end http://julialang.org/blog/2016/03/parallelaccelerator (36 core CPU ) 130!! 2016.06.06 0468-J 55 / 60

MPI (SX-ACE) 1 (1 cpu, 4 core) PC 4 4 MPI 2016.06.06 0468-J 56 / 60

, web I UNIX (F) 7,. (K) 1 UNIX, (K) 3,, ( ), 2011. & &, (). 2016.06.06 57 / 60

, web II OpenMP MPI (K) 4 OpenMP, (T), (K) 5 MPI, (T) MPI :, (O). (O), () (O). 2016.06.06 58 / 60

, web III F: ( ) 7 web. http://www.cas.cmc.osaka-u.ac.jp/ paoon/lectures/ 2012-7Semester-AppliedMath7/ K: web. http://exp.cs.kobe-u.ac.jp/wiki/comp practice/index.php? %B7%D7%BB%BB%B2%CA%B3%D8%B1%E9%BD%AC O: http://www.hpc.cmc.osaka-u.ac.jp/j/index.html T: http://www.cc.u-tokyo.ac.jp/support/kosyu/schedule kosyu.html 0468-J 2016.06.06 59 / 60

Thank You! Thank You! 0468-J 2016.06.06 60 / 60