¡ h - RIKEN R-CCSRIKEN Center for Computational Science ) K 7 K % I 8 B K , Á : E $ K ' C I R...

31
RIKEN Center for Computational Science ĩŋķŋĥʼnĸłŋĬā ĚĺŅĤŋħŃʼnąR 2018年4月 国立研究開発法人理化学研究所 計算科学研究センター 運用技術部門 チューニング技術ユニット ユニットリーダー 南 一生 [email protected] ¡ąh ĩŋķŋĥʼnĸłŋĬāĚĺŅĤŋħŃʼnąR ĚĺŅĤŋħŃʼnąRa®%ÈÃÀRa®%Ä ĚĺŅĤŋħŃʼnąRa®%ÉÃÒÕ×)Ra®%Ä ĚĺŅĤŋħŃʼnąRa®%ąCÈ ĚĺŅĤŋħŃʼnąRa®%ąCÉ

Transcript of ¡ h - RIKEN R-CCSRIKEN Center for Computational Science ) K 7 K % I 8 B K , Á : E $ K ' C I R...

RIKENCenterforComputationalScience��

ĩŋķŋĥʼnĸłŋĬāÁĚĺŅĤŋħŃʼnąR�

2018年4月

国立研究開発法人理化学研究所計算科学研究センター�運用技術部門

チューニング技術ユニット�ユニットリーダー

南�一生[email protected]

¡�ąh�

• ĩŋķŋĥʼnĸłŋĬāĚĺŅĤŋħŃʼnąR�Á• ĚĺŅĤŋħŃʼnąR�a®%ÈÃÀ��R�a®%ÄÁ• ĚĺŅĤŋħŃʼnąR�a®%ÉÃÒÕ×) R�a®%ÄÁ• ĚĺŅĤŋħŃʼnąR�a®%ąC�ÈÁ• ĚĺŅĤŋħŃʼnąR�a®%ąC�É

��

��

• -;1;*:25;/"$<�• '38);,6:#��"$<�• ����#!%#����• �����#!%#���

��

��

ĩŋķŋĥʼnĸłŋĬāĆŔ

��

ĩŋķŋĥʼnĸłŋĬāĆŊŊŊ

ĩŋķŋĥʼnĸłŋĬÐ(¥öú���"ÁÁ

ùą_ą���ăĥʼnĸłŋĬĒĔĐãgďÿÀ¬Ãq$E\vu�R�ĀÈÇÇÇ���Äă��kÁ

u�R�ÁÌÇÁÖÓÜÞßàÁ��ÃÅÄÁ

ŊŊŊx6ąYK�­ĄëòĕåĩŋķŋĥʼnĸłŋĬæąB�ÃÅÄÏÈ�³ĄÌÇ�5��ąq$E\vu�í,�

��

1923LýʼnĶĽŪX=ď¨�o

1946LýENIAC��&ĠŃŨŗšŪʼn

2002Lý>�ŅŜšŦŪʼnýPf��h¹ĠņŪŖŪŃŨŗšŪʼn

2011LýĀ�āŃŨŗšŪʼn

ÚÞÙêóöøùú

ÝÙïóöøùú

ÚÙíóöøùú

2002LýPfĠŖňŃŨýPentiumIV

Þ×Ýæóöøùú40�

1976LýCRAY-1��&ĠņŪŖŪŃŨŗšŪʼn

25��

6250��

ĩŋķŋĥʼnĸłŋĬą}H

ü2011Lýõíôø÷òÝîéçëíâäèÓÚÝÙêóöøùú

2018Lýõíôø÷òßéçëíâäèÓÜÝÛÙêóöøùú

>

ĥʼnĸłŋĬāĆŔ

