• 検索結果がありません。

d EªKi« ˜h<j&lt

N/A
N/A
Protected

Academic year: 2021

シェア "d EªKi« ˜h<j&lt"

Copied!
24
0
0

読み込み中.... (全文を見る)

全文

(1)

MPI

07–1–037–0142

! "#!$ !%

&"'

23( 1) 28 *,+.-

(2)

24365

IT7984:<;>=4?A@CB<D,E 5GF

7IH ITJ"K>;L7>MONLPLQ

FORTSOUWVXFZY\[^]<_4`4aIbLc

;

`ed

E<f9E

a

gihGjWk

;Il

a

jWkm

@>n6o<p

g>qLrts

;67

59u6vX`iwtx

n6o<y,zX{

m|kXg~}<

;

`€d,_

h

w6x

n6o‚Iƒ6„

…

KCE

5

1†L qWr6s >‡‰ˆe@,ŠO‹GŒ>

gŽ4 …

5L‘4’

6“L”I•A–˜—™@|š‰›WœO

qWrLs

@Cž6Ÿ K|E‰9œ4

qWr

yt¡

g>h

KC¢‚K

5

1†L qOrLs nOo

x6£

4ŠO‹6;L7W¤i¥~yt¡

[^5

‡~ˆ<@TŠ4‹GŒ

g

;L7

uOv<`O¦t§

HW¨4©‰yL¢

¢ d EªKi«

˜h<j<¬­

F 

1 ›‰9ƒ6„ ­ ¡ g œL q4r y,®t¯AŒ k E

a

g9h<°

y

w6x

nLoeyT±eˆ

… ` g

œL

q

rLs

7 … E

F˜w6²G`<F

 ­ ¡ g>htj

 _ { 5GU

–™³|´iµt¶

­

‘O’



qWr6s

@C·€¸

g‰¬ … ; } [¹5

qOrLsOº

¢ m

1†69»

² ­

n4o‰ˆ4¼‰

w<aI½L¾e¿O`

œO

qWrLs

@CÀ [|Á

p ¬ …

y,ÂÄÃ,Œ

k E a gh

(3)

1 È6É 1

1.1 Ê6Ë4̀Í4Î . . . . 1

1.2 œ44n4o . . . . 1

1.3 œ4 qOrLs . . . . 1

1.4 ½L¾ œ4 qWr6s . . . . 1

1.5 Ï6ÐOÑLÒ4Ó<Ô9Õ . . . . 3

1.6 Ê6Ë4̀<à ¿ . . . . 3

1.7 ÊLÖ4×L؀>Ù Y . . . . 3

2 ÚeÛ,Ü4Ý 3 2.1 MPI(Messe Passing Interface) . . . . 3

2.2 ž6Ÿ qOrLs . . . . 4

2.3 MPICH2Þ6ß . . . . 4

2.4 Visual C++2008Express Edition >ÞLß . . . . 4

3 àWáLâLã4ä~åiæ‚çCè6é<êTëGìeíïîWð 6 3.1 ®<ñIòLJeŠ~ó4ô4õ . . . . 6

3.2 Ï6ÐOÑLÒ4Ó<Ô9Õ . . . . 6

3.3 SollinLöI÷Xø€ù˜ú4û . . . . 6

3.4 Ï6ÐOÑLÒ4Ó<Ô9Ղ@ïü\ý MPI “L”Ló4ôiû . . . . 7

4 þ,ÿ 9 4.1 Ln4o ¦6§ . . . . 9

4.2 Ñ<9nOo ¦t§ . . . . 9

4.3 o …  . . . . 9

5 11

6 ‰ÉTæ 12

13

A àWáLâLã4ä~åiæIè! MPI"#$%Tð 15

(4)

1

1.1 )+*-,/./021

1.2 3547658

¡

g:9

›‰>n4o‚@

5W‘4’

6“L”I•A–˜—™@ïŸ

a

E<;=ÄK|E?>

A@‰­BC

6“L”I•A–˜—

­

>n4o

}

