<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/6250236f74bc5c01055be476/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6250236f74bc5c01055be476/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">P<span class="_ _0"></span>arallel<span class="_ _1"> </span>Programming<span class="_ _1"> </span>in<span class="_ _1"> </span>F<span class="_ _2"></span>ortran<span class="_ _1"> </span>95<span class="_ _1"> </span>using<span class="_ _1"> </span>Op<span class="_ _3"></span>enMP</div><div class="t m0 x2 h3 y2 ff2 fs1 fc0 sc0 ls0 ws0">Miguel<span class="_"> </span>Hermanns</div><div class="t m0 x3 h4 y3 ff3 fs2 fc0 sc0 ls0 ws0">Sc<span class="_ _0"></span>ho<span class="_ _3"></span>ol<span class="_"> </span>of<span class="_"> </span>Aeronautical<span class="_"> </span>Engineering</div><div class="t m0 x4 h4 y4 ff3 fs2 fc0 sc0 ls1 ws0">Departamen<span class="_ _0"></span>to<span class="_ _4"> </span>de<span class="_"> </span>Motopropulsi´<span class="_ _5"></span><span class="ls0">on<span class="_"> </span>y<span class="_"> </span>T<span class="_ _6"></span>ermofluido<span class="_ _3"></span>din´<span class="_ _5"></span><span class="ls2">amica</span></span></div><div class="t m0 x5 h4 y5 ff3 fs2 fc0 sc0 ls2 ws0">Univ<span class="_ _0"></span>ersidad<span class="_"> </span>Polit<span class="_ _0"></span>´<span class="_ _7"></span>ecnica<span class="_"> </span>de<span class="_"> </span>Madrid</div><div class="t m0 x6 h4 y6 ff3 fs2 fc0 sc0 ls0 ws0">Spain</div><div class="t m0 x7 h4 y7 ff3 fs2 fc0 sc0 ls3 ws0">email:<span class="_ _8"> </span><span class="ff4 ls4">hermanns@tupi.dmt.upm.es</span></div><div class="t m0 x2 h3 y8 ff2 fs1 fc0 sc0 ls5 ws0">19</div><div class="t m0 x8 h5 y9 ff5 fs3 fc0 sc0 ls6 ws0">th</div><div class="t m0 x9 h3 y8 ff2 fs1 fc0 sc0 ls7 ws0">of<span class="_"> </span>April<span class="_"> </span>2002</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6250236f74bc5c01055be476/bg2.jpg"></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6250236f74bc5c01055be476/bg3.jpg"><div class="t m0 xa h6 ya ff6 fs4 fc0 sc0 ls0 ws0">Con<span class="_ _6"></span>ten<span class="_ _6"></span>ts</div><div class="t m0 xa h7 yb ff6 fs5 fc0 sc0 ls8 ws0">1<span class="_ _9"> </span>Op<span class="_ _3"></span>enMP<span class="_ _a"> </span>F<span class="_ _6"></span>ortran<span class="_ _a"> </span>Application<span class="_ _a"> </span>Program<span class="_ _8"> </span>In<span class="_ _0"></span>terface<span class="_ _b"> </span>1</div><div class="t m0 xb h8 yc ff2 fs5 fc0 sc0 ls9 ws0">1<span class="_ _c"></span>.<span class="_ _c"></span>1<span class="_ _1"> </span>I<span class="_ _c"></span>n<span class="_ _d"></span>t<span class="_ _c"></span>r<span class="_ _c"></span>o<span class="_ _5"></span>d<span class="_ _c"></span>u<span class="_ _c"></span>c<span class="_ _c"></span>t<span class="_ _c"></span>i<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _6"></span>...................................<span class="_ _9"> </span>1</div><div class="t m0 xc h8 yd ff2 fs5 fc0 sc0 ls9 ws0">1<span class="_ _c"></span>.<span class="_ _c"></span>1<span class="_ _c"></span>.<span class="_ _c"></span>1<span class="_ _e"> </span>H<span class="_ _c"></span>i<span class="_ _c"></span>s<span class="_ _c"></span>t<span class="_ _c"></span>o<span class="_ _c"></span>r<span class="_ _c"></span>i<span class="_ _c"></span>c<span class="_ _c"></span>a<span class="_ _c"></span>l<span class="_ _f"></span>r<span class="_ _c"></span>e<span class="_ _c"></span>m<span class="_ _c"></span>a<span class="_ _c"></span>r<span class="_ _c"></span>k<span class="_ _c"></span>s<span class="_ _10"> </span>...........................<span class="_ _9"> </span>2</div><div class="t m0 xc h8 ye ff2 fs5 fc0 sc0 ls9 ws0">1<span class="_ _c"></span>.<span class="_ _c"></span>1<span class="_ _c"></span>.<span class="_ _c"></span>2<span class="_ _e"> </span>W<span class="_ _c"></span>h<span class="_ _c"></span>o<span class="_ _f"></span>i<span class="_ _c"></span>s<span class="_ _f"></span>p<span class="_ _c"></span>a<span class="_ _c"></span>r<span class="_ _c"></span>t<span class="_ _c"></span>i<span class="_ _c"></span>c<span class="_ _c"></span>i<span class="_ _c"></span>p<span class="_ _c"></span>a<span class="_ _c"></span>t<span class="_ _c"></span>i<span class="_ _c"></span>n<span class="_ _c"></span>g<span class="_ _11"> </span>..........................<span class="_ _9"> </span>2</div><div class="t m0 xc h8 yf ff2 fs5 fc0 sc0 ls9 ws0">1<span class="_ _c"></span>.<span class="_ _c"></span>1<span class="_ _c"></span>.<span class="_ _c"></span>3<span class="_ _e"> </span>A<span class="_ _c"></span>b<span class="_ _5"></span>o<span class="_ _c"></span>u<span class="_ _c"></span>t<span class="_ _f"></span>t<span class="_ _c"></span>h<span class="_ _c"></span>i<span class="_ _c"></span>s<span class="_ _f"></span>d<span class="_ _c"></span>o<span class="_ _c"></span>c<span class="_ _c"></span>u<span class="_ _c"></span>m<span class="_ _c"></span>e<span class="_ _c"></span>n<span class="_ _c"></span>t<span class="_ _0"></span>..........................<span class="_ _9"> </span>3</div><div class="t m0 xb h8 y10 ff2 fs5 fc0 sc0 ls9 ws0">1<span class="_ _c"></span>.<span class="_ _c"></span>2<span class="_ _10"> </span>T<span class="_ _c"></span>h<span class="_ _c"></span>e<span class="_ _f"></span>b<span class="_ _c"></span>a<span class="_ _c"></span>s<span class="_ _c"></span>i<span class="_ _c"></span>c<span class="_ _c"></span>s....................................<span class="_ _9"> </span>4</div><div class="t m0 xc h8 y11 ff2 fs5 fc0 sc0 ls8 ws0">1.2.1<span class="_ _12"> </span>The<span class="_"> </span>sen<span class="_ _0"></span>tinels<span class="_"> </span>for<span class="_"> </span>Op<span class="_ _3"></span>enMP<span class="_"> </span>directiv<span class="_ _13"></span>es<span class="_"> </span>and<span class="_"> </span>conditional<span class="_"> </span>compilation<span class="_ _9"> </span>.<span class="_ _14"> </span>4</div><div class="t m0 xc h8 y12 ff2 fs5 fc0 sc0 ls9 ws0">1<span class="_ _c"></span>.<span class="_ _c"></span>2<span class="_ _c"></span>.<span class="_ _c"></span>2<span class="_ _e"> </span>T<span class="_ _c"></span>h<span class="_ _c"></span>e<span class="_ _f"></span>p<span class="_ _c"></span>a<span class="_ _c"></span>r<span class="_ _c"></span>a<span class="_ _c"></span>l<span class="_ _c"></span>l<span class="_ _c"></span>e<span class="_ _c"></span>l<span class="_ _f"></span>r<span class="_ _c"></span>e<span class="_ _c"></span>g<span class="_ _c"></span>i<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _f"></span>c<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _c"></span>s<span class="_ _c"></span>t<span class="_ _c"></span>r<span class="_ _c"></span>u<span class="_ _c"></span>c<span class="_ _c"></span>t<span class="_ _c"></span>o<span class="_ _c"></span>r<span class="_ _15"> </span>....................<span class="_ _9"> </span>5</div><div class="t m0 xa h7 y13 ff6 fs5 fc0 sc0 ls8 ws0">2<span class="_ _9"> </span>Op<span class="_ _3"></span>enMP<span class="_ _a"> </span>constructs<span class="_ _16"> </span>9</div><div class="t m0 xb h8 y14 ff2 fs5 fc0 sc0 lsa ws0">2<span class="_ _c"></span>.<span class="_ _c"></span>1<span class="_ _10"> </span>W<span class="_ _17"></span>o<span class="_ _c"></span>r<span class="_ _c"></span>k<span class="_ _c"></span>-<span class="_ _c"></span>s<span class="_ _c"></span>h<span class="_ _c"></span>a<span class="_ _c"></span>r<span class="_ _c"></span>i<span class="_ _c"></span>n<span class="_ _c"></span>g<span class="_ _f"></span>c<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _c"></span>s<span class="_ _c"></span>t<span class="_ _c"></span>r<span class="_ _c"></span>u<span class="_ _c"></span>c<span class="_ _c"></span>t<span class="_ _c"></span>s<span class="_ _11"> </span>............................<span class="_ _9"> </span>9</div><div class="t m0 xc h8 y15 ff2 fs5 fc0 sc0 lsb ws0">2.1.1<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>DO/!$OMP<span class="_ _1"> </span>END<span class="_ _1"> </span>DO<span class="_ _4"> </span></span><span class="ls9">........................<span class="_ _18"> </span>1<span class="_ _c"></span>0</span></div><div class="t m0 xc h8 y16 ff2 fs5 fc0 sc0 lsb ws0">2.1.2<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>SECTIONS/!$OMP<span class="_ _1"> </span>END<span class="_ _1"> </span>SECTIONS<span class="_ _4"> </span></span><span class="lsa">................<span class="_ _18"> </span>1<span class="_ _c"></span>5</span></div><div class="t m0 xc h8 y17 ff2 fs5 fc0 sc0 lsb ws0">2.1.3<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>SINGLE/!$OMP<span class="_ _1"> </span>END<span class="_ _1"> </span>SINGLE<span class="_ _19"> </span></span><span class="lsa">..................<span class="_ _8"> </span>1<span class="_ _c"></span>6</span></div><div class="t m0 xc h8 y18 ff2 fs5 fc0 sc0 lsb ws0">2.1.4<span class="_ _12"> </span><span class="ff7 fc1 lsc">!$OMP<span class="_ _10"> </span>WORKSHARE/!$OMP<span class="_ _1"> </span>END<span class="_ _1"> </span>WORKSHARE<span class="_ _19"> </span></span><span class="ls9">..............<span class="_ _8"> </span>1<span class="_ _c"></span>7</span></div><div class="t m0 xb h8 y19 ff2 fs5 fc0 sc0 ls9 ws0">2<span class="_ _c"></span>.<span class="_ _c"></span>2<span class="_ _10"> </span>C<span class="_ _c"></span>o<span class="_ _c"></span>m<span class="_ _c"></span>b<span class="_ _c"></span>i<span class="_ _c"></span>n<span class="_ _c"></span>e<span class="_ _c"></span>d<span class="_ _f"></span>p<span class="_ _c"></span>a<span class="_ _c"></span>r<span class="_ _c"></span>a<span class="_ _c"></span>l<span class="_ _c"></span>l<span class="_ _c"></span>e<span class="_ _c"></span>l<span class="_ _f"></span>w<span class="_ _d"></span>o<span class="_ _c"></span>r<span class="_ _c"></span>k<span class="_ _c"></span>-<span class="_ _c"></span>s<span class="_ _c"></span>h<span class="_ _c"></span>a<span class="_ _c"></span>r<span class="_ _c"></span>i<span class="_ _c"></span>n<span class="_ _c"></span>g<span class="_ _f"></span>c<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _c"></span>s<span class="_ _c"></span>t<span class="_ _c"></span>r<span class="_ _c"></span>u<span class="_ _c"></span>c<span class="_ _c"></span>t<span class="_ _c"></span>s<span class="_ _1a"></span>..................<span class="_ _18"> </span>2<span class="_ _c"></span>0</div><div class="t m0 xc h8 y1a ff2 fs5 fc0 sc0 lsb ws0">2.2.1<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>PARALLEL<span class="_ _1"> </span>DO/!$OMP<span class="_ _1"> </span>END<span class="_ _10"> </span>PARALLEL<span class="_ _1"> </span>DO<span class="_ _4"> </span></span><span class="ls9">............<span class="_ _18"> </span>2<span class="_ _c"></span>1</span></div><div class="t m0 xc h8 y1b ff2 fs5 fc0 sc0 lsb ws0">2.2.2<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>PARALLEL<span class="_ _1"> </span>SECTIONS/!$OMP<span class="_ _1"> </span>END<span class="_ _10"> </span>PARALLEL<span class="_ _1"> </span>SECTIONS<span class="_ _4"> </span></span><span class="lsd">....<span class="_ _18"> </span>2<span class="_ _c"></span>1</span></div><div class="t m0 xc h8 y1c ff2 fs5 fc0 sc0 lsb ws0">2.2.3<span class="_ _12"> </span><span class="ff7 fc1 lsc">!$OMP<span class="_ _10"> </span>PARALLEL<span class="_ _1"> </span>WORKSHARE/!$OMP<span class="_ _1"> </span>END<span class="_ _10"> </span>PARALLEL<span class="_ _1"> </span>WORKSHARE<span class="_ _19"> </span></span><span class="lse">..<span class="_ _18"> </span>2<span class="_ _c"></span>1</span></div><div class="t m0 xb h8 y1d ff2 fs5 fc0 sc0 ls9 ws0">2<span class="_ _c"></span>.<span class="_ _c"></span>3<span class="_ _10"> </span>S<span class="_ _c"></span>y<span class="_ _c"></span>n<span class="_ _c"></span>c<span class="_ _c"></span>h<span class="_ _c"></span>r<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _c"></span>i<span class="_ _c"></span>z<span class="_ _c"></span>a<span class="_ _c"></span>t<span class="_ _c"></span>i<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _f"></span>c<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _c"></span>s<span class="_ _c"></span>t<span class="_ _c"></span>r<span class="_ _c"></span>u<span class="_ _c"></span>c<span class="_ _c"></span>t<span class="_ _c"></span>s<span class="_ _6"></span>...........................<span class="_ _8"> </span>2<span class="_ _c"></span>2</div><div class="t m0 xc h8 y1e ff2 fs5 fc0 sc0 lsb ws0">2.3.1<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>MASTER/!$OMP<span class="_ _1"> </span>END<span class="_ _1"> </span>MASTER<span class="_ _19"> </span></span><span class="lsa">..................<span class="_ _8"> </span>2<span class="_ _c"></span>2</span></div><div class="t m0 xc h8 y1f ff2 fs5 fc0 sc0 lsb ws0">2.3.2<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>CRITICAL/!$OMP<span class="_ _1"> </span>END<span class="_ _1"> </span>CRITICAL<span class="_ _4"> </span></span><span class="lsa">................<span class="_ _18"> </span>2<span class="_ _c"></span>2</span></div><div class="t m0 xc h8 y20 ff2 fs5 fc0 sc0 lsb ws0">2.3.3<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>BARRIER<span class="_ _e"> </span></span><span class="lsa">.............................<span class="_ _8"> </span>2<span class="_ _c"></span>4</span></div><div class="t m0 xc h8 y21 ff2 fs5 fc0 sc0 lsb ws0">2.3.4<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>ATOMIC<span class="_ _a"> </span></span><span class="ls9">..............................<span class="_ _8"> </span>2<span class="_ _c"></span>6</span></div><div class="t m0 xc h8 y22 ff2 fs5 fc0 sc0 lsb ws0">2.3.5<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>FLUSH<span class="_ _1b"> </span></span><span class="ls9">..............................<span class="_ _18"> </span>2<span class="_ _c"></span>7</span></div><div class="t m0 xc h8 y23 ff2 fs5 fc0 sc0 lsb ws0">2.3.6<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>ORDERED/!$OMP<span class="_ _1"> </span>END<span class="_ _1"> </span>ORDERED<span class="_ _1c"> </span></span><span class="ls9">.................<span class="_ _18"> </span>3<span class="_ _c"></span>0</span></div><div class="t m0 xb h8 y24 ff2 fs5 fc0 sc0 ls9 ws0">2<span class="_ _c"></span>.<span class="_ _c"></span>4<span class="_ _10"> </span>D<span class="_ _c"></span>a<span class="_ _c"></span>t<span class="_ _c"></span>a<span class="_ _f"></span>e<span class="_ _c"></span>n<span class="_ _c"></span>v<span class="_ _c"></span>i<span class="_ _c"></span>r<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _c"></span>m<span class="_ _c"></span>e<span class="_ _c"></span>n<span class="_ _d"></span>t<span class="_ _f"></span>c<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _c"></span>s<span class="_ _c"></span>t<span class="_ _c"></span>r<span class="_ _c"></span>u<span class="_ _c"></span>c<span class="_ _c"></span>t<span class="_ _c"></span>s<span class="_ _f"></span>..........................<span class="_ _8"> </span>3<span class="_ _c"></span>2</div><div class="t m0 xc h8 y25 ff2 fs5 fc0 sc0 lsb ws0">2.4.1<span class="_ _12"> </span><span class="ff7 lsc">!$OMP<span class="_ _10"> </span>THREADPRIVATE<span class="_ _1"> </span>(</span><span class="ff8">list<span class="ff7 ls0">)<span class="_ _1d"> </span></span></span><span class="ls9">....................<span class="_ _18"> </span>3<span class="_ _c"></span>2</span></div><div class="t m0 xa h7 y26 ff6 fs5 fc0 sc0 ls0 ws0">3<span class="_ _9"> </span><span class="ff7 lsc">PRIVATE</span>,<span class="_ _a"> </span><span class="ff7 lsc">SHARED<span class="_ _1"> </span>&<span class="_ _10"> </span>Co.<span class="_ _1e"> </span></span><span class="lsf">37</span></div><div class="t m0 xb h8 y27 ff2 fs5 fc0 sc0 ls8 ws0">3.1<span class="_ _1f"> </span>Data<span class="_"> </span>scop<span class="_ _3"></span>e<span class="_"> </span>attribute<span class="_"> </span>clauses<span class="_ _20"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _1"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _1"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _1"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _1"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _1"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _1"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _10"> </span>.<span class="_ _21"> </span>37</div><div class="t m0 xc h8 y28 ff2 fs5 fc0 sc0 lsb ws0">3.1.1<span class="_ _12"> </span><span class="ff7 lsc">PRIVATE(</span><span class="ff8">list<span class="ff7 ls0">)<span class="_ _20"> </span></span></span><span class="lsa">.............................<span class="_ _8"> </span>3<span class="_ _c"></span>7</span></div><div class="t m0 xc h8 y29 ff2 fs5 fc0 sc0 lsb ws0">3.1.2<span class="_ _12"> </span><span class="ff7 lsc">SHARED(</span><span class="ff8">list<span class="ff7 ls0">)<span class="_ _22"> </span></span></span><span class="ls9">..............................<span class="_ _18"> </span>3<span class="_ _c"></span>8</span></div><div class="t m0 xc h8 y2a ff2 fs5 fc0 sc0 lsb ws0">3.1.3<span class="_ _12"> </span><span class="ff7 lsc">DEFAULT(<span class="_ _10"> </span>PRIVATE<span class="_ _1"> </span>|<span class="_ _1"> </span>SHARED<span class="_ _1"> </span>|<span class="_ _10"> </span>NONE<span class="_ _1"> </span>)<span class="_ _1c"> </span></span><span class="ls9">...............<span class="_ _18"> </span>3<span class="_ _c"></span>9</span></div><div class="t m0 xd h8 y2b ff2 fs5 fc0 sc0 ls0 ws0">i</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6250236f74bc5c01055be476/bg4.jpg"><div class="t m0 xa h8 y2c ff2 fs5 fc0 sc0 lsf ws0">ii<span class="_ _23"> </span><span class="ff9 ls8">CONTENTS</span></div><div class="t m0 xc h8 y2d ff2 fs5 fc0 sc0 lsb ws0">3.1.4<span class="_ _12"> </span><span class="ff7 lsc">FIRSTPRIVATE(</span><span class="ff8">list<span class="ff7 ls0">)<span class="_ _22"> </span></span></span><span class="ls9">..........................<span class="_ _8"> </span>4<span class="_ _c"></span>0</span></div><div class="t m0 xc h8 y2e ff2 fs5 fc0 sc0 lsb ws0">3.1.5<span class="_ _12"> </span><span class="ff7 lsc">LASTPRIVATE(</span><span class="ff8">list<span class="ff7 ls0">)<span class="_ _1d"> </span></span></span><span class="ls9">..........................<span class="_ _8"> </span>4<span class="_ _c"></span>1</span></div><div class="t m0 xc h8 y2f ff2 fs5 fc0 sc0 lsb ws0">3.1.6<span class="_ _12"> </span><span class="ff7 lsc">COPYIN(</span><span class="ff8">list<span class="ff7 ls0">)<span class="_ _22"> </span></span></span><span class="ls9">..............................<span class="_ _18"> </span>4<span class="_ _c"></span>2</span></div><div class="t m0 xc h8 y30 ff2 fs5 fc0 sc0 lsb ws0">3.1.7<span class="_ _12"> </span><span class="ff7 fc1 lsc">COPYPRIVATE(<span class="ff8 lsb">list</span><span class="ls0">)<span class="_ _1d"> </span></span></span><span class="ls9">..........................<span class="_ _8"> </span>4<span class="_ _c"></span>3</span></div><div class="t m0 xc h8 y31 ff2 fs5 fc0 sc0 lsb ws0">3.1.8<span class="_ _12"> </span><span class="ff7 lsc">REDUCTION(</span><span class="ff8">operator:list<span class="ff7 ls0">)<span class="_ _24"> </span></span></span><span class="ls9">.....................<span class="_ _18"> </span>4<span class="_ _c"></span>3</span></div><div class="t m0 xb h8 y32 ff2 fs5 fc0 sc0 ls9 ws0">3<span class="_ _c"></span>.<span class="_ _c"></span>2<span class="_ _10"> </span>O<span class="_ _c"></span>t<span class="_ _c"></span>h<span class="_ _c"></span>e<span class="_ _c"></span>r<span class="_ _f"></span>c<span class="_ _c"></span>l<span class="_ _c"></span>a<span class="_ _c"></span>u<span class="_ _c"></span>s<span class="_ _c"></span>e<span class="_ _c"></span>s<span class="_ _22"> </span>..................................<span class="_ _18"> </span>4<span class="_ _c"></span>6</div><div class="t m0 xc h8 y33 ff2 fs5 fc0 sc0 lsb ws0">3.2.1<span class="_ _12"> </span><span class="ff7 lsc">IF(</span><span class="ff8">scalar</span></div><div class="t m0 x3 h8 y34 ff8 fs5 fc0 sc0 lsb ws0">logical<span class="_ _a"> </span>expression<span class="ff7 ls0">)<span class="_ _9"> </span><span class="ff2 lsa">..................<span class="_ _18"> </span>4<span class="_ _c"></span>6</span></span></div><div class="t m0 xc h8 y35 ff2 fs5 fc0 sc0 lsb ws0">3.2.2<span class="_ _12"> </span><span class="ff7 fc1 lsc">NUM</span></div><div class="t m0 xe h8 y36 ff7 fs5 fc1 sc0 lsc ws0">THREADS(<span class="ff8 lsb">scalar<span class="_ _a"> </span>integer<span class="_ _8"> </span>expression</span><span class="ls0">)<span class="_ _11"> </span><span class="ff2 fc0 ls9">.............<span class="_ _8"> </span>4<span class="_ _c"></span>7</span></span></div><div class="t m0 xc h8 y37 ff2 fs5 fc0 sc0 lsb ws0">3.2.3<span class="_ _12"> </span><span class="ff7 lsc">NOWAIT<span class="_ _4"> </span></span><span class="lsa">..................................<span class="_ _18"> </span>4<span class="_ _c"></span>7</span></div><div class="t m0 xc h8 y38 ff2 fs5 fc0 sc0 lsb ws0">3.2.4<span class="_ _12"> </span><span class="ff7 lsc">SCHEDULE(<span class="ff8 ls0">t<span class="_ _1a"> </span></span>ype,<span class="_ _1"> </span>chunk)<span class="_ _24"> </span></span><span class="ls9">.......................<span class="_ _18"> </span>4<span class="_ _c"></span>8</span></div><div class="t m0 xc h8 y39 ff2 fs5 fc0 sc0 lsb ws0">3.2.5<span class="_ _12"> </span><span class="ff7 lsc">ORDERED<span class="_ _1c"> </span></span><span class="ls9">.................................<span class="_ _18"> </span>5<span class="_ _c"></span>2</span></div><div class="t m0 xa h7 y3a ff6 fs5 fc0 sc0 lsf ws0">4<span class="_ _9"> </span>The<span class="_ _a"> </span>Op<span class="_ _3"></span>enMP<span class="_ _a"> </span>run-time<span class="_ _8"> </span>library<span class="_ _25"> </span>55</div><div class="t m0 xb h8 y3b ff2 fs5 fc0 sc0 ls9 ws0">4<span class="_ _c"></span>.<span class="_ _c"></span>1<span class="_ _10"> </span>E<span class="_ _c"></span>x<span class="_ _c"></span>e<span class="_ _c"></span>c<span class="_ _c"></span>u<span class="_ _c"></span>t<span class="_ _c"></span>i<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _f"></span>e<span class="_ _c"></span>n<span class="_ _c"></span>v<span class="_ _c"></span>i<span class="_ _c"></span>r<span class="_ _c"></span>o<span class="_ _c"></span>n<span class="_ _c"></span>m<span class="_ _c"></span>e<span class="_ _c"></span>n<span class="_ _d"></span>t<span class="_ _f"></span>r<span class="_ _c"></span>o<span class="_ _c"></span>u<span class="_ _c"></span>t<span class="_ _c"></span>i<span class="_ _c"></span>n<span class="_ _c"></span>e<span class="_ _c"></span>s<span class="_ _1a"></span>........................<span class="_ _18"> </span>5<span class="_ _c"></span>5</div><div class="t m0 xc h8 y3c ff2 fs5 fc0 sc0 lsb ws0">4.1.1<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y3d ff7 fs5 fc0 sc0 lsc ws0">set<span class="_ _a"> </span>num<span class="_ _a"> </span>threads<span class="_ _11"> </span><span class="ff2 ls9">..........................<span class="_ _18"> </span>5<span class="_ _c"></span>5</span></div><div class="t m0 xc h8 y3e ff2 fs5 fc0 sc0 lsb ws0">4.1.2<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y3f ff7 fs5 fc0 sc0 lsc ws0">get<span class="_ _a"> </span>num<span class="_ _a"> </span>threads<span class="_ _11"> </span><span class="ff2 ls9">..........................<span class="_ _18"> </span>5<span class="_ _c"></span>6</span></div><div class="t m0 xc h8 y40 ff2 fs5 fc0 sc0 lsb ws0">4.1.3<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y41 ff7 fs5 fc0 sc0 lsc ws0">get<span class="_ _a"> </span>max<span class="_ _a"> </span>threads<span class="_ _11"> </span><span class="ff2 ls9">..........................<span class="_ _18"> </span>5<span class="_ _c"></span>6</span></div><div class="t m0 xc h8 y42 ff2 fs5 fc0 sc0 lsb ws0">4.1.4<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y43 ff7 fs5 fc0 sc0 lsc ws0">get<span class="_ _a"> </span>thread<span class="_ _a"> </span>num<span class="_ _26"> </span><span class="ff2 ls9">..........................<span class="_ _18"> </span>5<span class="_ _c"></span>6</span></div><div class="t m0 xc h8 y44 ff2 fs5 fc0 sc0 lsb ws0">4.1.5<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y45 ff7 fs5 fc0 sc0 lsc ws0">get<span class="_ _a"> </span>num<span class="_ _a"> </span>procs<span class="_ _1"> </span><span class="ff2 lsa">...........................<span class="_ _18"> </span>5<span class="_ _c"></span>7</span></div><div class="t m0 xc h8 y46 ff2 fs5 fc0 sc0 lsb ws0">4.1.6<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y47 ff7 fs5 fc0 sc0 lsc ws0">in<span class="_ _a"> </span>parallel<span class="_ _e"> </span><span class="ff2 ls9">............................<span class="_ _18"> </span>5<span class="_ _c"></span>7</span></div><div class="t m0 xc h8 y48 ff2 fs5 fc0 sc0 lsb ws0">4.1.7<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y49 ff7 fs5 fc0 sc0 lsc ws0">set<span class="_ _a"> </span>dynamic<span class="_ _e"> </span><span class="ff2 ls9">............................<span class="_ _18"> </span>5<span class="_ _c"></span>7</span></div><div class="t m0 xc h8 y4a ff2 fs5 fc0 sc0 lsb ws0">4.1.8<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y4b ff7 fs5 fc0 sc0 lsc ws0">get<span class="_ _a"> </span>dynamic<span class="_ _e"> </span><span class="ff2 ls9">............................<span class="_ _18"> </span>5<span class="_ _c"></span>8</span></div><div class="t m0 xc h8 y4c ff2 fs5 fc0 sc0 lsb ws0">4.1.9<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y4d ff7 fs5 fc0 sc0 lsc ws0">set<span class="_ _a"> </span>nested<span class="_ _a"> </span><span class="ff2 lsa">.............................<span class="_ _18"> </span>5<span class="_ _c"></span>8</span></div><div class="t m0 xc h8 y4e ff2 fs5 fc0 sc0 lsb ws0">4.1.10<span class="_ _e"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y4f ff7 fs5 fc0 sc0 lsc ws0">get<span class="_ _a"> </span>nested<span class="_ _a"> </span><span class="ff2 lsa">.............................<span class="_ _18"> </span>5<span class="_ _c"></span>8</span></div><div class="t m0 xb h8 y50 ff2 fs5 fc0 sc0 lsa ws0">4<span class="_ _c"></span>.<span class="_ _c"></span>2<span class="_ _10"> </span>L<span class="_ _c"></span>o<span class="_ _5"></span>c<span class="_ _d"></span>k<span class="_ _f"></span>r<span class="_ _c"></span>o<span class="_ _c"></span>u<span class="_ _c"></span>t<span class="_ _c"></span>i<span class="_ _c"></span>n<span class="_ _c"></span>e<span class="_ _c"></span>s<span class="_ _11"> </span>..................................<span class="_ _18"> </span>5<span class="_ _c"></span>9</div><div class="t m0 xc h8 y51 ff2 fs5 fc0 sc0 lsb ws0">4.2.1<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y52 ff7 fs5 fc0 sc0 lsc ws0">init<span class="_ _a"> </span>lock<span class="_ _1"> </span><span class="ff2 ls0">and<span class="_"> </span></span><span class="fc1">OMP<span class="_ _a"> </span>init<span class="_ _a"> </span>nest<span class="_ _a"> </span>lock<span class="_ _18"> </span></span><span class="ff2 ls9">...............<span class="_ _18"> </span>6<span class="_ _c"></span>0</span></div><div class="t m0 xc h8 y53 ff2 fs5 fc0 sc0 lsb ws0">4.2.2<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y54 ff7 fs5 fc0 sc0 lsc ws0">set<span class="_ _a"> </span>lock<span class="_ _1"> </span><span class="ff2 ls0">and<span class="_"> </span></span><span class="fc1">OMP<span class="_ _a"> </span>set<span class="_ _a"> </span>nest<span class="_ _a"> </span>lock<span class="_ _27"> </span></span><span class="ff2 lsa">................<span class="_ _8"> </span>6<span class="_ _c"></span>0</span></div><div class="t m0 xc h8 y55 ff2 fs5 fc0 sc0 lsb ws0">4.2.3<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y56 ff7 fs5 fc0 sc0 lsc ws0">unset<span class="_ _a"> </span>lock<span class="_ _1"> </span><span class="ff2 ls0">and<span class="_"> </span></span><span class="fc1">OMP<span class="_ _a"> </span>unset<span class="_ _a"> </span>nest<span class="_ _a"> </span>lock<span class="_ _24"> </span></span><span class="ff2 ls9">.............<span class="_ _8"> </span>6<span class="_ _c"></span>1</span></div><div class="t m0 xc h8 y57 ff2 fs5 fc0 sc0 lsb ws0">4.2.4<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y58 ff7 fs5 fc0 sc0 lsc ws0">test<span class="_ _a"> </span>lock<span class="_ _1"> </span><span class="ff2 ls0">and<span class="_"> </span></span><span class="fc1">OMP<span class="_ _a"> </span>test<span class="_ _a"> </span>nest<span class="_ _a"> </span>lock<span class="_ _18"> </span></span><span class="ff2 ls9">...............<span class="_ _18"> </span>6<span class="_ _c"></span>1</span></div><div class="t m0 xc h8 y59 ff2 fs5 fc0 sc0 lsb ws0">4.2.5<span class="_ _12"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 xe h8 y5a ff7 fs5 fc0 sc0 lsc ws0">destroy<span class="_ _a"> </span>lock<span class="_ _1"> </span><span class="ff2 ls0">and<span class="_"> </span></span><span class="fc1">OMP<span class="_ _a"> </span>destroy<span class="_ _a"> </span>nest<span class="_ _a"> </span>lock<span class="_ _18"> </span></span><span class="ff2 ls9">...........<span class="_ _18"> </span>6<span class="_ _c"></span>2</span></div><div class="t m0 xc h8 y5b ff2 fs5 fc0 sc0 ls9 ws0">4<span class="_ _c"></span>.<span class="_ _c"></span>2<span class="_ _c"></span>.<span class="_ _c"></span>6<span class="_ _e"> </span>E<span class="_ _c"></span>x<span class="_ _c"></span>a<span class="_ _c"></span>m<span class="_ _c"></span>p<span class="_ _c"></span>l<span class="_ _c"></span>e<span class="_ _c"></span>s<span class="_ _a"> </span>................................<span class="_ _8"> </span>6<span class="_ _c"></span>2</div><div class="t m0 xb h8 y5c ff2 fs5 fc0 sc0 lsb ws0">4.3<span class="_ _1f"> </span><span class="fc1 ls0">Timing<span class="_"> </span>routines<span class="_ _15"> </span></span><span class="ls9">.................................<span class="_ _18"> </span>6<span class="_ _c"></span>5</span></div><div class="t m0 xc h8 y5d ff2 fs5 fc0 sc0 lsb ws0">4.3.1<span class="_ _12"> </span><span class="ff7 fc1 lsc">OMP</span></div><div class="t m0 xe h8 y5e ff7 fs5 fc1 sc0 lsc ws0">get<span class="_ _a"> </span>wtime<span class="_ _1b"> </span><span class="ff2 fc0 lsa">.............................<span class="_ _18"> </span>6<span class="_ _c"></span>5</span></div><div class="t m0 xc h8 y5f ff2 fs5 fc0 sc0 lsb ws0">4.3.2<span class="_ _12"> </span><span class="ff7 fc1 lsc">OMP</span></div><div class="t m0 xe h8 y60 ff7 fs5 fc1 sc0 lsc ws0">get<span class="_ _a"> </span>wtick<span class="_ _1b"> </span><span class="ff2 fc0 lsa">.............................<span class="_ _18"> </span>6<span class="_ _c"></span>6</span></div><div class="t m0 xb h8 y61 ff2 fs5 fc0 sc0 lsb ws0">4.4<span class="_ _1f"> </span><span class="fc1 ls0">The<span class="_"> </span>F<span class="_ _6"></span>ortran<span class="_"> </span>90<span class="_"> </span>module<span class="_"> </span><span class="ff7 lsc">omp</span></span></div><div class="t m0 xf h8 y62 ff7 fs5 fc1 sc0 lsc ws0">lib<span class="_ _10"> </span><span class="ff2 fc0 ls9">........................<span class="_ _18"> </span>6<span class="_ _c"></span>6</span></div><div class="t m0 xa h7 y63 ff6 fs5 fc0 sc0 ls8 ws0">5<span class="_ _9"> </span>The<span class="_ _a"> </span>environmen<span class="_ _0"></span>t<span class="_ _a"> </span>v<span class="_ _0"></span>ariables<span class="_ _28"> </span>69</div><div class="t m0 xb h8 y64 ff2 fs5 fc0 sc0 lsb ws0">5.1<span class="_ _1f"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 x10 h8 y65 ff7 fs5 fc0 sc0 lsc ws0">NUM<span class="_ _a"> </span>THREADS<span class="_ _29"> </span><span class="ff2 lsa">................................<span class="_ _8"> </span>7<span class="_ _c"></span>0</span></div><div class="t m0 xb h8 y66 ff2 fs5 fc0 sc0 lsb ws0">5.2<span class="_ _1f"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 x10 h8 y67 ff7 fs5 fc0 sc0 lsc ws0">SCHEDULE<span class="_ _1"> </span><span class="ff2 lsa">..................................<span class="_ _18"> </span>7<span class="_ _c"></span>0</span></div><div class="t m0 xb h8 y68 ff2 fs5 fc0 sc0 lsb ws0">5.3<span class="_ _1f"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 x10 h8 y69 ff7 fs5 fc0 sc0 lsc ws0">DYNAMIC<span class="_ _11"> </span><span class="ff2 ls9">...................................<span class="_ _18"> </span>7<span class="_ _c"></span>1</span></div><div class="t m0 xb h8 y6a ff2 fs5 fc0 sc0 lsb ws0">5.4<span class="_ _1f"> </span><span class="ff7 lsc">OMP</span></div><div class="t m0 x10 h8 y6b ff7 fs5 fc0 sc0 lsc ws0">NESTED<span class="_ _26"> </span><span class="ff2 ls9">...................................<span class="_ _18"> </span>7<span class="_ _c"></span>1</span></div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6250236f74bc5c01055be476/bg5.jpg"><div class="t m0 xa h6 y6c ff6 fs4 fc0 sc0 ls0 ws0">Chapter<span class="_ _26"> </span>1</div><div class="t m0 xa h6 y6d ff6 fs4 fc0 sc0 ls0 ws0">Op<span class="_ _3"></span>enMP<span class="_ _26"> </span>F<span class="_ _f"></span>ortran<span class="_ _26"> </span>Application</div><div class="t m0 xa h6 y6e ff6 fs4 fc0 sc0 ls10 ws0">Program<span class="_ _26"> </span>In<span class="_ _6"></span>terface</div><div class="t m0 xa h9 y6f ff6 fs6 fc0 sc0 ls11 ws0">1.1<span class="_ _2a"> </span>In<span class="_ _0"></span>tro<span class="_ _3"></span>duction</div><div class="t m0 xa h8 y70 ff2 fs5 fc0 sc0 ls0 ws0">In<span class="_ _18"> </span>the<span class="_ _18"> </span>necessit<span class="_ _0"></span>y<span class="_ _18"> </span>of<span class="_ _18"> </span>more<span class="_ _18"> </span>and<span class="_ _18"> </span>more<span class="_ _18"> </span>computational<span class="_ _18"> </span>p<span class="_ _3"></span>o<span class="_ _0"></span>w<span class="_ _0"></span>er,<span class="_ _15"> </span>the<span class="_ _18"> </span>developers<span class="_ _18"> </span>of<span class="_ _18"> </span>computing</div><div class="t m0 xa h8 y71 ff2 fs5 fc0 sc0 ls0 ws0">systems<span class="_ _11"> </span>started<span class="_ _22"> </span>to<span class="_ _11"> </span>think<span class="_ _22"> </span>on<span class="_ _22"> </span>using<span class="_ _11"> </span>several<span class="_ _11"> </span>of<span class="_ _11"> </span>their<span class="_ _22"> </span>existing<span class="_ _11"> </span>computing<span class="_ _22"> </span>mac<span class="_ _13"></span>hines<span class="_ _11"> </span>in<span class="_ _22"> </span>a<span class="_ _11"> </span>joined</div><div class="t m0 xa h8 y72 ff2 fs5 fc0 sc0 ls8 ws0">manner.<span class="_ _8"> </span>This<span class="_ _2b"> </span>is<span class="_ _2b"> </span>the<span class="_ _2b"> </span>origin<span class="_ _2b"> </span>of<span class="_ _2b"> </span>parallel<span class="_ _2b"> </span>machines<span class="_ _2b"> </span>and<span class="_ _2b"> </span>the<span class="_ _2b"> </span>start<span class="_ _2b"> </span>of<span class="_ _2b"> </span>a<span class="_ _2b"> </span>new<span class="_ _2b"> </span>field<span class="_ _2b"> </span>for<span class="_ _2b"> </span>programmers</div><div class="t m0 xa h8 y73 ff2 fs5 fc0 sc0 ls0 ws0">and<span class="_"> </span>researc<span class="_ _0"></span>hes.</div><div class="t m0 xb h8 y74 ff2 fs5 fc0 sc0 ls8 ws0">No<span class="_ _0"></span>wada<span class="_ _0"></span>ys<span class="_"> </span>parallel<span class="_ _22"> </span>computers<span class="_ _22"> </span>are<span class="_ _22"> </span>v<span class="_ _0"></span>ery<span class="_"> </span>common<span class="_ _22"> </span>in<span class="_ _22"> </span>researc<span class="_ _0"></span>h<span class="_"> </span>facilities<span class="_ _22"> </span>as<span class="_ _22"> </span>w<span class="_ _0"></span>ell<span class="_"> </span>as<span class="_ _22"> </span>compa-</div><div class="t m0 xa h8 y75 ff2 fs5 fc0 sc0 ls0 ws0">nies<span class="_ _11"> </span>all<span class="_ _2b"> </span>ov<span class="_ _0"></span>er<span class="_ _11"> </span>the<span class="_ _11"> </span>w<span class="_ _0"></span>orld<span class="_ _11"> </span>and<span class="_ _2b"> </span>are<span class="_ _11"> </span>extensiv<span class="_ _13"></span>ely<span class="_ _11"> </span>used<span class="_ _2c"> </span>for<span class="_ _2c"> </span>complex<span class="_ _11"> </span>computations,<span class="_ _11"> </span>lik<span class="_ _0"></span>e<span class="_ _11"> </span>sim<span class="_ _13"></span>ulations</div><div class="t m0 xa h8 y76 ff2 fs5 fc0 sc0 ls8 ws0">of<span class="_"> </span>atomic<span class="_"> </span>explosions,<span class="_"> </span>folding<span class="_"> </span>of<span class="_"> </span>proteins<span class="_"> </span>or<span class="_"> </span>turbulent<span class="_ _22"> </span>flows.</div><div class="t m0 xb h8 y77 ff2 fs5 fc0 sc0 ls0 ws0">A<span class="_ _22"> </span>c<span class="_ _0"></span>hallenge<span class="_ _22"> </span>in<span class="_ _11"> </span>parallel<span class="_ _22"> </span>mac<span class="_ _13"></span>hines<span class="_ _22"> </span>is<span class="_ _11"> </span>the<span class="_ _22"> </span>dev<span class="_ _0"></span>elopment<span class="_ _11"> </span>of<span class="_ _22"> </span>co<span class="_ _3"></span>des<span class="_ _11"> </span>able<span class="_ _22"> </span>of<span class="_ _11"> </span>using<span class="_ _22"> </span>the<span class="_ _22"> </span>capabil-</div><div class="t m0 xa h8 y78 ff2 fs5 fc0 sc0 ls8 ws0">ities<span class="_"> </span>of<span class="_"> </span>the<span class="_ _22"> </span>a<span class="_ _0"></span>v<span class="_ _0"></span>ailable<span class="_"> </span>hardw<span class="_ _0"></span>are<span class="_"> </span>in<span class="_"> </span>order<span class="_"> </span>to<span class="_ _22"> </span>solv<span class="_ _13"></span>e<span class="_"> </span>larger<span class="_"> </span>problems<span class="_ _22"> </span>in<span class="_"> </span>less<span class="_ _22"> </span>time.<span class="_ _18"> </span>But<span class="_"> </span>parallel</div><div class="t m0 xa h8 y79 ff2 fs5 fc0 sc0 ls8 ws0">programming<span class="_"> </span>is<span class="_"> </span>not<span class="_"> </span>an<span class="_"> </span>easy<span class="_"> </span>task,<span class="_"> </span>since<span class="_"> </span>a<span class="_"> </span>large<span class="_"> </span>v<span class="_ _6"></span>ariety<span class="_"> </span>of<span class="_"> </span>arc<span class="_ _0"></span>hitectures<span class="_"> </span>exist.<span class="_ _18"> </span>Mainly<span class="_"> </span>tw<span class="_ _0"></span>o</div><div class="t m0 xa h8 y7a ff2 fs5 fc0 sc0 ls8 ws0">families<span class="_"> </span>of<span class="_"> </span>parallel<span class="_"> </span>mac<span class="_ _13"></span>hines<span class="_"> </span>can<span class="_"> </span>b<span class="_ _3"></span>e<span class="_"> </span>iden<span class="_ _0"></span>tified:</div><div class="t m0 xa h8 y7b ff6 fs5 fc0 sc0 lsf ws0">Shared-memory<span class="_ _a"> </span>architecture<span class="_ _15"> </span><span class="ff2 ls0">:<span class="_ _8"> </span>these<span class="_ _2b"> </span>parallel<span class="_ _2c"> </span>machines<span class="_ _2b"> </span>are<span class="_ _2c"> </span>build<span class="_ _2c"> </span>up<span class="_ _2c"> </span>on<span class="_ _2c"> </span>a<span class="_ _2c"> </span>set<span class="_ _2c"> </span>of<span class="_ _2c"> </span>pro<span class="_ _3"></span>ces-</span></div><div class="t m0 x11 h8 y7c ff2 fs5 fc0 sc0 ls8 ws0">sors<span class="_ _11"> </span>whic<span class="_ _0"></span>h<span class="_ _11"> </span>hav<span class="_ _0"></span>e<span class="_ _11"> </span>access<span class="_ _11"> </span>to<span class="_ _11"> </span>a<span class="_ _11"> </span>common<span class="_ _11"> </span>memory<span class="_ _6"></span>.<span class="_ _8"> </span>Usually<span class="_ _11"> </span>the<span class="_ _11"> </span>name<span class="_ _11"> </span>of<span class="_ _a"> </span><span class="ff6">SMP<span class="_ _22"> </span>mac<span class="_ _0"></span>hines</span></div><div class="t m0 x11 h8 y7d ff2 fs5 fc0 sc0 ls0 ws0">is<span class="_ _2c"> </span>used<span class="_ _11"> </span>for<span class="_ _11"> </span>computers<span class="_ _11"> </span>based<span class="_ _11"> </span>on<span class="_ _11"> </span>this<span class="_ _11"> </span>arc<span class="_ _0"></span>hitecture,<span class="_ _22"> </span>where<span class="_ _2c"> </span>SMP<span class="_ _11"> </span>stands<span class="_ _11"> </span>for<span class="_ _11"> </span><span class="ff6 ls8">Symmetric</span></div><div class="t m0 x11 h8 y7e ff6 fs5 fc0 sc0 ls8 ws0">Multi<span class="_ _a"> </span>Pro<span class="_ _3"></span>cessing<span class="ff2 ls0">.</span></div><div class="t m0 xa h8 y7f ff6 fs5 fc0 sc0 lsf ws0">Distributed-memory<span class="_ _a"> </span>architecture<span class="_ _15"> </span><span class="ff2 ls8">:<span class="_ _18"> </span>in<span class="_ _22"> </span>these<span class="_ _22"> </span>parallel<span class="_"> </span>mac<span class="_ _0"></span>hines<span class="_ _22"> </span>eac<span class="_ _0"></span>h<span class="_"> </span>pro<span class="_ _2d"></span>cessor<span class="_ _22"> </span>has<span class="_"> </span>its</span></div><div class="t m0 x11 h8 y80 ff2 fs5 fc0 sc0 ls0 ws0">o<span class="_ _0"></span>wn<span class="_ _2b"> </span>priv<span class="_ _0"></span>ate<span class="_ _2b"> </span>memory<span class="_ _2b"> </span>and<span class="_ _2b"> </span>information<span class="_ _2b"> </span>is<span class="_ _2b"> </span>in<span class="_ _0"></span>terchanged<span class="_ _2b"> </span>betw<span class="_ _0"></span>een<span class="_ _2b"> </span>the<span class="_ _2b"> </span>pro<span class="_ _2d"></span>cessors<span class="_ _2b"> </span>through</div><div class="t m0 x11 h8 y81 ff2 fs5 fc0 sc0 ls8 ws0">messages.<span class="_ _19"> </span>The<span class="_ _15"> </span>name<span class="_ _15"> </span>of<span class="_ _1"> </span><span class="ff6">clusters<span class="_ _15"> </span></span>is<span class="_ _15"> </span>commonly<span class="_ _15"> </span>used<span class="_ _15"> </span>for<span class="_ _15"> </span>this<span class="_ _15"> </span>type<span class="_ _10"> </span>of<span class="_ _18"> </span>computing</div><div class="t m0 x11 h8 y82 ff2 fs5 fc0 sc0 ls8 ws0">devices.</div><div class="t m0 xb h8 y83 ff2 fs5 fc0 sc0 ls8 ws0">Eac<span class="_ _0"></span>h<span class="_"> </span>of<span class="_"> </span>the<span class="_"> </span>t<span class="_ _0"></span>wo<span class="_ _22"> </span>families<span class="_"> </span>has<span class="_"> </span>its<span class="_"> </span>adv<span class="_ _6"></span>antages<span class="_ _22"> </span>and<span class="_"> </span>disadv<span class="_ _6"></span>antages<span class="_"> </span>and<span class="_ _22"> </span>the<span class="_"> </span>actual<span class="_"> </span>parallel</div><div class="t m0 xa h8 y84 ff2 fs5 fc0 sc0 ls0 ws0">programming<span class="_"> </span>standards<span class="_"> </span>try<span class="_ _a"> </span>to<span class="_"> </span>exploit<span class="_"> </span>these<span class="_"> </span>adv<span class="_ _0"></span>an<span class="_ _0"></span>tages<span class="_ _a"> </span>b<span class="_ _0"></span>y<span class="_"> </span>fo<span class="_ _2d"></span>cusing<span class="_ _a"> </span>only<span class="_"> </span>on<span class="_"> </span>one<span class="_"> </span>of<span class="_ _a"> </span>these</div><div class="t m0 xa h8 y85 ff2 fs5 fc0 sc0 ls0 ws0">arc<span class="_ _0"></span>hitectures.</div><div class="t m0 xb h8 y86 ff2 fs5 fc0 sc0 ls0 ws0">In<span class="_ _18"> </span>the<span class="_ _18"> </span>last<span class="_ _18"> </span>years<span class="_ _18"> </span>a<span class="_ _18"> </span>new<span class="_ _18"> </span>industry<span class="_ _18"> </span>standard<span class="_ _18"> </span>has<span class="_ _18"> </span>b<span class="_ _3"></span>een<span class="_ _18"> </span>created<span class="_ _18"> </span>with<span class="_ _18"> </span>the<span class="_ _15"> </span>aim<span class="_ _18"> </span>to<span class="_ _18"> </span>serve</div><div class="t m0 xa h8 y87 ff2 fs5 fc0 sc0 ls8 ws0">as<span class="_ _8"> </span>a<span class="_ _8"> </span>go<span class="_ _2d"></span>o<span class="_ _2d"></span>d<span class="_ _8"> </span>basis<span class="_ _8"> </span>for<span class="_ _8"> </span>the<span class="_ _8"> </span>developmen<span class="_ _0"></span>t<span class="_ _8"> </span>of<span class="_ _8"> </span>parallel<span class="_ _8"> </span>programs<span class="_ _8"> </span>on<span class="_ _8"> </span>shared-memory<span class="_ _8"> </span>machines:</div><div class="t m0 xa h8 y88 ff6 fs5 fc0 sc0 ls0 ws0">Op<span class="_ _2d"></span>enMP<span class="ff2">.</span></div><div class="t m0 x12 h8 y89 ff2 fs5 fc0 sc0 ls0 ws0">1</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>