30
RIKEN ADVANCED INSTITUTE FOR COMPUTATIONAL SCIENCE 2016年4月14日 国立研究開発法人理化学研究所 計算科学研究機構 運用技術部門 ソフトウェア技術チーム チームヘッド 南 一生 [email protected] 計算科学技術 特論B ËįI ƔƽljơǏƦLJǍƁuÝċ6Ǖ ħĤ,uÝċ6Ĩ ÷ÛƁè ƨǏƸǏƢǍƺdžǏƫžƔƽljơǏƦLJǍƁuÝ ƔƽljơǏƦLJǍƁuÝċ6ĮħĤ,uÝċ6Ĩ ƔƽljơǏƦLJǍƁuÝċ6įħķŁń8uÝċ6Ĩ ƔƽljơǏƦLJǍƁuÝċ6Ɓ]Į ƔƽljơǏƦLJǍƁuÝċ6Ɓ]į 2016 4 14 日 計算科学技術特論B 

÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

RIKENADVANCEDINSTITUTEFORCOMPUTATIONALSCIENCE

2016年4月14日

国立研究開発法人理化学研究所計算科学研究機構�運用技術部門ソフトウェア技術チーム�チームヘッド

南�一生

[email protected]

計算科学技術 特論B

ËįIĦƔƽljơǏƦLJǍƁuÝ�ċ6ǕĦ

ħĤ�,uÝ�ċ6Ĩ

÷ÛƁ�è

• ƨǏƸǏƢǍƺdžǏƫžƔƽljơǏƦLJǍƁuÝĦ• ƔƽljơǏƦLJǍƁuÝ�ċ6ĮħĤ�,uÝ�ċ6ĨĦ• ƔƽljơǏƦLJǍƁuÝ�ċ6įħķŁń8�uÝ�ċ6ĨĦ• ƔƽljơǏƦLJǍƁuÝ�ċ6Ɓ]�ĮĦ• ƔƽljơǏƦLJǍƁuÝ�ċ6Ɓ]�į

�2016年4月14日 計算科学技術 特論B 

Page 2: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

• ��#• ;FK>O@IN5��� �#• �3��#• ����5GCLDB<

eqn:

2016年4月14日 計算科学技術 特論B 

;r¦

2016年4月14日 計算科学技術 特論B 

Page 3: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

e*¦žĈÈ� �Äj

cKƁƌũſǖ !ƁĠNŽs*�ÄjƒìůžŴƏǓĦǙ¯e*Že*6ŴƏžÞ*ÞþƁe*¯žFƎƁİŻƁe*¯ƁjŭŽŮƏǓ

C1,3u1 +C1,4u2 +C1,5u7 =α1

C2,2u1 +C2,3u2 +C2,4u3 +C2,5u8 =α 2

C16,1u10 +C16,2u15 +C16,3u16 +C16,4u17 +C16,5u22 =α16

①の差分点について

②の差分点について

⑯の差分点について

・・・・・・・・・・

・・・・・・・・・・

#ČŽİį¯Ɓe*¯ŭYMŴƏƁŽİį!ƁĈÈ�ÄjžſƏǓĦųŸŭźż!Ɓs*�ÄjƂǒe*6ƀƌƎ��ƁƌũſĈÈ� �Äjƒìů�ƀf¿ŲŵƏ�ŭŽŮƏǓ

Ax = b2016年4月14日 計算科学技術 特論B 

;r¦Ɓ�ß¼ſøö

cƁƌũſĈÈ� �ÄjƒÜŪƏǓ Ax = bA = I−B(I−B)x = bx = Bx +b

x0,x1,x2,x3

x(m+1) = Bx(m ) + b

limm→∝ x(m+1) = B limm→∝ x

(m ) + b

・・・①ĵƒ?Ɓƌũƀ�Ů¾ŴǓļĦƂ8�ä,Ǔ ・・・②

ŗƒŖƀ�"ų�µŴƏǓ

・・・③

Řƒ®ŸŴƾƟưNJƁ,ǚŤŤŤŤŤŤŤŤŤŤǎǎǎƒÜŪƏǓ ・・・④

űűŽřƁ�ĀƁ�ĕƒ=ƐƃŚƁƌũƀſƏ

・・・⑤

�ĕƾƟưNJƒœžūŰƃŚƂśƁ�ƀſƏ x = Bx +b ・・・⑥

śƂŘž#ůC�žſƏǓŻƆƎĈÈ� �ÄjǚŖƒìů�Ƃřƒ®ŸŴƾƟưNJƁ,ǚŤŤŤŤŤŤŤŤŤŤǎǎǎŤƒéŻŰƏ�ƀf¿ŴƏǓx0,x1,x2,x3

2016年4月14日 計算科学技術 特論B 

Page 4: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

A;r¦

x(m+1) = Bx(m ) + břƒìůŸƉƁ;r¦ƀŻŨżô�ŴƏ ・・・④ĵƂ¡/ǒĵƁ`ëèÑƂ#żĭŽſŨçÑ�ŽŧƏž�\ŴƏǓ

ìůƅŮ�Äj Ax = k ・・・⑦

A = D−E− FĵƒŝƁƌũƀSlǓĸƂĵƁ`ëw*ƁƇƁä,ǓĹƂĵƁ´Û��ëä,ƁÊ@ƒSŪŸä,ǓĺƂĵƁ´Û��ëä,ƁÊ@ƒSŪŸä,Ǔ

・・・⑧

ŝƒŜƀ�"ųރqƏ

Dx = (E+ F)x + k ・・・⑨

ރřƁ;r¦ƀŴƏžşƒqƏǓĦűƁ;r¦ƒ¯DžƢƹ¦žŨũǓĦ%�¼ƀƂŠƁíΦžſƏǓĦ¨½ŴƅŮƂħōĩĮĨ��ƁìƒqƏŸƉƀħōĨ��ƁìųŬ�¸ųſŨ¯ŽŧƏǓ

x(m+1) = D−1(E+ F)x(m ) +D−1k・・・⑩

aiixi(m+1) = − aij x j

(m ) + kjj=1j≠i

n

xi(m+1) = −

aijaii

⎛⎝⎜

⎞⎠⎟x j(m ) + ki

aiij=1j≠i

n

∑・・・⑪

2016年4月14日 計算科学技術 特論B 

A;r¦

ރšƁƌũƀSlŴƏǓ (D−E)x = Fx + k

(D−E)x(m+1) = Fx(m ) + k

aiixi(m+1) = − aij x j

(m+1)

j=1

i−1

∑ − aij x j(m ) + kj

j=1+1

n

・・・⑫

šƒřƁ;r¦ƀŴƏžŢƒqƏǓĦ

űƁ;r¦ƒ¯ƜƗƨǎƥƖƯNJ¦žŨũǓĦ

%�¼ƀƂţƁíΦžſƏǓĦ¨½ŴƅŮƂħōĩĮĨ��ƁìƒqƏŸƉƀħōĩĮĨ��Ɓ��ëä,ƒ�¸ųżŨƏ¯ŽŧƏħljƛNjǍƨƁº·ĨǓĦ

?KƁƌũƀĪĦŋƒ\ÛŴƏƁƀŋīĮƁ�ƒ:°ŴƏƢǏƯƕǍƠƂ�KƁƌũſ:°Ē�žſƎĪljƛNjǍƨħIf:°Ĩŭº·ųżŨƏǓ

・・・⑬

・・・⑭

x(i) = a(i)* x(i −1)+ b(i)do i=1,n