[9F˜w4x

; q

r

n4o‚@D>

T¬ …

@ïœ44n4oFEParallel ProcessingG …

a  h

œ44n4o‚@ïŸ

a

g‰¬ … ; } [¹5

nOo

¦t§



vH

`JIK

yML m˜k

5 « _I5

nOoGˆO¼

F

ŠO‹Op

g …ONP

Œ k E a g9h

œ44nOoX7RQSTU€RVWXY€>ü[Z]\_^`

;9Ÿ

a

m˜k<g

QSbac<dbeCµgf

`7h 5?i

{OE v f `

qOr

n4o‚@Djk … p g

Ô9Հ9ül<;IŸ

a

m˜keg>h

1.3 354+monqp

‘4’

L“6”I•A–˜—X@Ÿ

a

g~¬ … ­

œ44nOoA@>

,¬ …

yT±~ˆ

`

q,rLs

@CœO

q,rLs

(Parallel Computer) …

a

Zh

œ6

qLr~s

;t7

5

ÑeEe~“~”,•ª–|—Gyrts7uvù (Shared Memory) ;<wKïEx<ñTØÄfL@y>

a,5

“~”

•‚–Z—

§

yz{€7u<vÄù@Dz"K|E?>



rsbuMv ù}|6œO

qWr6s

(Shared Memory Parallel Computer) …

5 j

k~Tk

L“6”I•A–˜—e79M5|;y€2u<vÄù (Local Memory)@Cšb‚

5

z{€;47

U

–X³C´Iµ~¶

§ ­

ue–|•~µ S 

ƒg„

{ª@>ž~ŸGp gJ…†

uv"ùA|~œ6

qLrts

(Distributed Memory Parallel Computer) 

v

f‚ý 2›e; … D

g~¬ … y ­ f g9h

rs2u<v ù}|6œ4

qWr

nOoX7 qWr6s

§

‡

N

OÔ9ÕtHˆ‰µgfT

ƒ„

{ … aedi_

Ô>Հ;yw"K E

7uMv ù@Drs"K|E a g _

{w4n"KZHtp a y 5

“6”I•A–˜—ey‰Š

`2h

JX‹‰yt¡

dT_yŒ

;47

5

uMv ù|;>щE

L“6”I•‚–Z—X@DŽLB‚Œ>

g‰¬ …

yX;

`Gd

E‚Ki«

 hLj

 _ {6;

5?‘’

­

7y€buMv ù y,žLŸ

­ f gR…†

u

v ù}|6œOLnOoGy<“”

…

`ed

E a

g>h?CWŽ

5

…†

u<vÄù•|6œ44n4o€;47~¶Oô

V

fa

ûL‹

­

Y\ýCö4“™ù˜—6µ

a7™šI76«

°J›

`4a

… a  I

~y~¡

g9h

1.4 œo]354+mqnop u4ve`

ˆ‰µgfL@

w4x

nOoGp

g

;L79œ44nOoGyMsž

° y 5 C?Ÿ

¿ ; 5

œO

qWrLs+ 

€7R¡¢€;

w6²G`<F

 ­ ¡

[^5£

š¥¤

V ³ F

¡¢€;

w ý `

g9htj

 _ { 5

œ4

qOrLs

@Cš‰›‰47§¦<ý

C

€

HOË4́

j

KCE<©ª"K ¢

` ý 5

ÂÃi7eŒ

k E a~_

y«~Ÿ"Ki;Äý aTb6c

­ ¡ dW_

hOj€¬>­

5W‘6’



q4r~s

@ U

–‚³´,µG¶

­

·-¬

¬ … ;

} [ 5 q4rts

Ñg‚@ 1†6

½6¾<¿L`

œL

qOrts

… p g

½6¾

œL

qOrts

(Parallel Virtual Computing)y,ÂÃ

Œ k E a gih

½t¾

œ6

qLr~s

@>Ù Y p

õ³¯®°Lö4;t7IJg±

­²g³

Œ k E a g F  F ¡ g _ { 5 » ² ­ œ



q4rts

@Ù´

­ f

gIhµ¶

¿4`T½6¾

œL

q4rts

@Ù´ep

õ"³¯®°Oö

…

KïEG7

5

PVM(Parallel Virtual Machine)[3]H MPI(Message Passing Interface)[2]

5

OpenMP[5]

`2h

y~¡

g9h

1.4.1 PVM(Parallel Virtual Machine)

PVM(Parallel Virtual Machine)[3] 7iœL q4r @R> 

_

{t

­

õ"³¯®°4ö

­ ¡ g9h

öu‚ù·t?¸Gµ‰¶XùW–

S?¹T]

ËĹ [13] tu§šº€µ,y[»y¼

…

`ed

E½?¾ªŒ

k _ ­

õ³

­ 5

Linux,Windows,BSD

`7hÀ¿

C OS­

Y4À"K

5

ßOƒ

ŽL

yÁÂ

­ ¡ g9h

PVM @MÃ[š

V ³ µi÷6p

g … 5<U

–™³|´Iµ~¶,;yŽLB‚Œ

k

_I‘O’

†6

qOrLs

@

BC

9œO

qWr6s …

KCEM«6Ÿtp

g‰¬ … y ÁRÄ

gt}G

; ` g>h

PVM;yÅ"K

_

nOoX7<ÆgÇtRz [ ­ ¡

g>h

(5)

È qWr òɀ;<Ê z{Ë̉y ý nOo

¡¢€;yË̀

w<a

Ô9Ղ@Í

­

nOoGp

g

Œ

Q4o

¿

;yÏ k _

qWr6s

@Cž

d

E,nOo‰p

g

Œ

…† nOoA@D> 

Œ

1.4.2 MPI(Message Passing Interface)

MPI(Message Passing Interface)[2] 7IœOÐ\ …† “6”I•

V6§

guG–C•~µ S s

ˆ<@

²³

p

g¯ÑÒ

­ ¡ g9h

1995

3 ; MPI õgÔiµtôiû~;

} d E ÑÒ

‹‚Œ

k

Ä45yÕ

ý yÖ׉y?Ø

’

K|EÙ [^5

¤,µ+Ú yÛÜL‡<;JÝ k E

a

g9hq JÞ

;>ž6Ÿ

­ f g

Ö×

…

KCE~7 MPICH

`7h

y~¡

[^5

ô?ÃgßLô™ùeOàO÷

­

9œ4‹

­ ¡ g _ { 5Èáâ

@

ÔMãäM«LŸ

­ f 5

“L”6óOô<å4yM扢

dWµèéš,óIyM>ê

g

,yM«ë

­ ¡ g>h

MPI;RÅK

_

nOo€7MÆÇ~Rz [ ­ ¡

g>h

È qWr Ë̀;<Ê

5

z{Ë̉y w<a

n4o‚@9p

g

Œ

ì C

`

“6”I•‚–Z—e;

},g wLx

n4o‚@D>



Œ

ùCöI÷éfMÃOûin4o‚@¯>



Œ

1.4.3 OpenMP

OpenMP[4] 7“‚;rts7uvùA|‰œL

qLr~se­

Ÿ a m|k

5

œ6VW

…

¡‰œ6VgW

­ígî

‡ C  ­ µ V

¤Oµ

ÚZ@žtŸ

­ f g … a 

«ëGy‰¡

gIh

OpenMP 7 MPI ;MÊtE[uMv"ùïö~¶i•

V

t”4µ·ªù

–[ï

ý ` gyñ

ŠWy‰¡

g  ­

5òó€`

u?v"ùïö~¶I•

V

y~¡

g

“t”tó4ô,û

­ 7 5

MPI  Ž y

w6x<`<Œg

y

Õea

h ¹ ­

Öô™;

ž d E a gyõ

7J¡g¢€;

›

`6a

y Linux 6“t”T•

V @ U

–‚³C´Tµ~¶Rö Þi­§í

¢G‰¶4ô

V

f÷Oµ/Ú ;yÖg>ªŒ>

g

OpenMosix[11]HöøùªúGyû

] K

œLLnLotËLÌýL=þgÿ

­ ¡ g

Ö6nLo½?¾

s

ÙX;WE½¾AŒ

k

_

LinuxŸ™¶Oô

V

f,µ qWrLs

Ÿ ü

œO€“6”Ló4ôiûÖ>VW Score[12]

`2h

yt¡

g>h

1.4.4

œO

qOr

ë‚@

1;Gp h

1 "!#

PVM MPI OpenMP

Í

§ ;

},g

½L¾

œ4

qWr

±‰ˆ $W±Gˆ $O±‰ˆ

%'&)(

Å  ‡

wea

ð a ð a

ue–|•~µ

S

z{~ˆO¼ ð x w4x

ð x

Í

§ ;

}Wg

½4¾

œO

qWrLs

7

jTk~ik

<Ã

¿ ¢ m

‡~ˆLy

d

E"ý g>h

PVM7yÍ ÎLqOrLs

U

–X³C´Iµ~¶

@GÃ

¿ …

KïE,À

Y Œ k E a g

4;wÄK

5

MPIH OpenMP 7gu<–C•Gµ

S

X*2a

û … KCE,À

Y Œ k E a

g9h

+ ; 5 %'&,(

‡X7

5

PVM 7

½6¾

œ4

qOrts

;6“t”i•ª– —™@¯É[ê _Ä[.-

K

_Ä[

p

gG¬ … y ­ f g y 5

MPIH OpenMP 70/4Ê

¿

;L7

ÁyÄ<`6a6_

{ 5

PVM  Ž y

w€a

ˆL¼€@ïš

d E a

gIh

%1&2(

‡ … 7 (03

¾LP

¦

4

3

@|Ï6ÐG¤

£

;5[ê

g

ˆ4¼‰

¬ … ­ ¡ g9h

uG–C•~µ

S

Rz{~ˆO¼G7 PVM7RÍ

§

z{

`7h

—)6tµ³^p g _ {

(6)

<¸GµJº7ª–bÚ^yt¡

g y MPI 7yz{€ ‹<;>®ë~y'8W¢

k E g

{6; PVM;JwÄK|E MPI Ž y

x …

`Gd

E a g9h

‹9X;0:™¸

_T½t¾

œL

qLr

VgWª@>Ù´<p g§­

õ³R®°4ö6»

­ 7 5‘g’

MPI y“t” …

`€d

E a

gIh<j€¬

­

ʉË~Ì

­ 7 5

MPI @IŸ

a g

ʉË~Ì

­ 7 MPI <Öt× … K>E

H<;

ý Ÿ a mCk

E a g

MPICH2[6] @IŸ

a

gTh

MPICH276ögu™ùD·t6öLµ‰øtš

¹i]

ËĹGy?U<=Ö×

…

K|E½?¾"K

5

­2­

µ V

¤Wµ/Ú @">'?"K

_

ôÃgß

ôXù

­ ¡ g9h

ÛÜ"KZHtp<ŒO@C®L¯"K

_ À [ ;

`Gd

E a g _ { 5@)A

;yÛ܉yM>tã

k

5B

¥b»O

í … A7h

<à2š

C

IœOåaš9‹

­

«6Ÿtp

g~¬ … y ­ f g>h

1.5 DFEHGJIHKMLON

P'QR2S2TU

MPIV0W2XZY[\)]Z^_`'V0abZc0dfeg"hji'k<lmnoc0dpYq,r)^0si'klmnoc0dJe

T

tZujvwZx2y<z{

G= (V, E)|}Z~€‚2_Oejƒ

U

GVi'k<lmn€Y"„Z`2^cd S)…

^s†‡ˆ |V|=n

ˆ |E|=mViklm<nZcdoŠaFg‹h

U

PrimT O(m+nlogn)U KruskalT O(mlogn) U SollinT O(n2)

VŒ'Ž0O‘o’”“•,Y"–—fg_ [1]so˜_ U SollinV'Ž0O‘™’‚“•<šF

TU

CREW PRAM› SU pœ'ž€Ÿ

 

O(np2 + log2n)¡'¢

Sj£M¤.¥<¦

ސ‘Z’‚“<•|§H‚,^ [1]s

1.6 ¨H©«ªf¬®­°¯

PQ<R1S)TU±² t³´

Yµ¶ghr1^·<¸

¥¦¹º»

VW1XZY[\']2^s·<¸

¥¦¹º»

Y¼<½)]2^)¾ {¶¿

ÀÁ

ŽŠ

T

MPICH2 YÂq)]Z^s

PQR

ŠÃ2Ä'^[\ÅÆHegh T0U

MPICH2 Yq2r<h·¸

¥<¦ÇÈ

½Hg

U

MPI›

S

c0d€Y

£

r_OeƒŠ 1É

SÊË

g_0ÌÍfeÏÎ<ˆ™É SÊË

g_Ì'Í SÐÑ

gh U™Ò

V0Ó

´

Ë

¡'¢|ÔÕOց1_šZY

¹<×

]2^s[\™Y"ØHÙ"_`V<cdfeg‹h

T

ikl<mnZcdOY"q2r1^s

1.7 ¨MÚfÛHÜݬÞMß Pà<á<â

V¼ã Tä'å

VæMç S1…

^s 2è

S)TU"¹º»U

MPICH2é

ÒêPQ<R

Y"ØHي

…

_2ëhÂq°g_

Ç

Èìí

Yî2ï

U

3è S2T0UPQR)Sð

ëj_cd)ñZòV

£

ƏސO‘Z’Ï“•'Šórhjî)ïZ^s 4è S2TU¹×ô<õ Y‹î)ï

U

5è S1TU¹<×<ô<õ

Šö)÷rhø0ùpY‹î)ï,^s 6è S1TUPQ<R

V

ô<úU

Ùûüý<þZV0ÿdpY‹î1ïZ^s

2

2.1 MPI(Messe Passing Interface)

MPI (Message Passing Interface)[2]

T

1991

² Š

¹º'»

¢'V,Ÿ"ž æoVfeghpց

¥

¦¹<º

Y'q1]Z^_<`1Vpց)_

S)…

ç! #"OY$,]&%)e('

…

^s MPI

T

Î<ˆV CPU|()

à Y

*,+

¿ ¦

šFé2^,Ÿ"ž ™e<g"h.-/)]Z^%)e

S.0123

Y"ØZ~)^)û,ي],^0s MPI V& 4<ŠÂ'q S ƒ

^Je<g"h

T

MPICH |(56 S1… ^0s7™Š8':91q;=<(>é

Ò

Š,û^@?! V,|(AB2],^0s˜_

z

+C

z

’EDF;

S V

¥<¦

S1…

^_`

UGEH

YjcIJq S ƒ

U1…

^

Ç<È2S.3

ã¶g_'œ

y<z

•<|.7ZV Ç<È2S

'

23

]2^%'e”|KEL

S

ƒ^s

wM S

–NOցhr)^ MPIVPO,éEfeg‹h

U

MPICH2[6]ñ LAM[9]

U

OpenMPI[10]Q)|

…

^s

MPICH

T

MPI YP,]o^<_`)VZ¾ {f¿

À<Á

Žegh Argonne National Laboratory[6]

S

°Ö02_s

2005

² Š T

MPICH VþRHeg"h MPICH2|(€Ö2_js LAM

TS ¿

&>•.TU™VVEUXW<EYZ [

(7)

2 ]@^_a`:b@cdfehgjiPklnm

oEp

¿

PC   C PC1   C PC2   C PC3   C PC4

OS Windows Vista Windows Vista Windows Vista Windows XP Windows Vista CPU Core2 1.4GHz Core2 1.4GHz Core2 1.4GHz Pentium 1.6GHz Core2 1.4GHz

RAM 1GB 1GB 1GB 512MB 1GB

Q1Rq

| 3 ãJg_

{

’@ 1V MPI

z

+8C z ’

S,…

^js MPICH ehrr

Us

t=<YuJghæ°YØMÙ0V S<U

MPICH Š

Ð

ïhæ)|vwŠ<é)^0s OpenMPI

T

Open MPI Team |Hgh1r2^v'W)XxZŸž y°Ÿ

z <

yz

+C

z

’êsxW{aZa|E}8~ a

Q<R»€

y8

¿ƒ‚

@„…ZŠ2ûëhE.a†‡pցh'r1^ˆ, œ,<<¾

p

MPI-2 YjE¶ghr)^s

2.2 ‰‹ŠŒŽX

PQ<R1S)TU¹º»

5É)Y 100Base-TXŠ2ûZç LAN‘’Fg MPI

ÇÈ

Y"¼½)],^s

PQ<R)S

ÂqFg_

¹º

»

VW1X,Yj“ 2Š@”¶g

1Š

PQ<R1S

ÂqFg_·¸

¥<¦¹º»

V¼<ã

•

Y:”)]s<˜_

U0PQ<R1S

Âq1]2^

¹

º»oTU

OS egh Windows– OS Y"q2r1^s Windows–oV OS],^V

T

7E—oV OS ûZ癘š›2|avZrš€

S'…

^s

2.3 MPICH2¬=œ

Pž2S2T0U

MPICH2V + < p

¿

¶e

ÇȟE 

Šó'r<hjî2ïo^s MPICH2 YÂq)]Z^_`'Š

T0U

MPI Y

¼<½,]Z^"l,h)V

¹<º»

Š MPICH2 Y + < p

¿

(Install)],^@¡

³ | …

^0s MPICH2

T +

<[( ¢Ÿ

¿ ›

V MPICH2V ÀÁ C.£ [6] ŠÃ1rh

wM S¤¥

ց'h1r)^<V

S

Â'q1]Z^ OS Š0ÍfÙ('V)Y>

À

<E §¦

g U U òV

{x¨

+

™YØ2]Z^%)eŠ,û™ç

U + < p ¿ z

2

g 2ª

Š + < p ¿

j™ÖZ^s

PQR2S)T