■ (

■ U■

Ćĭ2Ċ1ėĔ �(ŎŪʼnĜř

ŧŁţŝIJŞşŤğ�ĈþÓ

(ěřŧŁţŝğRėĚŎŪʼnĠ

!�IJ¢ĞėĚþŞşŤğgĈWďþÓ

ēİIJ ğg"đ "(

(

ŞşŤ

ÓŔŪŐŎĵņŀīŎĵņřŦŪĞĝ

ŔŪŐķĸĴ �4ĠŃŨŗšŪʼn

ĥʼnĸłŋĬāĆŔ

■ (

■ U■

Ćĭ2Ċ1ėĔ �(ŎŪʼnĜř

ŧŁţŝIJŞşŤğ�ĈþÓ

(ěřŧŁţŝğRėĚŎŪʼnĠ

!�IJ¢ĞėĚþŞşŤğgĈWďþÓ

ēİIJ ğ"đþg"đ "(

(

ŞşŤ

ÓŔŪŐŎĵņŀīŎĵņřŦŪĞĝ

CPUĠU 8� ≒ŃŨŗšŪʼnĠU 8�Ó

ěĂėĔf�Ó

■ UC

■ O V Ó

ŔŪŐķĸĴ ňŘŏķĸĴÔ¼,ĜĜĪğ#,Õ �4ĠŃŨŗšŪʼn

��

^ąĩŋķŋĥʼnĸłŋĬ

昔は、ベクトル機構などによって、1台のコンピュータを高速化

(

ŞşŤ

)(ÓŚŀŏť

ŎŪʼnĠĆĔħĮIJÓ�ħĜĩě!�đįÓ(ŵŶĜŞşŤIJ�i)

Śŀŏťon

■äíðÔîðÕŮñðÓ■ŞşŤÓ■çìÔ�"(ÕÓ

S

���

^ąĩŋķŋĥʼnĸłŋĬ

昔は、ベクトル機構などによって、1台のコンピュータを高速化

(

ŞşŤ

)(ÓŚŀŏť

ŎŪʼnĠĆĔħĮIJÓ�ħĜĩě!�đįÓ(ŵŶĜŞşŤIJ�i)

Śŀŏťon

■äíðÔîðÕŮñðÓ■ŞşŤÓ■çìÔ�"(ÕÓ

ĪČĠcNćzĉĞėĔıĊěġĂĮħĒijć

S

ŞşŤĆĭŎŪʼnIJħĜĩĚZėĚĉįĠġ

ĜĚĪCA

ČČćCA

���

ħʼnģņĺňĪĮĦą3¾

■ŞşŤġ�FfÆIJ�¿ďĞăĜ7ĐŞşŤŕŨŀğĴŀŇņěĈĞăÓ

■eġÛÙńĶŀťĉĭăQėĚăĔÓ■ďĆď+�:v`ć�ĆėĔĔĩx�<Ī½ĉx�¹MĜŞşĮ±¶U ġÄĮ6ėĚăĔ

ĿŀŅĜĞŋņ3¾x�<

メモリ インタリーブ

メモリ

メモリバンク (例は4バンク)

動作周波数が低い場合(昔)

���

ĿŀŅĜĞŋņ3¾

x�<

メモリ インタリーブ

メモリ

メモリバンク (例は4バンク)

動作周波数が高い場合

■ŞşŤġ+�:v`ćÒĉĞėĚĉįĜĪėĜQĘĜĞįÔÚÙÙÖÛÙÙńĶŀťÕÓ

■ŞşŤğrĤĚx�<ġ+�:v`ćÒĉĞįĜÒ¹ğĞėĔÓ

■Ďĭğ/J�řŧŇņĠS�,ğĬĮx�<ġäíðğĔĉĎij]²3 ĜĞėĔÓ

■�l�ğx�<ğrĤŞşŤĠŎŪʼn±¶ (ć�ĉĞėĔ

ħʼnģņĺňĪĮĦą3¾

���

ĿŀŅĜĞŋņ3¾

śťŋŃĴ

メモリ インタリーブ

メモリ

メモリバンク (例は4バンク)

動作周波数が高い場合(現在)

■ŞşŤġ+�:v`ćÒĉĞėĚĉįĜĪėĜQĘĜĞįÔÚÙÙÖÛÙÙńĶŀťÕÓ

■ŞşŤğrĤĚx�<ġ+�:v`ćÒĉĞįĜÒ¹ğĞėĔÓ

■Ďĭğ/J�řŧŇņĠS�,ğĬĮx�<ġäíðğĔĉĎij]²3 ĜĞėĔÓ

■�l�ğx�<ğrĤŞşŤĠŎŪʼn±¶ (ć�ĉĞėĔ

ħʼnģņĺňĪĮĦą3¾

ŃĴÚŃĴÛ

���

D�ŏx�<

メモリ インタリーブ

メモリ

メモリバンク (例は7バンク)

動作周波数が高い場合

■ŞşŤŕŨŀIJ@īďx�<ğ��đįŎŪʼnÃIJ@CĎĒĔÓ

■ďĆďČĠcNġonć¤ÊğĞĮÍ(ć@CđįÓ

■ħĔŃņŏũ�mĪÒĉĞįÓ■Śŀŏťoěġ`�ĠŕŨŀIJ]²ďĔÓ

■ ĖĞĨğeĠŚŀŏťoġČĠcNğĬĮů¥�ÔßŕĶŏÕ0�ĠŞşŤĴŀŇņěÒ㪺ŤĴŀŇņU IJG�ďĔÓ

■ ďĆďČČě´ĤĔĬĄğŃņŏũ�mũÍ(ÏěġÒ�ěĂį

ħʼnģņĺňĪĮĦą3¾

���

D�Őx�<

動作周波数が高い場合

■ŞşŤĠŕŨŀġ@īĎĞăÓ■ŎŪʼn�� (ĠÒ㾊ŌŅšIJŞşŤĜx�<Æğ©ĊįÓ

■ŎŪʼnIJĞįĤĉľŠŌŅšğ�ĈŎŪʼnIJ '�đį쪺ŤĠŎŪʼn�� (Ġ�¯IJ£ĄÓ

■ČĄđįČĜěx�<Ġ (IJ�ă$įÓ

■ BĉĠņļţŪoġČĠcNIJ1ėĚăįÓ■ ľŠŌŅšţĶŨÔ`.Ćĭ`�ŕĶŏÕ0�ĠŞşŤĴŀŇņěĂį

ÛpľŠŌŅš

ÚpľŠŌŅš

メモリ インタリーブ

メモリ

ħʼnģņĺňĪĮĦą3¾

���

■+�:v`IJ�ċįěÍ(ć9Ĉ�ćįÓ■+�:v`ĠÈ�IJ³ąĚăįÓ■ŞşŤķĺŪť;ÐĪĂĮ�4ĠŃŨŗšŪʼnĠx� (IJ�ċĚĪŞşŤĠ (ćµăĘĆĞă

�-ąĥʼnĸłŋĬą�y´|

ùôĀŌÁ

ħʼnģņĺňĪĮĦą3¾

a§ąĩŋķŋĥʼnĸłŋĬ

(

ŞşŤ

■äíðÓ■ŞşŤÓ■ çìÔ�"(ÕÓ

S .Ó

a§ąĩŋķŋĥʼnĸłŋĬ

たくさんのコンピュータをつないで、システムとして一体で動かす

(

ŞşŤ

■äíðÓ■ŞşŤÓ■ çìÔ�"(ÕÓ

■ĶŨʼnŪŃŒŀŏÔ[�onÕ

■æíðØĴŀŇţŦŪʼnÓÔ)¹<ųĂėĔĮþĞĆėĔĮÕ

ĶŨʼnŪŃŒŀŏ

(

S .Ó

5ÿĠŃŨŗšŪʼnŴĀœŪŐā

ŞşŤġI�ÓÔCAĕĆĭÕ

���

ĥʼnĸłŋĬÃĵŋIJÄĂéöĘþăñ

(

ŞşŤ

ĶŨʼnŪŃŒŀŏ

œŪŐ

���

ĥʼnĸłŋĬÃĵŋIJÄĂéöĘþăñ

(

ŞşŤ

(

ŞşŤ

ĶŨʼnŪŃŒŀŏ

G. Ó

œŪŐ œŪŐ

���

ĥʼnĸłŋĬÃĵŋIJÄĂéöĘþăñ

(

ŞşŤ

(

ŞşŤĶŨʼnŪŃŒŀŏ

œŪŐ œŪŐ

(

ŞşŤĶŨʼnŪŃŒŀŏ

(

ŞşŤ

ĶŨʼnŪŃŒŀŏ

œŪŐ œŪŐ

ŅņōŝĜďĚ��ě+ĉ Ŭ�ĘĠ�IJīįþĔĉĎijĠ�ġ�ăğ»^ďĚ#YďĂėĚ|ęĊįŭ

���

ĐýāĐýāãúðõęąĥʼnĸłŋĬÃĵŋIJÄĂéöĘþăñ

IP

IP

GÉġŔŪŐŎĵņŀġþħĜĩį

���

ÌÇÝáÍÇÝą¯GĄ

üăčĄåæą9/ĆŔ

���

ÌÇÝáÍÇÝą¯GĄ

üăčĄåæą9/ĆŔ

���

������

������

������

������

������

������

ÌÇÝáÍÇÝą¯GĄ

üăčĄåæą9/ĆŔ

���

ü�ĄĈāþąÒÕ×íã

ôĖûòI=ħĩįľĀÒÕ×í¼�ĄZ¶÷ĕāŊŊŊ

ŏJ

üħĩįľ� Ā�ĕāã

��

ÒÕ׹Z¶wĘVêĕôāĆgďÿ±�

��

1940J'ćąENIACą~9Áa�ĆħʼnģņĺňĪĮĦą_ÁĻĢıņ/CISC/RISC/ĩŋķŋĩğń��äăĚŋĠįĢĭŁí~9Áùą_Ću�4Ę:đ÷ôāĄĒĔÀ¬�yĘCxŎÁĿŀŅĜĞŋņ3¾+ĉ¸"ō$�2p\Ę�óēĖăè3¾ĄĒĔħʼnģņĺňĪĮĦą´|āăýúŎÁùĖēĄĒĔĩŋķŋĥʼnĸłŋĬí��ĺňĪĮĦĚŋĠįĢĭŁċā;%

ĩŋķŋĥʼnĸłŋĬĄþèÿČāďĕā

ĩŋķŋĥʼnĸłŋĬĆ�þąĵŋIJąiTāöÿĆ`«ąĥʼnĸłŋĬā8d�ĄĆ;ėēăèíŊŊÁıŋĬņāöÿą���"Ŋu�R�íîėďÿÀèÁùąúďĄĆÀ¬ăěʼnĬŋĥĴĢıí�oõĖĕÁČúħĩįľıŋĬņāöÿąÀè�¸"R�ŊÀ�½RíÀèŇĻņĀ�oõĖĕ

��

ĚĺŅĤŋħŃʼnąÁR�āĆŔ

���

ĩķĥʼnĆħĽłŇŋħŃʼnĄ�é

PeąÁ�@Ć

ĥʼnĸłŋĬC¿ÁÃħĽłŇŋħŃʼnÄÁ

C¿Á

y Á

�őą�@

�@Ąþèÿ

���

10-10m

t�ĠķĵťņĠ�čĜŅŜšŦŪŅŢŨğĬį-

�ģĠ®~

ÌďăCs�­Ġ¦dþħĔq�Ğ4ÑĠ¼°ũOMĠwğĬįs­ģĠ®~

�:j>Îv+Ġ>ÎvŅŜšŦŪŅŢŨþnº}Ġ�ÎŅŜšŦŪŅŢŨIJ�Ĩ6ıĒ

ĔÇyģĠ®~

p��ĠŎŕĶņ��ĠŅŜšŦŪŅŢŨğĬįĹŦŀŏ

ŧőŀņģĠ®~

ŇťŧŪņ#¦Á�ĠŅŜšŦŪŅŢŨğĬįE�ĞŕĶĻ{bĠ\��ĹŒťĿŪģĠ®~

10-8m

100m

102m

107m

1021m

� �ăĚĺŅĤŋħŃʼn

���

xąĩķĥʼn {ą·öõ

現代のプロセッサx�<

ÛpľŠŌŅš

ÚpľŠŌŅš

メモリ

現代のスーパーコンピュータシステム

���

xąĩķĥʼn {ą·öõ

'38);,6:#�����&���

39.0+#����&���

System Board

Rack

System

���Ņņōŝ¾�ª�

¬a�V

�lĠ¦Â

ŁţņĵŌŀņ!�

řŧŊŀŅŢŨRUN

ŎŕŌŁŃŨŖĶť

řŧŁţŝ�V

Ë_,

FN,

�¬n�

;ЩF

ŔŪŐķĸĴ

Å�ũG¢�?

ŃŨŖĶţ

řŧŁţŝ

§«

¨��Dýýýýýýýýý¨�o�D

24

�¬ğTGĞ#ĆĮûīđăŃŪŎĵŨŁ

�#39(74:(�

���Ņņōŝ¾�ª�

¬a�V

�lĠ¦Â

ŁţņĵŌŀņ!�

řŧŊŀŅŢŨRUN

ŎŕŌŁŃŨŖĶť

řŧŁţŝ�V

Ë_,

FN,

�¬n�

;ЩF

ŔŪŐķĸĴ

Å�ũG¢�?

ŃŨŖĶţ

řŧŁţŝ

§«

¨��Dýýýýýýýýý¨�o�D

24

�¬ğTGĞ#ĆĮûīđăŃŪŎĵŨŁ

�#39(74:(�

�#����

演算3

u�4

u�4ĄªlĄ�"öªlC�

演算2

演算1

���Ņņōŝ¾�ª�

¬a�V

�lĠ¦Â

ŁţņĵŌŀņ!�

řŧŊŀŅŢŨRUN

ŎŕŌŁŃŨŖĶť

řŧŁţŝ�V

Ë_,

FN,

�¬n�

;ЩF

ŔŪŐķĸĴ

Å�ũG¢�?

ŃŨŖĶţ

řŧŁţŝ

§«

¨��Dýýýýýýýýý¨�o�D

24

�¬ğTGĞ#ĆĮûīđăŃŪŎĵŨŁ

�#39(74:(�

�#����

演算3

u�4

u�4ĄªlĄ�"öªlC�

演算2

演算1

�����ÃÈÄùąČČC�÷ĕāœÚÜÞÚÛ

演算1 演算2

ÃÉÄu�ĘÊþąĩÁâįŋĨĄ�!÷ĕÁ

演算i

ÃÊÄ��Ą��ĀîĕĒéĩĤĨłŋŅʼnģÁÁÁâÁÃËÄŐ�ąu�£tĘ�è��ĄC�ÁÃÌÄŒÚÜÞÚÛĀC�,Á

ÃÍÄu�Ę�ìð�!ö�\ąu�£tĘÁââ��Ą$�öR�ĚĮĺ

���Ņņōŝ¾�ª�

¬a�V

�lĠ¦Â

ŁţņĵŌŀņ!�

řŧŊŀŅŢŨRUN

ŎŕŌŁŃŨŖĶť

řŧŁţŝ�V

Ë_,

FN,

�¬n�

;ЩF

ŔŪŐķĸĴ

Å�ũG¢�?

ŃŨŖĶţ

řŧŁţŝ

řŧŁţŝ

�¬ğTGĞ#ĆĮûīđăŃŪŎĵŨŁ

Ò�%,ũÒU ŃŪŎĵŨŁ

§«

¨��Dýýýýýýýýý¨�o�D

24

• ĚĺŅĤŋħŃʼną¤��RĘMî�÷Á

• ĺňĪĮĦą) R�ĘMî�÷Á

��#39(74:(��-1*:&����

��Ņņōŝ¾�ª�

¬a�V

�lĠ¦Â

ŁţņĵŌŀņ!�

řŧŊŀŅŢŨRUN

ŎŕŌŁŃŨŖĶť

řŧŁţŝ�V

Ë_,

FN,

�¬n�

;ЩF

ŔŪŐķĸĴ

Å�ũG¢�?

ŃŨŖĶţ

řŧŁţŝ

řŧŁţŝ

�¬ğTGĞ#ĆĮûīđăŃŪŎĵŨŁ

Ò�%,ũÒU ŃŪŎĵŨŁ

§«

¨��Dýýýýýýýýý¨�o�D

24

• ĚĺŅĤŋħŃʼną¤��RĘMî�÷Á

• ĺňĪĮĦą) R�ĘMî�÷Á

��#39(74:(��-1*:&����

ŊİŋĬĘ.ĺňĪĮĦċ�!ÁŊ�yĘ.ĺňĪĮĦċ!NÁŊĺňĪĮĦ³Āą«�Ę�¨ÁŊĠŁĮħłąb# {ĺňģńĽʼnģÁŊu�4b# {ĺňģńĽʼnģÁŊĿŀŅR�b# {ĺňģńĽʼnģÁŊĥʼnķěńb# {ĺňģńĽʼnģÁ

��

ĺňģńļŋĆãĺňĪĩ³ą��RĘS¢öÿ��%öōČúĹňĪĩnąİŋĬą�[ĘS¢öÿĺňģńĽʼnģ÷ĕôāíQ�āăýúŎÁ

ùé÷ĕôāĄĒĔ\&ìē\�Ą+ĊĺňĪĩ³ą��RĘa=´ {öú¤À¬��íCx,�āăĕÁ

ČúħʼnģņĺňĪĮĦąR�Ęa=´�èîĕĺňģńľąĭłŋijʼnģĐQ�āăĕÁ

ĐöħʼnģņĺňĪĮĦąR�ąÈÂöì�øăòĖćō��%õĖÿèÿĐħĩįľıŋĬņĀĐÈÂąR�

ĚĺŅĤŋħŃʼnąR�ĄþèÿČāďĕā

���

ĩŋķŋĥʼnĸłŋĬą>"�ąĢp��ĠŎŕĶņÓ��ĠŅŜšŦŪŅŢŨ

úðõęą*?Ę{èúħĽłŇŋħŃʼn

���

ĩŋķŋĥʼnĸłŋĬą>"

ķīĥʼnĀÈÇÇJììĕ��

�ąĢp��ĠŎŕĶņÓ��ĠŅŜšŦŪŅŢŨ

���

ĩŋķŋĥʼnĸłŋĬą>"

ķīĥʼnĀÈÇÇJììĕ��

Ę�ýÿÁÎÊÇÇÇ�Áą¬LĀC�

�ąĢp��ĠŎŕĶņÓ��ĠŅŜšŦŪŅŢŨ

���

ĩŋķŋĥʼnĸłŋĬą>"

ķīĥʼnĀÈÇÇJììĕ��

']Ā�ėĕÁ

Ę�ýÿÁÎÊÇÇÇ�Áą¬LĀC�

�ąĢp��ĠŎŕĶņÓ��ĠŅŜšŦŪŅŢŨ

���

À��%ąúďą±�v

���

¨�fÆ

·p¨�

�%¨�

¨�fÆ

ùĐùĐ��%āĆŔÃÈÄ

���

¨�fÆ

řŧŇŌńů

¨�fƸ�fÆ ¸�fÆ

¸�

¸�

¸�

řŧŇŌńŰ

řŧŇŌńű

řŧŇŌńŲ

ùĐùĐ��%āĆŔÃÉÄ

���

¨�fÆ

řŧŇŌńů

¨�fƸ�fÆ ¸�fÆ

¸�

¸�

¸�

řŧŇŌńŰ

řŧŇŌńű

řŧŇŌńŲ

ěĈįĕĊ7ĐÓ¨�fÆÓ

ÔŧŪŐĶŨŕţŨņÓIJ"ĎĞăÕ

ùĐùĐ��%āĆŔÃÉÄ

��

¨�fÆ

řŧŇŌńů

¨�fƸ�fÆ ¸�fÆ

¸�

¸�

¸�

řŧŇŌńŰ

řŧŇŌńű

řŧŇŌńŲ

ěĈįĕĊ7ĐÓ¨�fÆÓ

ÔŧŪŐĶŨŕţŨņÓIJ"ĎĞăÕ

¸�fÆIJ"kįĕĊKĎĉđįū

ùĐùĐ��%āĆŔÃÉÄ

��

�%¨�ěĈĞăÀ#(1�) �%¨�ěĈįÀ#Ôàà�Õ

ùĐùĐ��%āĆŔÃÊÄ

���

�%¨�ěĈĞăÀ#(1�) �%¨�ěĈįÀ#Ôàà�Õ

1+0.99=1.99�

ĥĦ50�

100 řŧŇŌń

ùĐùĐ��%āĆŔÃÊÄ

���

�%¨�ěĈĞăÀ#(1�) �%¨�ěĈįÀ#Ôàà�Õ

1+0.99=1.99�

ĥĦ50�

����Āîăè¯�ù��¯ÄĘ´ĔăðEõð÷ĕŌ

100 řŧŇŌń

1+0.099=1.099�

ĥĦ91�

1000 řŧŇŌń

Q�ă��LĘ��÷ĕŌ

ùĐùĐ��%āĆŔÃÊÄ

Q�ă��LĘ��÷ĕāĆŔ

���

»7�! *?�!

Ŋ*y�ĄĿĮħł\��ĄĆ�!ĀîăèÁ

ŊCµ�ĄĆùęăĄ�!÷ĕā«�ćìĔĄăĕÁ

Ŋ��ąUºĀ�!\Ę��Đĕ�í±�Á

ÃÈÄ�îúèĿĮħł\Ę�BöÃÉÄC�_³Ę��ĐĕÁ

ÃÊÄ�îúè_³Ę�BöÃËÄ�!\Ę�B÷ĕÁÃÌÄ�!\í<÷ïĕ9/ō��\ąW=Ęf�Á

ÃÌÄĄþèÿĆ�ÿąĤŋĩĀĀîĕ�ĀĆăèíOą¡�ĀįĢijĮĢĘ��÷ĕŎ

Ŋ*y�Ą*?\��ĄĆ�!ĀîăèÁ

ŊCµ�ĄĆùęăĄ�!÷ĕā«�ćìĔĄăĕÁŊOĆ»7�!ā0jÁ

���

¹��¯í3¾Ąăĕ9/

»7�!ą9/ōA�Ą»7�!õĖÿèĖć¹��¯í}z÷ĕ9/ĆFăèŎÁ»7�!õĖÿèă°�đ�yí��ă��¯Ąmĕ9/çĔŎÁČú�c�yĄ�!õĖÿèăè�yímýÿèĕ9/ĐçĕŎ� �ĄĆ«�įŋĹņą�T�ŎÁ²?��ąĚĺŅ�Ā»7�!ĀăðĝĴņġŋĶʼnIJ���Ę�{öÿèĕ9/Ć¹��¯ímĕ9/íçĕŎ

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

���

) R�1�ąúďą±�v

���

ŞşŤķĺŪť;Ð

üeĠ¨�oġŞşŤĠŎŪʼn�� (Ĝx�<Ġ (ćŕţŨņďĚăĔ

ŞşŤ

ŎŪʼn

ĺňĪĮĦą) R�ĘMî�÷ÃÈÄ

• ��Ġ¨�oġx�<Ġ (ćÒĉĞĮŞşŤĠŎŪʼn�� (ć�H�ğ�¯ďĚăį

x�<

• ĆĘĚġ���īřŧŁţśŪġ}�şŎťNğTGğ��ğřŧŁţŜŨŁđįČĜć�¡�ěĂėĔ

���

ÑÆÓ�íEõè��

ãØå�Óá�+Ã(Byte)/x�Ã(Flop) =2N2/2N3

=1/N

×=

�����ą��

2N3�Ġx� N2�ĠŎŪʼn N2�ĠŎŪʼn*y�ĄĆÔí=îè�Eõă�

ÃØÄ ÃÙÄ

���

ãØå�Óá�+Ã(Byte)/x�Ã(Flop) =(N2+N)/2N2

≒1/2

��ĻĢıņ�ą��

2N2�Ġx� N2�ĠŎŪʼn N�ĠŎŪʼn *y�ĄĆÈÆÔĒĔ=îă�

×=

ÃØÄ ÃÙÄ

ÑÆÓ�í=îè��

��

x�<

ũŎŪʼn�� (ĠÒ㾊ŌŅšIJ©ĊįÓũľŠŌŅšğ�ăĔŎŪʼnIJ�=Ī '�ďÓýx�IJ¢ĞĄ ũČĄđįěx�<Ġ (IJ.#�ă$į

ýŞşŤķĺŪť;ÐģĠH!

ŞşŤ

ŎŪʼn

ÛpľŠŌŅš

ÚpľŠŌŅš

ŎŪʼn

ŎŪʼn

'�

�ąĢ¢%¢%�Ó(2N2�ĠŎŪʼně2N3�Ġx�3)

(*1)x�Ã(Flop) ğrĤÓŎŪʼnĠ�+Ã(Byte)ćKĎă¨�

ĀĴřŤłŪŅŢŨć¥uÓđįByte/Flop�ć�ăāʼnĶřÓ

Ġ¨�(*1)

ľŠŌŅšĠi*'�

ĺňĪĮĦą) R�ĘMî�÷ÃÉÄ

��

ãØå�Óá�+Ã(Byte)/x�Ã(Flop) =2N2/2N3

=1/N

×=

�����ą��

2N3�Ġx� N2�ĠŎŪʼn N2�ĠŎŪʼn*y�ĄĆÔí=îè�Eõă�

xCąĚĺŅĤŋħŃʼnĀĆÔíçĕ�Lą=îõĄăĕāĿŀŅ°��ĄĆÃØÄĆĠŁĮħłĄ�ýÿĐÃÙÄĆ�ēăè�āăĕ

ÃØÄ ÃÙÄ

×=ÃØÄ ÃÙÄ

ùôĀ��ĘE��ĄĹňĮĢ�!öÃØÄĐÃÙÄĐĠŁĮħłĄ�ĕĒéĄöÿ

ĠŁĮħł�ąİŋĬûòĀ��÷ĕĒéĄ÷ĕ�ĀR�1�ĘCx÷ĕŎÁ

�LĿŀŅìēXýÿðĖćōĠŁĮħł�ĄİŋĬíçĕúďĄōl5ìēĆ

İŋĬ¦©_³í�èĠŁħłąĚĢĪĩ_³ûòĀsĎúďĄu�_³í

�ðÿsĎŎ

ĺňĪĮĦą) R�ĘMî�÷ÃÉÄ

���

x�<

ũ '�"kĞă;ÐĪĂįÓũČĄĞįx�<Ġ (IJ.#�ă$įć"kĞă

ýĜġ§ėĚĪũũũũ

ŞşŤ

ŎŪʼn

ÛpľŠŌŅš

ÚpľŠŌŅš

ŎŪʼn

ŎŪʼn

'�(*2)x�Ã(Flop) ğrĤŎŪʼnĠ�+Ã(Byte)ćCĈă¨�

ĀĴřŤłŪŅŢŨć¥uÓđįByte/Flop�ćÒăāʼnĶřÓ

Ġ¨�(*2)

ľŠŌŅšĠi*'�ćÓÌďă

ĺňĪĮĦą) R�ĘMî�÷ÃÊÄ

���

ãØå�Óá�+Ã(Byte)/x�Ã(Flop) =(N2+N)/2N2

≒1/2

��ĻĢıņ�ą��

2N2�Ġx� N2�ĠŎŪʼn N�ĠŎŪʼn *y�ĄĆÈÆÔĒĔ=îă�

×=

ÃØÄ ÃÙÄ

��ĘE��ĄĹňĮĢ�!öÿÃØÄĐÃÙÄĐĠŁĮħłĄ�ĕĒéĄöÿĐ� {ą

L/èíEõèúďĄR�1�ĆĀîăèŎÁ

�LĆĿŀŅìēİŋĬĘXýÿðĕúďĄōùą¦©_³íĴĮĢĄăĕŎ

ĺňĪĮĦą) R�ĘMî�÷ÃÊÄ

���

���

• -;1;*:25;/"$<�ħʼnģņĺňĪĮĦą_ÁĿŀŅĜĞŋņ�ą3¾Á��ĺňĪĮĦĚŋĠįĢĭŁċÁ

• '38);,6:#��"$<�ĚĺŅĤŋħŃʼną¤��RĘMî�÷ÁĺňĪĮĦą) R�ĘMî�÷Á

• ����#!%#������Lą��Á¹��¯ĘaE%÷ĕÁ«�_³Ę�r%÷ĕÁňŋIJěʼnĶńʼnĩĘ�r÷ĕÁ

• �����#!%#����ÑÆÓ�āĆŔÁĠŁĮħłąb# {íĀîĕ�ÁĠŁĮħłąb# {íöĄðè�

p7-p10,p17-p21については元RIKEN AICS井上統括役の資料である.