ljƛNjǍƨŭŧƏžĪĦŋƀŻŨżƂ�YĒ�ŭŧƎ�,(µŭŽŮſŨǓ

2016年4月14日 計算科学技術 特論B 

Page 5: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

DžƢƹ¦ƋƜƗƨǎƥƖƯNJ¦ƂDŽƭƦdžƁíÎğhƒS�ųżƊ<�ŴƏ�ŭ�Z¼ƀï�ŲƐżŨƏǓĦƜƗƨǎƥƖƯNJ¦ƚljƧƲNJƁíÎğhƂ0ƿǏƧƁƌũƀljƛNjǍƨƁŸƉƀ�,6ŽŮſŨǓĦŶűŽħņĨƁƶƖƷǏƽNjǏǍ¦ƋħŇĨƁłĹĸīĶľĵķĽ¦ƒ¸ŨNJǏƽ&ƁljƛNjǍƨƀƌƏ�YĒ�ƒſůŴťĦ�YĒ�ƒſůŴ�Ž0I÷ÛƁƌũƀƶǏƱƗƘƔƁ�,íÎ��ƒ�ŨĤĆƀíÎ>ÝžſƏǓƆŸ�,6ŶƁƊƁƀƊ�¸>ÝǓ

A;r¦

(a)オリジナルスイープ (b)ハイパープレーンスイープ (c)RED-BLACKスイープ

計算順序(スイープ順序)参照関係 �ƉƁƶƖƸǏƽNjǏǍ&Ƃ

ljƛNjǍƨŭſŨǓĦƶƖƷǏƽNjǏǍđƁƇƀljƛNjǍƨŭº·Ǔ

ĥžěƁǖŻƁNJǏƽƀ'�wŴƏǓĦŶƐŷƐƁNJǏƽ&ƂljƛNjǍƨŭſŨǓ

2016年4月14日 計算科学技術 特論B 

��

f (x) = 12(x,Ax)− (b,x)

f (x) = 12

aij xix j −j=1

n

∑i=1

n

∑ bixii=1

n

∑∂ f (x)∂xk

= 12

aikxii=1

n

∑ + 12

akjx jj=1

n

∑ − bk

∂ f (x)∂xk

= akixii=1

n

∑ − bk = 0

$n5č¦ħķĻ¦Ĩ

ŖƁį ƁĒ�ƒÜŪƏǓĦűƁĒ�Ɓ�a�HĢƒìůŸƉƀŊħœĨƁs*ƒ=ƎĭžūůǓĦŗƌƎŖƁ�a�HĢƒìů�ŭŅœĴņƁìƒqƏ�žCÌŽŧƏűžŭ*ŬƏǓĦ

�îžC�ſ�ƒU !ƁƾƟưNJŽäũǓĦŖžCÌſĒ�žųżŘƒÜŪƏǓĦŘƒw*Ž�îŴƏžřƁƌũƀſƏǓĦ

řƒœŽ s*ŴƏžŚƀſƏǓĦä,ĵƁ`Ãuƒ�ŨǔžūůűžƀƌƎśŭqƍƐƏǓĦśƂĈÈ� �ÄjŜƁw*åÂŽŧƏǓĦ

ųŸŭźżŘƁ�a�HĢƒìů�ŭĈÈ� �ÄjŜƒìůűžžſƏǓ

f (x) = 12ax2 − bx ・・・①

・・・②

・・・③

・・④

・・⑤

・・・⑥

f '(x) = ax − b = 0

Ax = b ・・・⑦

2016年4月14日 計算科学技術 特論B 

Page 6: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

$n5č¦ħķĻ¦Ĩ

ķĻ¦ƔNJƣljƩǃƁO�lƒcKƀÂŴǓĦűƁ�ƀáŦſƔNJƣljƩǃƁª·lŭŧƏǓĦ

ŘjƁŊħœĨŭ�a�ŭqƍƐƏƌũƀœŋƁ,ƒ¤ƉżäůǓĦ

ŐŋĦƂ¢eƾƟưNJŽŧƎ�Ũƀ¾ ų� ³ÈŽŧƏűžŭï�ŲƐżŨƏǓĦ

ųŸŭźż¢eƾƟưNJƂŀ!ƁĈÈ� �ÄjƀƂŀ�ųŬYMųſŨǓĦ

ķĻ¦ƒ�ũžŀ!ƁĈÈ� �ÄjƂĤŦŀIƁ;rŽ<�ŴƏǓĦ

ƆŸĵƁL��ŭØĎųżŨƏŬ_ĘųżŨƐƃ<�ŭĆůſƏuûƒzŻǓĦ

2016年4月14日 計算科学技術 特論B 

��

M = UTU

!x = UxAU−1!x = b

U−TAU−1!x = U−Tb = !bU−TAU−1 = !A

A ≈MA ≈ UTU

U−TAU−1 ≈ U−T (UTU)U−1 = I

!A = U−TAU−1

!A!x = !b

0(µ�Ů$n5č¦ħķĻ¦ĨĵƀāŨ¡�`Ãä,ijĿƒÜŪƢNjƨƝǏ*ìŴƏǐŖjǑǓĦűűŽŗƁƌũſœƁÚŮ�ŪƒäũǓĦ

űƐƒ�źżƊžƁĵœĴņƒSlŴƏǐŘřjǑĦ

űűŽŚŽÚŮ�ŪŸĵƁuûƒƇżƇƏǓĦ

ĿƂśƒ®ŸŴƁŽŖƌƎŜƒ®ŸŴǓĦ

ŚƀŜƒċ¸ŴƏžŝƒƇŸųÚŮ�ŪŸĵƁuûƂ8�ä,ƀāŨűžŭ*ŬƏǓĦ

ųŸŭźżŞƀƌźżÚŮ�ŪŸä,ĵƁL��ƂĮƁFƎƀ_ĘųżŨƏƊƁžÜŪƍƐƏĦ

ÚŮ�ŪŸä,žƾƟưNJƀ`ŴƏĈÈ� �ÄjǚşƁ<�Ƃ�ŨƊƁž�oŽŮƏǓ

・・・①

・・・②・・・③・・④・・⑤

・・・⑥・・・⑦

・⑧

・・⑨

・・・⑩

2016年4月14日 計算科学技術 特論B 

Page 7: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

0(µ�Ů$n5č¦ħķĻ¦Ĩ�[#ƢNjƨƝǏ*ìƀƌƏ0(µķĻ¦ƔNJƣljƩǃƁO�lƒ�KƀÂŴǓĦ�[#ƢNjƨƝǏ*ìƂ!Ɓä,èÑƁ�ÚƁƇƒíÎŴƏǓĦǔèÑƀ`ŴƏƻƕNJƖǍƂíÎųſŨǓĦíÎƂä,ƾƟưNJÆǎƾƟưNJƨƛLjÆǎƾƟưNJƁGǎ&ÆǎĖÎŽ�wŲƐƏǓĦü׎ÂųŸ0(µČ*Ƃ0ĉ�"ǎpă�"ŽíÎŲƐƏǓ1.ICCG法のアルゴリズム

ステップ1:    αk = (rik •(LLT )−1ri

k )/(Apik • pi

k )

ステップ2:     xik+ 1 = xi

k +αk pik

ステップ3:     rik+ 1 = ri

k − αkApik

ステップ4:     β k = (rik+1 •(LLT ) −1ri

k+1 ) /(rik•(LLT ) −1ri

k )

ステップ5:     pik+ 1 = (LLT )−1 ri

k+1 + β k pik

2016年4月14日 計算科学技術 特論B 

��

ƔƽljơǏƦLJǍƁĦuÝ�ċ6

2016年4月14日 計算科学技術 特論B 

Page 8: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��šţŬžÒ�Á�

Çj�[

¨tŁ¼Õ

ŜƃţŕŪśţ��

ŻƇŨśšƂƈRUN

ŭŵŪŜşƈŶŖƅ

ŻƇŜƃž�[

ßh)

DO)

�Çx¥

6ãÀD

ŴƊůŗŘŔ

Ù�ƉE²�;

şƈŶŖƃ

ŻƇŜƃž

ŻƇŜƃž

�ÇŀVEĿ!ħŎěŋıģşƊŭŕƈŜ

å�#)ƉåW¬şƊŭŕƈŜ

½Å

¾¤�Bĝĝĝĝĝĝĝĝĝ¾¤{�B

24

• ƔƽljơǏƦLJǍƁý�,uƒkŮ)ŴĦ

• ƽnjƪƭƤƁ8�u݃kŮ)Ŵ

��5FM=JHN=#$AE?N:�,��%

2016年4月14日 計算科学技術 特論B 

��šţŬžÒ�Á�

Çj�[

¨tŁ¼Õ

ŜƃţŕŪśţ��

ŻƇŨśšƂƈRUN

ŭŵŪŜşƈŶŖƅ

ŻƇŜƃž�[

ßh)

DO)

�Çx¥

6ãÀD

ŴƊůŗŘŔ

Ù�ƉE²�;

şƈŶŖƃ

ïî�²��æŁŻƇŜƃž

ŻƇŜƃž

�ÇŀVEĿ!ħŎěŋıģşƊŭŕƈŜ

å�#)ƉåW¬şƊŭŕƈŜ

½Å

¾¤�Bĝĝĝĝĝĝĝĝĝ¾¤{�B

24

• ƔƽljơǏƦLJǍƁý�,uƒkŮ)ŴĦ

• ƽnjƪƭƤƁ8�u݃kŮ)Ŵ