2010

²

12«¬B™V Windowsq MPICH2Vi­V®

S1…

^ mpich2-1.0.6p1-win32-ia32.msiYP¯

¹º'»

Š

> À

<j( !¦"g

U

C:° Program Files° backslash MPICH2 V

å Š + < p ¿

0oY"ØOëj_s

+ < p ¿

|(±

²

]Z^™e U ¯

¹<º1»

V MPICH2 V *x+

‚

’"V … ^

&>ŠaHgh Ç'È´

ˆOV PATH(”C:° Program File

° MPICH2° bin”) V$

 

YZg"h'Ã

¤ ¡ ³ | …

^0s PATH|æFëh)r,^jš

Ò

ٚ™Yµ,š1`2^<Š

T

­

S

Wa¶

<=¦Ïœ'<œ

¿ › S

”mpiexec·)eW¶&<¸¦¹'ØpÖº2_ejƒŠ

ˆV¼½™Y¾2] Usage ZŸž, |“”°Ö

h1r2^š

Ò

ًš

S.¿8ÀS

ƒ^0s<˜_

U

Windows›

S

MPI YÂ'q1]Z^"Ì'Í

U

MPI Y¼<½,],^l,h)V

¹º'»

Š@Á

ËÂEÃ8Ä

Yj‡)óÅ(6)VŽ(Æ À < ¿

YnÇ,`

Ÿ 

g U ¯

¹º»

VŽÆ

À < ¿ Š T

ÅÈ2Vy pÉ

ʦÏY

Ÿ 

]2^

¡ ³ | …

^s,˜_

U ¯

¹º»

›ŠPË5

>Y

3

ãFg‹hÃ

¤

%'e SU

Ø {8¨

+

,VP/oÄÌFgjYÍÎoŠØfÙ

%'e‹|

S

ƒ^s

2.4 Visual C++2008Express Edition ¬=œ

P2Q2RoS3

ão]O^

¥1¦1Ê1Ë

Ù MPI œ2

y1z

•

TU

C++

GH

Yq™ro^s C++

GH

VW8<@y

+

Š

T

Microsoft —ÏpV Visual C++2008Express Edition [8] YÂ)q,]™^js,œ)

y'z

{<

y

Y]™^Š

…

_oëjh

Visual C++š€ MPICH2 YÂq

S

ƒ^'û)ي

ŸE 

g"é'ā,ÐéOé<rs˜J

U

Visual C++ ›

SaÑ

Vœ

(8)

1 ÓÔPÕPÖ@gjik×FØPÙ

ÁÚ

¿ Y 3

ã¶g U,Û

0ˆ2œ

z=Ü

<š€

+ < Ú