��5FM=JHN=#$AE?N:�,��%

2016年4月14日 計算科学技術 特論B 

Page 9: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

ƔƽljơǏƦLJǍƁuÝ�ċ6ƁƨƮƭƽ

1. 2.

3.1

3.2

4. 5.

�#�W!s

řƊŲƅÁ�

å�#)

,�W¬4�£�D

åW¬)£Eµ

E{ļŁũƁƊűƈŜ

2016年4月14日 計算科学技術 特論B 

�,²u*�ǎƛǏƴNJð�

1. 2.

3.1

3.2

4. 5.

�#�W!s

řƊŲƅÁ�

å�#)

,�W¬4�£�D

åW¬)£Eµ

E{ļŁũƁƊűƈŜ

2016年4月14日 計算科学技術 特論B 

Page 10: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

�#�W!s(��xÑ!sƉźƇŪś�W!s)

(1)şƊůŁxÑŒ!sį��ŀ�ĹĶ��źƇŪś(¾¤/Ï�)ŀ!&(2)şƊůŁE²oÚŁE�(3)ŻƇŜƃžŦƊţşƊůŁÆu(4)��źƇŪśŁ������GŒ_e(5)¾¤źƇŪś�Ł¾¤�W_e(á�#/C��#/Ó!�#ĞNŀ��/N**2ŀ��¢)(6)Ï�źƇŪś�ŁÏ��W_e(ŜƇƊŵƅÏ�ƉÞdÏ�ĞÞdâŀ��&ÞdÏ�/�¡ŀ��Ğ¢)

1.

Ēĉďēø

ėęĊú

��ïíï

ėęĊù

ėęĊû

ėęĊü

��ï

��ðíï

��ðææ

Ï�ï

ėęĊþ

ėęĊýæ

ûăƅƊŻ

ûăƅƊŻ

��3

�����G

źƇŪśïæĝ辤é

źƇŪśðæĝ辤éæ

ĝèÏ�é

źƇŪśñ

E²oÚæƉţŝƊƃŷƄŬŕ

�¤ƉÏ��W

�¤ƉÏ�¸¡Ŏ

C��#

Ó!�#

ÞdÏ�

Ăêêñŀ��

Ăŀ��

Þdâŀ��

(1)¾¤ƉÏ�źƇŪśŀĺģĻ������GƉşƊŭŕƈŜŁÁ�Œ²ģ3 Ł¾¤ƉÏ�źƇŪśŒÁ�į�Ŀŏ äŁ¾¤ƉÏ�źƇŪśŒřƊŲƅŁ�¶ĽįĻ�ģ ı(2)�#�W!sŁ¨tħōTĶ6ã¹zŀHıŏ�AWŁY9Œ�ŀŧƊŞŪŮ6ãE²oŀĞŇĶå�#E²oŀřƊŲƅĽĿŏ¾¤ƉÏ�řƊŲƅŒ�ģ ıæ

řƊŲƅÁ�2.

řƊæŲƅ

Ĝ

Ĝ

182016年4月14日 計算科学技術 特論B 

��

LM+MSD法における測定区間毎のスケーラビリティ

1.0

10.0

128 256 512 1024並列数

スケーラビリティ

全体evolve_WFs_in_subspacem_ES_Vnonlocal_W

betar_dot_WFs

modified_gram_schmidt

m_XC_cal_potentialm_FFT_WF

��������������������������������������������

źƇŪś�ŁE²oÚĽţŝƊƃŷƄŬŕÁ�(�) →SrŁÁ�łŠźƅƊũƈ�ƉÛi�¢ŁÁ�Ĩ>ģ →ŠźƅƊũƈƉÛił°ğĿ:\ļ5ŃŐŏĶʼn|įģÁ�ĨļĩĿģ

2016年4月14日 計算科学技術 特論B 

Page 11: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

�,²u*�ǎĤ�,6

1. 2.

3.1

3.2

4. 5.

�#�W!s

řƊŲƅÁ�

å�#)

,�W¬4�£�D

åW¬)£Eµ

E{ļŁũƁƊűƈŜ

2016年4月14日 計算科学技術 特論B 

��

ƔƽljơǏƦLJǍƒĤ�,uƒð�ŴƏŸƉƀƂǛ

ü*!Ŀ�#MŒTŏ�#)]�Œc�ıŏæüá�#Ó!ŒpI)ıŏæüÏ�oÚŒpI)ıŏæüƇƊůŖƈŵƃƈţŒ ĮĿģ

�-Ɓ�,²u*�ƁƻƘǏƩĦūƌƄĤ�,6ƁƨƮƭƽŽĦ

ƔƽljơǏƦLJǍƁĤ�,ƒē^ŴƏĦèJƒ©Ũ)Ŵ�ŭĎèĦ

2016年4月14日 計算科学技術 特論B 

Page 12: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

n á�#ÓĨ}ĹĻģĿģħƖ}ĹĻģŏ:2ŀ6ãĿģħƖ n ÞdÏ�oÚĨÉå�#oŀľŐĪōģŁ&2Œ-ʼnŏħƖ n ?8Ï�oÚĨÉå�#oŀľŐĪōģ<?ıŏħƖæn ƇƊůŖƈŵƃƈţĨÉå�#oŀX)įĿģħƖ

ĭŐōŁÁ�ĨÖ·

Éå�#Œ�aįĶ:2Ł�Z�−źƇŪś�ŀ��ŒÁ�ıŏ

2016年4月14日 計算科学技術 特論B 

��

ストロングスケール測定

#�ƁHĢê�ƒ�\ƀųż­\ŴƏ�¦ǓĦ

űűŽƂİŔİŔĮĭŭ#�ƁHĢê�ǓĦ

ǖƵǏƱ*1ŽƂǕƵǏƱŧŸƎƁHĢê�ƂİŔİŔıžſƏǓĦ

ĮĭƵǏƱ*1ŽƂǕƵǏƱŧŸƎƁHĢê�ƂįŔįŔįžſƏǓĦ

HĢƒǕÅģ�ƐƃàŨƁŽ­\Ƃ�ŽŧƏǓĦ

�,�Ɓ{4ƂéŪƀůŨǓĦ

ǕƵǏƱ

ǖƵǏƱ

ĮĭƵǏƱ

2016年4月14日 計算科学技術 特論B 

Page 13: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

ウィークスケーリング測定

ĮƽnjƪƭƤŧŸƎƁHĢê�ƒ�\ƀųż­\ŴƏ�¦ǓĦűűŽƂİŔİŔıŭĮƽnjƪƭƤŧŸƎƁHĢê�ǓĦǖƵǏƱ*1ŽƂ#�ƁHĢê�ƂİŔİŔĮĭžſƏǓĦĮĭƵǏƱ*1ŽƂ#�ƁHĢê�ƂIJŔİŔįıžſƏǓĦHĢƒç��Ətèŭ­\Ƃ±ęŽŧƏǓ

ŸŹų�,�Ɓ{4ŭéŪ�ŨǓĦ

ǕƵǏƱ

ǖƵǏƱ

ĮĭƵǏƱ

2016年4月14日 計算科学技術 特論B 

��

n á�#ÓĨ}ĹĻģĿģħƖ}ĹĻģŏ:2ŀ6ãĿģħƖ n ÞdÏ�oÚĨÉå�#oŀľŐĪōģŁ&2Œ-ʼnŏħƖ n ?8Ï�oÚĨÉå�#oŀľŐĪōģ<?ıŏħƖæn ƇƊůŖƈŵƃƈţĨÉå�#oŀX)įĿģħƖ

ĭŐōŁÁ�ĨÖ·

Éå�#Œ�aįĶ:2Ł�Z�−źƇŪś�ŀ��ŒÁ�ıŏ

ŶƁŸƉƀ

2016年4月14日 計算科学技術 特論B 

Page 14: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

ţŮƇƈŜ ţŝƊƅ

E² oÚ

ŗŕƊśţŝƊƅ

1ŻƇťŪŠŁ6ãŁ?ĩĮŒŧƊŞŪŮ6ãŁ?ĩĮŀ2őijŏ�#i

n ŧƊŞŪŮ6ãŒ�ʼnŏ n ƐŻƇťŪŠŁ6ã¹zĨŧƊŞŪŮ6ãĽ3�MĽĿŏŇļłĞţŮƇƈŜţŝƊƄƈŜļE²oÚƉƇƊůŖƈŵƃƈţƉÞdÏ�oÚƉ?8Ï�oÚŒ�DƉÁ�ıŏ(100ħōi��#Ňļ)

n �¿ŊŗŕƊśţŝƊƄƈŜļļĩŐŃĿĦ¯ģæn �¿Ł�DƉÁ�ļ6ãĨqŐŃ¼�ıŏ n 6ãĿīŐŃ�#MŒ�ĬĻŗŕƊśţŝƊƄƈŜļ?¹z�#Łb(Œ�Dıŏ

ストロングスケールとウィークスケーリング測定を使う

2016年4月14日 計算科学技術 特論B 

E² oÚ

�#iÞdÏ�oÚ

ÞdoÚŁ&2Ľ<?įĿģħ�ÄíæÏ�Ł��k�ĨXģĽÞdÏ�oÚĨ<?ıŏí

?8Ï�oÚ

?8Ï�oÚŁ&2ł�®ŀ<?ıŏíæÏ�×ƉÏ�7iŒ�Äıŏļ<?Ł&2Œ¸wʼnŏí

?¹z�#ŁŗŕƊśţŝƊƄƈŜÁ�

n ����0¬ĿE²�;Œ��į100�M/1000�M/i+�MĽ~ÝŒÎĹĻļĩŏķīåģ�#Mļ�#W¬Œ�Äıŏ(ŗŕƊśţŝƊƄƈŜ�D).

n ŗŕƊśţŝƊƄƈŜĨàįģŊŁŊĢŏĨ rŏķī�DįĶģ. àįģ:2łƎ�¤oÚŒſŭƅ)įĻE�ĽſŭƅĽŁ�­ŒÁ�ıŏ.

¾¤ŁźƇŪś�ŀElá�#ÓŁÁ�

Ï�oÚŁÁ�

�¤oÚĨ<?įĿģħ�ÄƏ�¤oÚĨ<?ıŐŃá�#ÓĨ}ĹĻģŏ�¤oÚ

2016年4月14日 計算科学技術 特論B 

Page 15: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

in grid points are kept within a part and do not affect the communications within the other part. The number of parts is taken up to the number of parallelisms in orbitals. We used this mapping in the experiments.

5. PERFORMANCE ANALYSIS The scalability and efficiency of the modified code which is parallelized in terms of grid points and orbitals as described above were evaluated with a simulation model named “Data-1,” depicting a SiNW with 19,848 atoms. The number of grid points and orbitals were 320x320x120 and 40,992, respectively. We used an MPI library tuned to the Tofu network to obtain higher performance. We also made an appropriate task mapping to the Tofu network.

5.1 Performance of DGEMM The principal kernel of the modified RSDFT code is a DGEMM routine of the BLAS. We optimized the DGEMM routine so as to utilize the special features such as SIMD instructions and the sector cache and hardware barrier synchronization capability of the SPARC64TM VIIIfx effectively. The sustained performance of DGEMM on a compute node is 123.7 giga-flops, or 96.6% of the peak performance. In particular, we found that the computation time as a result of keeping the block data on the L1 cache manually decreased by 12% compared with the computation time for the usual data replacement operations of the L1 cache. This DGEMM tuned for the K computer was also used for the LINPACK benchmark program.

5.2 Scalability We measured the computation time for the SCF iterations with

Data-1 on 12288, 24576, 26864 and 73728 cores (cases 1, 2, 3 and 4, respectively). The number of parallel tasks is the product of the number of parallel tasks in space and that in orbitals. The number of parallel tasks in space was fixed to 1,536, and the number of parallel tasks in orbitals was varied from 1, 2, 3 and 6. Therefore, the number of parallel tasks amounted to 1536, 3072, 4608, or 9216. Figure 6 plots the computation time and communication time for GS, CG, MatE in SD (MatE/SD) and RotV in SD (RotV/SD) . The horizontal axis in each figure stands for the number of cores. The theoretical computation time for cases 2, 3 and 4 is also ploted where the computation time of case1 is divided by 2, 3 and 6, respectively. They show the scalability in the parallelization for the orbitals. The measured computation time becames closer to the theoretical computation time as the number of parallel tasks in orbitals increased, and GS, CG, MatE/SD and RotV/SD were found to be well-parallelized in orbitals. The communication time with respect to the parallel tasks in space decreased in proportion to the number of parallel tasks in orbitals, because the number of calls of MPI functions for global and adjacent communications decreased in proportion to the reciprocal of the number of parallel tasks in orbitals. On the other hand, the global communication time for the parallel tasks in orbitals was supposed to increase as the number of parallel tasks in orbitals increased. The number of MPI processes requiring communications for the parallel tasks in orbitals, however, was actually restricted to a relatively small number of compute nodes, and therefore, the wall clock time for global communications of the parallel tasks in orbitals was small. This means we succeeded in decreasing time for global communication by the combination

Figure 6. Computation and communication time of (a) GS, (b) CG, (c) MatE/SD and (d) RotV/SD for different numbers of cores.

0.0

40.0

80.0

120.0

160.0

0 20000 40000 60000 80000

Tim

e per

CG

(sec

.)

Number of cores

theoretical computationcomputationadjacent/spaceglobal/spaceglobal/orbital

0.0

100.0

200.0

300.0

400.0

0 20,000 40,000 60,000 80,000

Tim

e per

GS

(sec.)

Number of cores

theoretical computationcomputationglobal/spaceglobal/orbitalwait/orbital

0.0

50.0

100.0

150.0

200.0

0 20,000 40,000 60,000 80,000

Tim

e per

MatE

/SD

(sec.)

Number of cores

theoretical computationcomputationadjacent/spaceglobal/spaceglobal/orbital

0.0

100.0

200.0

300.0

0 20,000 40,000 60,000 80,000

Tim

e per

Rot

V/SD

(sec.)

Number of cores

theoretical computationcomputationadjacent/spaceglobal/spaceglobal/orbital

(d) (c)

(a) (b)

ţŮƇƈŜţŝƊƄƈŜķīľţŝƊƅŒſŭƅ)įĶ�

2016年4月14日 計算科学技術 特論B 

��

8�uÝD�Í¥\

1. 2.

3.1

3.2

4. 5.

�#�W!s

řƊŲƅÁ�

å�#)

,�W¬4�£�D

åW¬)£Eµ

E{ļŁũƁƊűƈŜ

2016年4月14日 計算科学技術 特論B 

Page 16: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

řƊŲƅŁ"Ŏ įĽW¬4�£ŁÂ²

íÎƛǏƴNJƁ+Ǝ)ųŕíÎƛǏƴNJƒ³ÈſƮƨưƽnjƠLjǃžųż+Ǝ)ŴĬĦ