, ʦ

{8¨

+

°e

z

+C z ’

{8¨

+

oY MPICH2

Ý>

Š … ^ lib e include

>Yn$

 

gßÞàOY"Ø2éOÙÏsoŠœ

ÁÚ

¿ V

Ÿ )S

’a<Ƽ½)VáEA {x¨

+ 

YnÞà)]2^

U

Þà)],^áEA {8¨

+  S1…

^ mpi.lib YjÞEà2]2^s=%F"V

ŸE 

Y"Ø2éOÙ%'e

S

MPICH2 Š2û

^

¥<¦

œ

yz

{(<

y

|aâ2Xpeé)^s

(9)

3 ãåäæèçêéìëîí ïñðóòõô÷öøúùüûþý

3.1 ÿ

… ^ yz{

G= (V, E)ŠÃ1r<h

U

GVl2h2V

‰

(u, v)E (u, vV) Š0a¶g"h

‰

(u, v)|(AB2]Z^é€

Ð ‰

(v, u) ':AEB1],^,ejƒ

U

G Y

w,x)yz<{

erpÙ s]é(I

U w,x)yz{

e

TU

¯ZV‡¶e<‡1|

Ò

™

S1…

^jšZYoŠ™gér y<z{

' …

^s %jV2û,Ù"éOeƒ

U

›'VU

ª

“¬

S2T

¯pYj“¬,],^2šF

'Y"!pëh

U

ò<V y<z<{

Yn“E¬2]2^s,˜_

U

yz{

GŠjÃrh

U

†‡ñ

‰

Š@<ˆEQ2|$# ç&%0h°ρZ^ÌÍ

U

tZujv

ƒ

yz{

(weighted graph) ˜_

T z

v ƒ y<z{

(labeled graph) e(')s

tou

T0U

ˆ™VÌ͏'

… ç U

˜_*+1ñ,*+

¦1S1…

^%1e'

…

^s<›$-ZV

wZx1yz{

e

t,u0vOyz{

V.ÅZVW/Yj‡pëj_8'0V|

t

u0vw,x1y<z<{ S'…

^s y<z<{

G|

t,u0vw,x)yz<{

Voejƒ

U

GVl2h1V

‰

(u, v)E (u, vV)ŠaFgh w(u, v) =w(v, u) eé)^s1_0og

U

w(u, v)

(u, v) V

t,u S'…

^s

3.2 132546HKMLON

i1kl'mnÝe

T

t™ujv'w™x2yz{

G= (V, E) |}™~°‹,_Oeƒ

U

GV0lZh,V†1‡€Y798 GV;:=<nOVOÙ

U<‰

V

tou

V;>?2|ikZé yz{

S)…

^0s1˜_

U

i'k<lmnoc0dfe

T

tZujvwox2y<z{

G|j}o~p”2_e

ƒ U

GVikl<mnOY„,`1^cd S'…

^s

ikl<mnZcdOY

£M¤

OZé'ސ‘Z’‚“•Oe<g”h

U

PrimVŽ0™‘Z’‚“<•

U

KruskalVސ‘Z’Ï“•

U

SollinV

ސ‘Z’Ï“• [1]Q)|

…

^s†‡<ˆ |V|=n

ˆ |E|=mV

t,u0vw,x)yz<{

Ša¶g

U

RAM›

S

PrimV

ސ‘Z’Ï“•

T

O(m+nlogn)

U

KruskalVސ‘Z’Ï“•

T

O(mlogn)

U

Solin Vސ™‘o’Ï“•

T

O(n2)

S i

klm<nZcdOY

£Ý¤

%1e”|

S

ƒ^s˜_

U

SollinVŽ0™‘Z’‚“<•

T@A

V

´B

YnàZ~1^%'e

S

PRAM›V

¥

¦

Ž0™‘Z’‚“<•1Šj]2^%'e‹|

S ƒ U

CREW PRAM ›

S

p œ0žpŸ

 

Y"q)rh O(np2 +log2n)

S

iklm<n

cdpY

£Ý¤

%'e‹|

S

ƒ^s

3.3 Sollin ¬DCFEHGJI9K3L PQ<R1S)TU

iklm<nZcdOY

£Ý¤.¥<¦

Ž0™‘Z’‚“<•peg‹h

U

SollinVŽ0™‘o’Ï“<• [1]Yq)r

U

MPI ›

S

œ

yz

•.Fg_s

ä'å

Š Sollin Vސ‘Z’‚“<•Oeò<V

¹ºM

Šjó'rhî)ï,^s

SollinVސ™‘o’Ï“•

NPO

:

t,u0vw,x)yz<{

GV$Q‘Ø

¦

Ws W

³R

Wx,y (0x, y < n)

T

œžOŸ

 

Px |,S‡2]2^s

T O

: GVikl<mn T VUQ.‘Ø

¦

Cs C V@¯

³R

Cx,y(0x, y < n)

T

œžOŸ

 

Px |,S‡)],^s

step 1: ¼½

¤¦

W Y

3

…q

¤¦

W0 ŠWY. Zg ,k= 0 e”],^s&%V

¹ºMoT 

ˆVoVW¼ZV_<`

 

ˆ2¡¢

S'…

^s

step 2: Q.‘Ø

¦YX

Š

³PR

| …

^¢0Ä

U

step2-1Z 2-3Y&[Mç]\)]s

step 2-1:

¤¦´

ˆ k Š 1Ynà,~)^s&%V

¹ºMoT 

ˆVZVPà

º

é'V S. 

ˆ2¡'¢

S'…

^s

step 2-2: ¯'†)‡ v Vk Š<Ã2rh

U

v ŠQE‘o]™^

‰

(v, u) (u Vk) V^i!'"kFÖr

‰

{(v, m)|w(v, m) w(v, u) (u Vk)} Y_Ýg

U

†)‡ m Y v V$` p[v] e'gha

v 5 xUb

Y¼1ãZ]™^js2˜_

U

%Vpeƒ

‰

(10)

(v, m)Ïû0ü (m, v) Y …'qJ’ p Lk Š@ào~2^s T'k YØZér ],^ Y(cP<

Šj],^,e"rOÙ

3

…Y lognd$[Ýçe\)])V

S n2

log2n œ0žpŸ

  S

O(logn) eé1^s step 2-3: ¯†‡ vVk ŠÃrh

U

r[v]Va¶e"é1^†‡ r[v] Y"_2]s=%0V

Ê<ËoTgf

+

<([(Ph<Y<

y

Y&[

ç]\2]Ý%1e S<S

ƒ U

1d1V

f +

<[h<jœŠ2ûZçea˜

S

Vij2|$c<ZŠé)^s¶g_|ZëhÝ%0V ÊË

Y

logndU[Ýç]\2]1V

S

%0V

¹ºMoT

n2

log2n œ0žpŸ

  S

O(logn) eé)^s step 2-4: ¯†‡ vVk ŠjÃrh

U

v Va r[v] Š v ŠP‘’1]2^"l)h)V

‰

(v, u) (uVk) V

tZu

Ùûü u Va r[u]

s

[Y"kZ`1^sÝ%Voejƒn¯E5 xb

VaZŠk,`pρ1_

s

[Yl)НE5 xb

Y 1ó1V†‡¶e‹]2^

y

z<{

Gk+1 Y"¼<ã1],^s

¹ºM™T.s

[<Y&k,`)^_`'Š

T

2ó)V

s

[<Y ÐÑ

]2^V SjU

¡¢

T n2 log2n

œžOŸ

  S

O(logn) eé1^s step 3:

3

…qf’

p ¿

Li (0i < k)š°

£ Ø ¦

B Y

3

ã)]2^s

¹ºMoT

¯ ‰

ŠÃrh

 

ˆmd'Va6n2V ⠃

o

~2YØfÙ"V SU

n2 œ0žpŸ

 

Yq)rh O(1)¡'¢™eé)^s step 2 V[Ýçe\¶g(d0ˆ

T

O(logn)d

S1…

^V SjU

Sollin VŽ0™‘Z’‚“<•

TU

pœ0žpŸ

 

CREW PRAM

› S

O(np2 + log2n)¡¢

S

ik<l<m<nocdpY

£Ý¤

%'e‹|

S

ƒ^s

3.4 1325465pMLONrq sut MPI vwx yL

PQ<R1S)TU

MPIVW1X,Yz{)]2^_<`

U

SollinVŽ0™‘o’Ï“<•,Yl,Š MPI›

S

ikl<mnZcdOY

£M¤.¥

¦

œ

yz

•2Y C++

GH

Y"q2rh

3

ãFg

U

1ÉVŒ

¹º

Š2û^

Ê<Ë

e U

ΈoɊ2û^

¥<¦¹º

Š)û^

Ê<Ë

e

SU<ÊË

¡)¢1Š

Ò

9|

Ò

V;},|,~€˜0™^jš,V['\pY"ØÝقs vP

A Š

P1Q'R,S3

ãfg0_ MPI œ1

yz

•ZY

”)]s

PQ<R1S3

ã¶g_ MPI œ

y<z

•

TU¹º»

VÙ 1É)Y oEp

¿

PC eghq2r1^s oEp

¿

PC

T

¼½°e

é1^

t,u0vw,x)yz<{

G Y

3

ãFg

U

GV:<

y<z<{

Yj¯

  C

PCŠE¢oŸ

¿ É Ú

Yæ¶g‹h.-)]2^s   C

PC

T

-€Ö2_

s

[Š0a¶g"h Sollin V'Ž0O‘™’‚“•1Š0ö2÷oƒ

Ê<Ë

YØ,r

U

òV

Ê<Ë'ô<õ

Y

op

¿

PC Š\-

]2^s oEp

¿

PC

T

\E-€Ö)_

ÊËX&€

š€

y<z<{

Y"¼ã1],^s

ä'å

Š

PQ<R)S.3

ã¶g_ MPI œ

yz

•'Šjó'rhjî1ï,^s

[iklm<nocdOY

£Ý¤

MPI œ

yz

• (

¹º»

kÉ )]

NPO