uÝD�ÍƁñäŕ+Ǝ)ųŸƮƨư¶Qƒ�¸ų�ŦſuÝD�̓ñäŴƏĬĦ

uÝD�ÍƁð�ǎ¥\ŕñäÕ�ƒð�ųuÝD�ÍƁ�ƒÍ\ŴƏĬĦ

��ďéÆƎŕuÝD�̓]�ųŸPBƁƢǏƱ#�ƀmĝŴƏ��ƒ©Ũ)ŴĬĦ

ŶƐƍ��ƒ]�ųŸPBƁ��ďƒéÆƏĬĦ

ŶƐƍƒð�ų�Ó¼ƀ|¸ŴƏ�ƒ¥\ŴƏǓ

2016年4月14日 計算科学技術 特論B 

��

SPARC64TM VIIで実装した技術を拡張

SPARC64™VIIIfx新規技術

➔���������� ������������� ������� ����

演算器

メモリ

レジスタ

ąĀāû

�(Ii�æƆŢţŧ`P

CPU

ÿĄúìøúü

科学技術計算を高速で処理するための拡張命令セット

ĈĀąĀāĄøúĆ 演算器演算器 ・・・・

レジスタレジスタ・・・・

コア

共有キャッシュ

ハードウェアバリア同期

ťśŧæŚƀŪšƁ

Ł:2ŁúĄćW¬åÐ)^³

2016年4月14日 計算科学技術 特論B 

Page 17: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

ĤuÝ6Í]æǎ]�ŽƁƬdžǏƳǍƠ

1. 2.

3.1

3.2

4. 5.

�#�W!s

řƊŲƅÁ�

å�#)

,�W¬4�£�D

åW¬)£Eµ

E{ļŁũƁƊűƈŜ

åW¬)£Eµ

å�#)ŁH£ŒElįĶşƊůŀHįĻ£DįĶ,�W¬4�£ŒEµıŏæ

À¾ƉŻƇŜƃŽƈŜƉŭŵŪŜ�vļĢŎ�vKi�ŀł?ĩĿ�vĽĿŏ

E{ļŁũƁƊűƈŜòŇļElĮŐĶşƊůŒĮōŀE{ŀËijĻ��ĽįĻũƁƊűƈŜıŏææ(1)�DƉE{�ļ�#W¬/,�W¬Œ�Dıŏ.(2)6ã��ģ įƉ�#W¬/,�W¬ŁĴŐĵŐŀĺģĻĝ6ã�Œ�ģ ı.(3)6ã�¼�Ɖ�ģ ĮŐĶ6ã�Ł¼�££DƉ¼�£ŁEµ

2016年4月14日 計算科学技術 特論B 

��

Ï8ſ]�

2016年4月14日 計算科学技術 特論B 

Page 18: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

ŻƇŜƃžxÑŒ���ŀňĻ�¼Œ'īŏūƊƅƏæ

ýĔĖĘĖĉē÷î/ńýĔĖĘĖĉēõõĨHÈƏæ

ŻƇšƊŢƀ5ń įëƅƊŻë!Jŀ ´ĮŐŏŻƇŜƃžŁxÑŁ0º)Œ²ĤƏæ

ĠġŻƇŹœŖƅŭƊŧŀHUįĶ(�¼sY9Ŋ´�0¬Əæ

ŻƇŜƃžxѼsgfūƊƅƏ

ŤĽīőŇŎŏʼn

2016年4月14日 計算科学技術 特論B 

��

ŀŁĶĦĿĻƒ�¸ųŸì��

ŀŁĶĦĿĻħǁNJƬƠljƭƱ¦ƀƌƎĈÈ� �ÄjĦƒìůƾǍƬǁǏƟƮƨưƽnjƠLjǃĨ

ĈŠŖśƅżƅũŜƄŪů

ŹœŖƈŜƄŪů

şƊŤŜƄŪů

2016年4月14日 計算科学技術 特論B 

Page 19: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

fk = Rk+1→k fk+1fk−1 = Rk→k−1 fkfk−2 = Rk−1→k−2 fk−1

f1 = R2→1 f2

A1u1 = f1

uk = Rk−1→kuk−1rk = fk − AkukAkuk = rk

uk+1 = Rk→k+1uk

rk+1 = fk+1 − Ak+1uk+1Ak+1uk+1 = rk+1%ܶÚ

NضÚ

}L¾¤

Ì�¼�¼

ŀŁĶĦĿĻƒ�¸ųŸì��

ŀŁĶĦĿĻħǁNJƬƠljƭƱ¦ƀƌƎĈÈ� �ÄjĦƒìůƾǍƬǁǏƟƮƨưƽnjƠLjǃĨ

ĈŠŖśƅżƅũŜƄŪů

ŹœŖƈŜƄŪů

şƊŤŜƄŪů

ĿĻƁƔNJƣljƩǃĦĦŤŤƒìůAu = f

2016年4月14日 計算科学技術 特論B 

ƔƽljơǏƦLJǍƁ�ćƁõ�ħ�èĨ

èïé ¾�ŁţŧƊŮĽţŮŪŻŀ��æ

èðé ©ŎÍįƅƊŻŀ��æ

èñé ĒĎñĕŠźƅƊũƈŀ��æ

èòé żŖŰţk4ŁƅƊŻļŨŗƈŠŖśƅĽ��æ

èóé %ܶÚƅƊũƈĽ��æ

èôé ŨŗƈŠŖśƅRŁÌ�¼�¼Ľ��æ

èõé Żƃţk4ŁƅƊŻļŔŪŻŠŖśƅĽ��æ

èöé NØ¶ÚĽ��æ

è÷é }L¾¤Ľ��æ

èïîéŔŪŻŠŖśƅ�ŁÌ�¼�¼

2016年4月14日 計算科学技術 特論B 

Page 20: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

ƔƽljơǏƦLJǍƁ�ćƁõ�ħÁóĨ

èïé ĖĕĖĐñŒÆuŁ¨t%ܶÚ��Ľ$mæèðé ŹœŖƈŜƄŪůħōşƊŤŜƄŪůŅŁ¶Ú��Œ�ÄįĶæ

èñé ĒïĐëĒðĐëĒñĐłĒïëĒðëĒñŀ¨2æ

èóé ĴŁ�ĝďēĘčĖĕèNضÚéëĖčėďČè}L¾¤ƍëĕėďēĚƌÌ�¼�¼éĽ�Äæ

èôé ĖĕĖĐñŁƅƊŻxÑÆuæèõé ĒñĐëĒðĐëĒïĐŁƒÖƅƊŻxÑ

call rprj3(r(ir(k)),m1(k),m2(k),m3(k),r(ir(j)),m1(j),m2(j),m3(j),k)

subroutine rprj3( r,m1k,m2k,m3k,s,m1j,m2j,m3j,k )

k

j

rprj3:制限補間

m1,m2,m3はプロセス分散されている

mi(1,k),mi(2,k),mi(3,k)

do k = lt,1,-1 do ax = 1,3 mi(ax,k) = ・・ mip(ax,k) = ・・ enddo enddo

setup

lt=lt_default=9

call rprj3(r(ir(k)),m1(k),m2(k),m3(k),r(ir(j)),m1(j),m2(j),m3(j),k)

subroutine rprj3( r,m1k,m2k,m3k,s,m1j,m2j,m3j,k )

k

j

rprj3:制限補間

m1,m2,m3はプロセス分散されている

mi(1,k),mi(2,k),mi(3,k)

do k = lt,1,-1 do ax = 1,3 mi(ax,k) = ・・ mip(ax,k) = ・・ enddo enddo

setup

lt=lt_default=9

call rprj3(r(ir(k)),m1(k),m2(k),m3(k),r(ir(j)),m1(j),m2(j),m3(j),k)

subroutine rprj3( r,m1k,m2k,m3k,s,m1j,m2j,m3j,k )

k

j

rprj3:制限補間

m1,m2,m3はプロセス分散されている

mi(1,k),mi(2,k),mi(3,k)

do k = lt,1,-1 do ax = 1,3 mi(ax,k) = ・・ mip(ax,k) = ・・ enddo enddo

setup

lt=lt_default=9

2016年4月14日 計算科学技術 特論B 

��

ƔƽljơǏƦLJǍƁ�ćƁõ�ħÁóĨ

èïé ĕėďēĚŁƅƊŻxÑÆuæèðé ēñëēðëēïŁƒÖƅƊŻxÑæèñé ēïëēðëēñłĒïëĒðëĒñŀ¨2

èïé ĖčėďČŁƅƊŻxÑÆuæèðé ēñëēðëēïŁƒÖƅƊŻxÑæèñé ēïëēðëēñłĒïëĒðëĒñŀ¨2

2016年4月14日 計算科学技術 特論B 

Page 21: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

ƔƽljơǏƦLJǍƁ�ćƁõ�ħÁóĨ

èïé ďēĘčĖĕŁƅƊŻxÑÆuæèðé ĒĒñëĒĒðëĒĒïŁƒÖƅƊŻxÑæèñé ĒĒïëĒĒðëĒĒñłĒïëĒðëĒñŀ¨2

èïé �·ƓŠźƅƊũƈĽŊ��׳ĒïëĒðëĒñŁ?ĩĮŀ�AįĻģŏƏæ

èðé ĒïëĒðëĒñŁ!&łľĤĿĹĻģŏħƖæ

2016年4月14日 計算科学技術 特論B 

��

ƯǏƫ*1Ɓõ�

èïé ĒïŁF½ƉDªƉ.�ŀĺģĻÆņŏèïé ėčĘęĕŠźƅƊũƈļÔ#ƕĒďĝħō �ĮŐĻģŏ

èïé ėčĘęĕŁÃQÓŀŢƀƈŻıŏ

2016年4月14日 計算科学技術 特論B 

Page 22: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

èïé ėčĘęĕ�ŁÔ#ƕĒďŒÆņĶ¨tƎŻƇťţ!&ĮŐĻģŏĨ$m

ƯǏƫ*1Ɓõ�

2016年4月14日 計算科学技術 特論B 

��

ƨơǏLjƹljƮƕƁõ�

ŻƇťţŁƇƊůæŖƈŵƃƈţłæ��įĻģĿģæŸƊśW¬�Ƒç

BL L I B IF L BPBI

1KKGF F I KBL L I B IF LM

4G KMBAM :59 :59 % 418 :7 :7 % 418

) ( () . /./ - ( . 1KKGF F I

( / ( (/ ( () * / - ( . L BMM( ( /. ( ( (/. * . ( () - (/* L BMM (

* - ( . ( )* ( )-- * .) */-* - ) . L BMM( ) ( )(*/ ( * * . /)(/ - )()) L BMM )

:B EL ODEKO :B EL ODEKO4G KMBAM EFK62% % 418 7:3

)( ))/. ( )(- *. -/*- 1KKGF F I

. .. ( ).( *. -/) L BMM( . - ( -( *. - - L BMM (

* - . ) - ( - ( *. -/. L BMM( ) . ( -*() *. . / L BMM )

4532��+"�6)*(!"% � *!(*&�'� 6&('",(*6�6� *!(*&�'� 66666�������������������������������������������������������������������������������������66666666�*(� ++6�6666�������������������������������������������������������������������������������������

6666666666666�%�)+ ��+�666666�+ *�+�6666�0+, &�+�666666666��%%6666����������������������������������������������������������6666666666666666� ����66666������6666666������666666666666�6666�%%6�66666666666666666������666666������6666666������6666666666���6666* +"�6�66666666666666666�����666666������6666666������6666666666���6666"', *)6�66666666666666666�����666666�����6666666������6666666666���6666)+"'.6�66666666666666666�����666666������6666666������6666666666���6666*)*#6�

�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������6)*(!"%

�������������������������������������������������������������������������������������66666666�*(� ++6�6666�������������������������������������������������������������������������������������

6666666666666�%�)+ ��+�666666��",�+�666666666�0, 666666666��%%6�6666666���6666666����6666�������666�����0, ��6666�����������������������������������������������������������������������������������������������������������������������������������������66666666666666666������6666666�����666666666����66666666�����666666666���6666666666 ��6666666666 �666666666���6666�%%6�6666�����������������������������������������������������������������������������������������������������������������������������������������66666666666666666������6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"��(&&�*�'$�66666666666666666������6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"��(&&�+"1 �66666666666666666�����6666666������6�� �������666666666��666666666666�666666666666�666666666666�666666666��6666&)"�"* �.�66666666666666666��� �6666666������66���� ���666666666��666666666����6666666666 ��6666666666 �6666666666���6666&)"�+ '��66666666666666666������6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"�!"'�%"1 �66666666666666666������6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"�"'",�66666666666666666����� 6666666������6666666������666666666��666666666��666666666666�666666666666�666666666666�6666&)"�/�",�66666666666666666������6666666�����666666��� � 66666666666��66666666666��666666666666�666666666666�666666666666�6666&)"��%%* �-� �66666666666666666�����6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"���**" *�66666666666666666������6666666������666666�������666666666666 666666666666 666666666666�666666666666�666666666666�6666&)"����+,�66666666666666666������6666666������666666�������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"�* �-� �

6666666666666�%�)+ ��+�666666��",�+�666666666�0, 666666666��%%6�6666666���6666666����6666�������666�����0, ��6666�����������������������������������������������������������������������������������������������������������������������������������������66666666666666666������6666666������666666666����666666666�666666666����6666666666���6666666666���666666666���6666* +"�6�6666�����������������������������������������������������������������������������������������������������������������������������������������66666666666666666������6666666������6�� �������666666666���666666666666�666666666666�666666666666�666666666���6666&)"�"* �.�66666666666666666��� ��6666666������66����� 666666666���6666666666��6666666666���6666666666���6666666666� �6666&)"�+ '��66666666666666666�����6666666������6666666������666666666���666666666���666666666666�666666666666�666666666666�6666&)"�/�",�

�·��ŁčđĉĕėoÚæ��ļïõėčċ

èïé ƓŻƇťţŁ�DƏŗŕƊśţŝƊƄƈŜ�D

2016年4月14日 計算科学技術 特論B 

Page 23: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

ƨơǏLjƹljƮƕƁõ�

BL L I B IF L BPBI

1KKGF F I KBL L I B IF LM

4G KMBAM :59 :59 % 418 :7 :7 % 418

)/ ) * .) ** (). ( (- */ ) (- - (- 1KKGF F I

)/ ) * ( / * ( ( (- * * ( - (-(. L BMM)/ ) - ( / (- ( (-/ * / ( - ( - L BMM -)/ ) * ( / . ( ( (. * ./- - (- L BMM .

0

:B EL ODEKO :B EL ODEKO4G KMBAM EFK62% % 418 7:3

)/ ) * ( . - ( ( )* */ ) /( 1KKGF F I

)/ ) * . --) ( ( . */ )) ) L BMM)/ ) - . -) ( ./ */ ) *- L BMM -)/ ) * . ** ( . */ ) - L BMM .

0

�4532��+"�6)*(!"% � *!(*&�'� 6&('",(*6�6� *!(*&�'� 66666�������������������������������������������������������������������������������������66666666�*(� ++6�6666�������������������������������������������������������������������������������������

6666666666666�%�)+ ��+�666666�+ *�+�6666�0+, &�+�666666666��%%6666����������������������������������������������������������6666666666666666������66666��� ���6666666�����666666666666�6666�%%6�6666666666666666�����66666��������6666666������6666666666���6666* +"�6�66666666666666666�����666666�����6666666������6666666666��6666"', *)6�6666666666666666����666666�������6666666������6666666666���6666)+"'.6�66666666666666666���666666�������6666666������6666666666��6666*)*#6�

�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������6)*(!"% �������������������������������������������������������������������������������������66666666�*(� ++6�6666�������������������������������������������������������������������������������������

6666666666666�%�)+ ��+�666666��",�+�666666666�0, 666666666��%%6�6666666���6666666����6666�������666�����0, ��6666�����������������������������������������������������������������������������������������������������������������������������������������66666666666666666�� �6666666������666666666����66666666�� �66666666��� 666666666���666666666��666666666����6666�%%6�6666�����������������������������������������������������������������������������������������������������������������������������������������66666666666666666������6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"��(&&�*�'$�66666666666666666������6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"��(&&�+"1 �66666666666666666������6666666������6�� �������666666666���666666666666�666666666666�666666666666�666666666���6666&)"�"* �.�66666666666666666��� 6666666������66����� �666666666����666666666� �666666666���666666666��6666666666���6666&)"�+ '��66666666666666666�����6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"�!"'�%"1 �66666666666666666����6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"�"'",�66666666666666666�����6666666������6666666������666666666���666666666���666666666666�666666666666�666666666666�6666&)"�/�",�66666666666666666����6666666�����666666��� � 66666666666��66666666666��666666666666�666666666666�666666666666�6666&)"��%%* �-� �66666666666666666������6666666������6666666������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"���**" *�66666666666666666������6666666������666666�������666666666666 666666666666 666666666666�666666666666�666666666666�6666&)"����+,�66666666666666666������6666666������666666�������666666666666�666666666666�666666666666�666666666666�666666666666�6666&)"�* �-� �

6666666666666�%�)+ ��+�666666��",�+�666666666�0, 666666666��%%6�6666666���6666666����6666�������666�����0, ��6666�����������������������������������������������������������������������������������������������������������������������������������������66666666666666666��� �6666666������666666666����666666666����666666666��6666666666���6666666666 ��666666666��6666* +"�6�6666�����������������������������������������������������������������������������������������������������������������������������������������66666666666666666����6666666������6�� �������666666666� �666666666666�666666666666�666666666666�666666666� �6666&)"�"* �.�66666666666666666��� 6666666������66�����������666666666� �666666666���6666666666���6666666666 ��6666666666��6666&)"�+ '��66666666666666666�����6666666������6666666������666666666� �666666666� �666666666666�666666666666�666666666666�6666&)"�/�",�

6666666666666�%�)+ ��+�666666��",�+�666666666�0, 666666666��%%6�6666666���6666666����6666�������666�����0, ��

ŻƇťţŁƇƊůæŖƈŵƃƈţłæ��įĻģĿģæŸƊśW¬�Ƒç

�·��ŁčđĉĕėoÚæ��ļòîėčċ

èïé ñðŻƇťţŁ�DƏŗŕƊśţŝƊƄƈŜ�D

2016年4月14日 計算科学技術 特論B 

��

ƨơǏLjƹljƮƕƁõ�

ŗŕƊśţŝƊƄƈŜļƓŻƇťţħōñðŻƇťţļ��ļïõėčċħōòîėčċŅE²oÚĨ<?Ə§ðíó�Ł<?Əæ

�·ƓŠźƅƊũƈŊ3yŁ�4Əæ

įħįŸƊśW¬�łĞƑƋļ=őōIJƏæ

ƐŻƇťţŁ�¤×Ĩ3İĿōE²oÚĨNńŏļŸƊśW¬�Ŋ±ĸŏłIJƖæ

ÆuŁ¨tŗŕƊśţŝƊƅ�DļĢĹĶĨñðŻƇťţļł��ŁŖŧƆƊšƂƈ7iĨðíó�ŀÀDĮŐĻģĶĨ$mƏæ

ţŝƊƃŷƄŬŕĽįĻł¯@ļĢŏĨ!ħĹĶƏæ

ŇĶƇƊůŖƈŵƃƈţŊ¯@ļĢŏĭĽĨ!ħĹĶƏæ

�#)Ł»�ļł6ãĿįƏ

2016年4月14日 計算科学技術 特論B 

Page 24: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

��

�#�W!sè¨té

�����G

E²oÚæƉţŝƊƃŷƄŬŕ

�¤ƉÏ��W

�¤ƉÏ�¸¡Ŏ

C��#¯@ Ăŀ��

řƊæŲƅ

Ĝ

Ĝ¯@

¯@

¯@

%ܶÚ

NضÚ

}L¾¤

¦n�¼

C��#

C��#

C��#

Ăŀ��

Ăŀ��

Ăŀ��

Ĝ

Ĝ

2016年4月14日 計算科学技術 特論B 

) (

��źƇŪśA ��źƇŪśB

��źƇŪśC ��źƇŪśD

AB

C D

2016年4月14日 計算科学技術 特論B 

Page 25: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

�¤

?8�

?8�

ÞdÏ�

ÞdÏ�

1000Proc.

8000Proc. ŻƇťţ�1

ŻƇťţ�1

�¤

) (

ƇƊůŖƈŵƃƈţŁÁ�

Ï�oÚŁÁ�

2016年4月14日 計算科学技術 特論B 

��

�,uÝ�ƁĦǀưNJƴƭƟ

2016年4月14日 計算科学技術 特論B 

Page 26: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

51

1 ŔŻƄŝƊšƂƈĽŴƊůŗŘŔŁ�#MŁŽţżŪũæèŔŻƄŝƊšƂƈŁ�#M�Êé

2 á�#ÓŁ}A

3 ?8Ï�ŀĦīŏ?ĩĿÏ�ŠŖŤĞÏ�7iŁ��

4 ŹƅųƊůŀĦīŏ?8Ï�Ł��

5 ÞdÏ�ŀĦīŏ?ĩĿÏ�ŠŖŤĞÏ�7iŁ��

6 ƇƊůŖƈŵƃƈţŁ��

�,uÝ�ƁǀưNJƴƭƟ

�Ňļ�įĶÆuŒElıŏĭĽŀŌŎ��źƇŪś�ŀ�#W¬�Ł6ãĨĢŏĨ�¸ĮŐŏƏæĴŐōŒ!sıŏĽķģĶģ��ŁƔ�ŀ!äĮŐŏĽ«ĥŏƏ

2016年4月14日 計算科学技術 特論B 

52

ƔƽljơǏƦLJǍžƶǏƱƗƘƔƁǂƨǁƭƬ

§�bĐƒ�ũË�9µíÎƁPBƒÜŪƏǓĦ

ĚXƁƙƴNJƞǏƷǍƱ�,ƁƇ]æŲƐżŨƏž�\Ħ

9X��ƀ`ų�T�ƁĚXį�žÜŪƏžƙƴNJƞǏƷǍƱƁ�ƂǒūūƌŶ9X�ǚŀŔǖžſƏǓĦ

ŀĴĮĭĭĭĭſƍƙƴNJƞǏƷǍƱ�ƂįĭĭĭĭÄiŽŧƏǓĦ

űƁPBǒ�VŽƊįĭĭĭĭ�,ƆŽųŬ.ĊųſŨǓĦ

ą�ƁRVƋíÎƁÐiƒÜŪƏž�»�,Žĕ¹žſƏǓĦ

§�ÌŶƁ�Ɓ*1ƒÔƇBƑŵŸ�,6ŭtèžſƏǓĦ

òÒƂǘI½Ɓ÷ÛŽ]�ƒÂŴǓ

2016年4月14日 計算科学技術 特論B 

Page 27: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

53

Ĝ�,ČƁ¢Y

Ë�9µƔƽljơǏƦLJǍƁ(µƼnjƭƟijƵǍnjǏƛNJĞƁíÎČ*ƒ�ƀÂŴǓĦ��,ŽƨưnjǍƠƨơǏNJŽ­\ǓĦŴŽƀűƁ�,iŽƨơǏNJųżŨſŨǓ9JƂ ƿǏƧƀÂŴǓ

! BLAS Level3R�$����!  584:)8<@<?0&�^nelR#�!��

�BLAS Level3�HWK^nelQ( '2)MDNR�$���R���"Y��IK(7=:>9/)021��[ilhZa +p�S]k`dlRfmc���R���"o�S�$���R���"OCVp

��$���Q�DoXJEQ�KP%S��INDVFo���"F��IND

Vp�TOofmc�����*q.-,---��+TOR���IE�OGPELKFo

�����TO���F(TUoa_njgkb\F��IKp)�

���

���

���

���

���

����

����

����

����

����

����

�� �� �� ���

�����

���� ��

���

���

���

���

���

����

����

����

����

����

����

��������� ��

��� �������

0

2

4

6

8

10

12

14

16 32 64 128

[s]

�����

original:0calc.23axis:0calc.23axis:0comm.

6;.� A�B�

.3 HPCS2012

! BLAS Level3R�$����!  584:)8<@<?0&�^nelR#�!��

�BLAS Level3�HWK^nelQ( '2)MDNR�$���R���"Y��IK(7=:>9/)021��[ilhZa +p�S]k`dlRfmc���R���"o�S�$���R���"OCVp

��$���Q�DoXJEQ�KP%S��INDVFo���"F��IND

Vp�TOofmc�����*q.-,---��+TOR���IE�OGPELKFo

�����TO���F(TUoa_njgkb\F��IKp)�

���

���

���

���

���

����

����

����

����

����

����

�� �� �� ���

�����

���� ��

���

���

���

���

���

����

����

����

����

����

����

�����

���� ��

��� �������

0

2

4

6

8

10

12

14

16 32 64 128

[s]

�����

original:0calc.23axis:0calc.23axis:0comm.

6;.� A�B�

.3 HPCS2012

2016年4月14日 計算科学技術 特論B 

54

Ĝ�,ČƁ¢Y

Ë�9µíÎƁƔƽljŽƙƴNJƞǏƷǍƱ�,ƒ�¸ųżŨƏPBƁĜ�,Čŭ¢źżŨƏ�Ǔ

subroutine m_es_vnonlocal_w(ik,iksnl,ispin,switch_of_eko_part) | +-call tstatc0_begin | | loop_ntyp: do it = 1, ntyp | | | loop_natm : do ia = 1, natm ---------原子数のループ | | | +-call calc_phase | | | | T-do lmt2 = 1, ilmt(it) | | | | +-call vnonlocal_w_part_sum_over_lmt1 | | | | | +-call add_vnlph_l_without_eko_part | | | | | | subroutine add_vnlph_l_without_eko_part() | | | | | | | T-if(kimg == 1) then | | | | | | | | T-do ib = 1, np_e ---------エネルギーバンド並列部 | | | | | | | | | T-do i = 1, iba(ik) | | | | | | | | | V-end do | | | | | | | | V-end do | | | | | | | +-else | | | | | | | | T-do ib = 1, np_e ---------エネルギーバンド並列部 | | | | | | | | | T-do i = 1, iba(ik) | | | | | | | | | V-end do | | | | | | | | V-enddo | | | | | | | V-end if | | | | | | end subroutine add_vnlph_l_without_eko_part | | | | V-end do | | | V-end do loop_natm | | V-end do loop_ntyp end subroutine m_es_vnonlocal_w

2016年4月14日 計算科学技術 特論B 

Page 28: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

55

VNą�ƀūŰƏVŮſą�ƤƖƩǎą�I�

ą�ƂNjƖƮǍƦǏŭHĢƀſƏPBžƷǍƱgŭHĢƀſƏPBŭŧƏǓĦAƵǏƱŽƾƟưNJƯǏƫƒÖGųƨƛLjǏ�ƒ¤ƉǒƨƛLjǏ�ƒƵǏƱđŽŅŌŌŐʼnňŒŇʼnŴƐƃàŨƁƀǒ#ƵǏƱŽdVſƾƟưNJƒŅŌŌŐʼnňŒŇʼnųżŨƆŵƓŬǛĦűƁPBƂǒƌŰŨſƷǍƱgƒ«úųżŨƏűžƀſƏǓĦ�ċ6ŲƐŸVNą�ƁLjƖƼLjljƒ�źżŨƆŴŬǛĦ�ċſLjƖƼLjljž�ċ6ŲƐżŨſŨLjƖƼLjljŽƂ��uÝeŭº·ŴƏPBŭŧƏǓĦaŲſƯǏƫƒġÙƀVNą�ųżŨƆŵƓŬǛ

ƆžƉƏűžŭ)�Əą�ƂƆžƉżI�ƒ¬ƍŴ�ŽNjƖƮǍƦǏƴƭƟƒì«ŴƏűžŭŽŮƆŴǓĦVNą�LjƖƼLjljŽ>Ýſą�žC�ſ�ƒė}ą�ŽÞ�ųżŨƏƌũſPBŭŧƏǓĦuÝƁàŨVNą�LjƖƼLjljƁ�¸ƒ~WųƆŴǓ