:

w

g‚s(¼½€e"é1^

t,u0vw,x)yz<{

G

TU

œ

yz

•ØU~ãpց,^s

T O

: GVikl<mn T VUQ.‘Ø

¦

ansewrs answer

T

op

¿

PCŠSE‡pցZ^s step 0-1: oEp

¿

PC ›

S

¼½€e"é1^

tZu0vw,x1y<z<{

G Y&~ãFg

U

Q.‘Ø

¦

top eghUSE‡)]2^s

step 0-2: top Y

oEp

¿

PCš€   C PC Š@-1],^s=%0Voejƒ

U   C

PCl:oŠ top e †‡ZŠ

€

],^

s

[

Yn-1],^s,Yn-1],^s

step 1-1: op

¿

PC šJh- "o_

s

x[šf ‚<o|ƒ3%]^†2‡°Y$„™`o^js%0

T

for& 2œ)V for(int tantou = (size*myrank)/numprocs ; tantou ¡ (size*(myrank+1))/numprocs ;tantou++) šF…„O˜

^0sm†tantou = ˆ‡)|,ƒF%j]Z^"†'‡ ,size =†'‡<ˆ , myrank = ˆ‡oV'œ'ž€Ÿ

 ‰Š

, numprocs =

œžOŸ

  ˆ ,‹ ò,%"š° i'

‰ V t,u

|jkOÖrx'V'Y"ŒZü;SA1]2^s

step 1-2: SEA¶g_†‡ikZV tZu s

[<Y oEp

¿

PCŠ

s

[<Y&\E-2]2^s

step 1-3: \E-€Ö1_ s [š€Q.‘Ø ¦ ansewrV

úË

?Y,e^s

step 2-1: òŽ)V†‡oŠœžOŸ

 

Y"# ç] ç f +

<[h<jœ],^s1˜_

Uf

+

<[|Ã$9‘ŠP-3’

ÍO듑•”Ì͖,—˜

‰Š•™,šF›

‘œ+ ž Ÿ

´¡

Ӣ

参照

関連したドキュメント

(The Elliott-Halberstam conjecture does allow one to take B = 2 in (1.39), and therefore leads to small improve- ments in Huxley’s results, which for r ≥ 2 are weaker than the result

のようにすべきだと考えていますか。 やっと開通します。長野、太田地区方面  

We obtain a ‘stability estimate’ for strong solutions of the Navier–Stokes system, which is an L α -version, 1 &lt; α &lt; ∞ , of the estimate that Serrin [Se] used in

Although the choice of the state spaces is free in principle, some restrictions appear in Riemann geometry: Because Einstein‘s field equations contain the second derivatives of the

In these cases it is natural to consider the behaviour of the operator in the Gevrey classes G s , 1 &lt; s &lt; ∞ (for definition and properties see for example Rodino

We obtain some conditions under which the positive solution for semidiscretizations of the semilinear equation u t u xx − ax, tfu, 0 &lt; x &lt; 1, t ∈ 0, T, with boundary conditions

&lt; &gt;内は、30cm角 角穴1ヶ所に必要量 セメント:2.5(5)&lt;9&gt;kg以上 砂 :4.5(9)&lt;16&gt;l以上 砂利 :6 (12)&lt;21&gt; l

this to the reader. Now, we come back to the proof of Step 2. Assume by contradiction that V is not empty.. Let u be the minimal solution with the given boundary values and let P be