���

Efficiency of Mapping to the Tofu network - Gram-Schmidt -

Optimal Mapping ! avoid some conflict among sub-communicators�� ����������selected Tofu specific communication algorithm

•  SiNW 19,848 atoms •  Grids : 320x320x120 •  Orbitals: 41,472 •  Total process number: 12,288

"  Grid space: 2,048(32x32x2) "  Orbital: 6

•  Torus Mapping :32x32x12�

1D Optimal 3D Communication Wati/Orbital 12.929 8.295 Communication Grobal/Orbital 17.118 3.726 Communication Global/Space 33.565 3.957 Computation 32.050 32.111

0.0##

20.0##

40.0##

60.0##

80.0##

100.0##

120.0##

Tim

e (s

ec.)� MPI_Bcast�

MPI_Allreduce�

2016年4月14日 計算科学技術 特論B 

56

ƻNJƵǏƱƀūŰƏVNą�Ɓº·

ĺĺŃƒƻNJƵǏƱŽ]�ŴƏ�Ƃu݃ãųů36ŲŵƏǓĦË�9µƔƽljơǏƦLJǍƁĺĺŃƒEƈ(µƼnjƭƟƁ�ƒcKƀÂŴǓĦ��,ŽƨưnjǍƠƨơǏNJŽ­\ǓĦŴŽƀűƁ�,iŽƨơǏNJųżŨſŨǓĦ

�,ÿƁĂ2ƀƌƎĺĺŃƒƻNJƵǏƱŽſů�ČƁƵǏƱƀĕƏűžŭ)�ƏPBŭŧƏǓĦòÒƂǘI½Ɓ÷ÛŽô�ŴƏǓĦķĻ¦Ɓ&ÆíÎƁƌũƀƻNJƵǏƱŽVNą�ƒ]�ŴƏtèŭŧƏíÎƂ¬ƍŴűžŭŽŮſŨǓĦŶƁPBƂǒĤĆſƶǏƱƗƘƔƔƦƨư�݃�¸ŴƏÌƁ`(ƒžƏǓ

! FFTA�#���! "� �

FFTJ�CNWRV@( $8)<7=A�#��A��!J��9;(.203/)&*,+��LTVSKP�'Y�B�#��A��!X�B�#��A��!>6HYFFTBXFFTWJ�7=7HY

���@BX����A��8��9;;DXMUOQVAEAFG�!8�78X%�@?H@<I��!8��:HY

�����

���

����

����

����

����

����

�� �� �� ��

����� ��

���

����

����

����

����

����

�����

����� ��

0

2

4

6

8

10

12

14

16

18

16 32 64 128

[s]

�����

original:0otheroriginal:0DGEMMoriginal:0FFT2:axis:0other2:axis:0comm.2:axis:0DGEMM2:axis:0FFT

-1(�4�5�

)) HPCS2012

2016年4月14日 計算科学技術 特論B 

Page 29: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

57

ė}ą�ƀūŰƏVŮſą�ƤƖƩǎą�I�

ė}ą�ŭƴƭƟƀſƏPBǒƔNJƣljƩǃƒé¾Ŵ�Žė}ą�ƒƋƉżųƆũűžŭ)�ƏPBŭŧƏǓĦ�ŪƃķĻ¦0(µƁnjǏƛLjƖƩ6ÌƁPBǓĦĄ7Éſ�,6ŭą�uÝƁv6ƒyůPBŭŧƏǓĦűƐƍƁòÒƂİI½Ɓ÷ÛŽô�ŴƏǓĦ

2016年4月14日 計算科学技術 特論B 

58

njǏƱƖǍƷLjǍƨƁº·

njǏƱƖǍƷLjǍƨƁº·ƂáŦſ9JŭŧƏǓĦË�ƂÐXƁíÎŽ�đºbƀƌƎÐXƁƷLjǍƨŭSƑƏƌũſPBǓĦ4¼ùâ*�ƒ=Ə�¦ÌáŦſx¦ŭÀÇŲƐżŨƏǓĦŶƁ�ƦƨƮǃƁTŭ9JžſƏPBƊŧƏǓĦòÒƂǗI½�Ĕƀ÷ÛŴƏǓĦ��Ɓ�Ƃ(µƼnjƭƟ£ƀƨơǏLjƹljƮƕƒ­\ųŸ�Ǔ

D�*/ 2"-1����4�"#%+;7�IUY8

^-`^

^ .` ._ .^ ._ .�NCTM

NICAM���2�# 20,&0[gl07 rl00agl14 rl07\�O��NC�DK��

XS02$1=Z[phystep,dynstep\�NCTM�53�P��

DVLZ�;.1��F@9����

? ^.`-1 NICAM phystep ��2�# 20NCTM

XS,&0 gl14[81920(2'\���� rd_driver!)02$1�DVLZ� 20QRH6�����

gl7agl13Z�NC����� rd_driver!)02$1�DVLZ�G<�� �W����

? ^.`-2 NICAM dynstep ��2�# 20NCTM

(2'J�A��� dynstep �DVLZ�A��:>����XS,&0 gl14[81920 (2'\��

��]DVLZ�BE�6�����

819202048051205 20 80 320 1280

2016年4月14日 計算科学技術 特論B 

Page 30: ÷Û è - RIKEN R-CCS...2016 年4月14日 計算科学技術 特論B ;r ß¼ øö c i È Äj Ü j Ó ... # W!s A¨t ' MT 66ã¹z @H 1 O AW AY9 R @ g ^ j n6ãE ²o @ G 6å #E²o @ Y

59

���

• ��#• ���!4��.8/7��40+1��-6-/P#

• ;FK>O@IN5��� �#• ��� �5�92"���5/75����:��-6-/P

• �3��#• )*&#(':�4"���5/75����5��:�-6-/P#

• ����5GCLDB<#• ����5GCLDB<� 40+1��-�:�-6-/P

2016年4月14日 計算科学技術 特論B