ࡱ> `!Q~E@O齜 & m~:!`htQxڄ?dL]]`] ťP@(EwZKq($'3I_vϽ}~d,6s %HsITW~$f_* iI_ UKȥTV_¯s3T%4'MIyylKJB%I(?JJo %3NSD־Z7O-P˳ ^M~[[<R7y-ߪ|u|Px2* +sK|sEt"^E{wqU>۽׹? ԻΣk44n0fj / ?<#DXu~kp|,H ^E>>C]^^ǛA8Wn7VcaK^cedEz1ndg&Cj&fc%b| #d1ao(O6j㮷 㼭Fovk62C:+YjVjb/*"ㅽX`d4F Qn/9OmT?JeQ!sEY{(crn} Jڋ`t1Pܮ(fGFVˋá/jWX^NX1:=BvV. ,Lo|hh %!5'a%kn9qُS vM( UѾ `̀aCIĪ^Vo `,f]2aG]^U*v$vkv >"_o5x`UB aެ`_31nXnV@۬kw5͎vKvs\7ngn;qi"Ҭę&f_9iauZ뜶yifunkhƐz} Rٙ5Z柴1Sh2Zs,74⬞ٝ7簆Qg5x's ח׺DBRCƵ!lRm.5!H|sc?lg`R') iUf^5dyl2:9e$9\4K57Q<=kȧ͙oD)|Lc M[lVf.wכmfjm55O`?Κ1zwD zL]3hMvdL;hϘsf~LΤ33̬a3~̩m/faY^dBTl5{ͯX9MSk_3Ȭ3w37'f:ij/3\yCs {4j)4L&ޚ1w#|@->ƻAߛkq=}nƱIJ-P L87q359l&!Lw|7o{'V9ûb<-Sx͇s>5KGsaUarj ҭA3T\,`WoMO039͒s,\6 9̼)sԌs=HĿqNf/͹fAIYss\39;[rqpϚ9op L^2u7'̀Ӽ5y+j3bf>E~7^ȼE.efbԿ_>uzz>~Q eYنc19Iæ4d@cUw?szxwul6҇́0 )ܢ05|6⼬5S:RSc!3vҬϹUYyZ$b9^K[yu+okg-WճPzJ#]!^z68n%Y4Ófbf ~׬_?OWcFߩy12׼[wYZ6n`WYIjk7vTi|<6Ng9м6?7$ BYz,KXd1k,l͓y125N'XeEbU lcQVK 3eIX/t'BuiYV"o%[wkt.#;z>},큲]T^G+浵rxmܞާƱB1H; k-co +}5Pi "o>ZlmX%n}Y_eWZeؾ/BEVW3ʷgYmd>jQdA}@P?-2|o dՉ̰_dUVćeh'dj&;$tUnFVz@XI =h%dՖlRSoey,REV2ӊ"S\QcL h5nu&__/SkC{w70k;N*/VQw]es7XyjrZ/LkG v½QV7ªF[Kq1oߛnm~x|k5a- {Kp o+?^ߊvY7#V59{JNɚ嬶:,+U x߯Ou^C Fha5DjfX} mV[m^euц[=T_UC} 1mBkd6ݪͶ*k\+y_!G e>vP5B_кFݒj띶zfѦY7s덶z,q4ާo΄{*3L9Tk3̱F9ZCW7tt[-VCgU*m繁#5:[Rk`UQj5LQ˭jsQ75ڪY'B[M;?X1ΏV9ǡڣ[uZNXKgħ NYCϟ$ÚYk_S}2`;>&V|V)t >:X彂y`a`m^5XqX> F,|J0= 狃 ZlZ=. EPA *yVdՃ6xQ09o[ܼV0,K}P⯟pZ#H0##X`9 Fah61 ư\lm0eyٙ`>v-=`ه`iUfg݂%;vcYN;gU6F=}ibllݕ@ݟ:<[df+¶ۙ8hge(v.عU;݄'eI -DB,JP<=A0&\Y&˳"۰];;, ?{$#dcT6NaT6YaT6KeUq*ĶXv*ʔ*͒9YV(dSw*Nz:Y!iΆ:3dg&ř8n8Mp3Lb31[,۞ev[h1ubnVZns/ۊ t[n6f +DMns۔rn=v?{u_ׂAz9Xq5`M3|8Z^;Ζx2oMưdtfߑVGҘ-$:R!5 oIMhma1.+ 59҆lLB7nv0]#}:ƳT E bu֎Z.Z5fôFl"Z֌mĶZkvRkîj_qMo-Y.9+ oe}lO`R}":DeY6efY֕`mXjúlžY/cuVVbkz, R:,3D#7fxVd~l⇐w7`π4,W6+(Ϫ@@E,0MB.>}{`%F~dP`u x v&=qn@VW`e7pI TdkY B$)/x!g.*'lߐş=xP6oe5Pe|,"<<./ر/e;fGvF~N);92%!j2pLM2D4=R2Kczɒg,#<VRaVIcxVM fToNbNVϘ5vljjjVTVџ[?~ZZV z{5O~KazG8=TEtre~SFdfL_a]+ًYelen"xBaC Id:i$](ћ#ywLކ+p#qۻ$xw;=Sn4Kz!ZQjW_R{]p}:xTsoV7A& ӛߣ xTqUUNS9QT'#TL'7 xtlwqw8g?ݰnv&kRޝt:`(m4p;MJrZٜnuU'TӪjU%;_epV;S=s~T!gW;WPrs]sM8,9GjXa9$g9oOp~9 /;v'Ju:|X.9eg%۠n3猬\՜+2sUt^r;iUKwʨp20.L5V=RS5]W?jZjZ#*RM}8UgLP:#(g&:Ԅ2G^S#djT?5FyG(3aJ7ZW"qr#GrZS}e/MVUl*6$LKWKs'ҴȧSy~&acߑ; r=_}v~gok N&ۥ<+L_%'o5ͳ)؎MmOV*hSURABP#= }VɪI0S/ԩ,6 qy5W#8 ?~+߿0~+P/X Φ5Oi`9\pV&xW+,W ++傗"?yRZeC'a=+x~ ^` ؊ &׳g7l|p;`}d݃gX'qt&wLWQ /E6" yKl}ͳ#[o?`{lo0}":>o]+VN+ݚ_[ o dwQ/~> o`*j'pO:Rp!x (")/'-VNd %_3,.{gk1nCsjId*k>M쭽G0 1=,Bdr \mBǵc /&|" 5Ȧ\-n'86xRH#;,cdG^@~ф  }fG2z 3CAPVUeK꾜n\SR+ e6#(uVNVgx'uN6C~-uAE게RWeuM&Rץk/ɋp#Jޔ9E>#0emR6d{Q{IHϔB^-܃9V/{򶼋K?ulڇ>gw6W.SuyzUgS5ynURx)UaiJUDh rܒ_SNBVkUkl4YLS8?TTG38CiӟF;E~sp⨥g!xGT^zO]GUfzPUZ@dO\䴊$UrE U"rSWwG+ozUϼ_o UϽ>IQE#UU')O!}h?ADb\T[ZAT i!D]ٍ~_җFN\j?;gBiT>Uq[]U!N-Ta*\ŹjsA{!߯~ѡ&.;{*r*Cek.T1'˿CC-5&\`M|Z65YK8gl`ߜBg$tSr _HII96'5뤡Gt^u2N}2JЉ>p~pP&J3i4sbہp}$-u"|rx#/RAHyptrIO;m6yt"a%7䊳,#' od=WagՙE8 g"%$;5.A89! 02y};Z9&Ձ*GCH%;9(AyvQ(oSh}N]~i/;i#?t/ 8't\9I<[qKZn1-9 7zy7 /X7Ow"='v;N6~߉pN27Ӻ:,5Y5gI]َÞ8:$'Qg{Sr cUGXcL7eG~^_db2ܔ~S?o#~nt.ru;=ꮦUvWR]A{h:7-ŴxZKyh1U4neԭD) ݇~a =FL􄛖tnb1zΥK/v#4H&O{Jb+p62]J63`&[G.Mc6$l}U'$m%'=eyݗ8w#{zwH}>if!Ҥے4}CO½<2n)mA=i;tOkN:74 =*_M<㞑ܿF\^ ݫ\ ? mapmE5(Y[׽oS:? =; lü|r~^j%<4أ|^^ z7.=bgl ޱZ{kz˫c\^s^kKz}?O5C 1c["yC/7^6y)L&y^hgzcso"}Mo71o8e a8D#d2=FFd =A!ޚ NR!RN%pRA *)J+A+2iM .y"ߓd,xXNV*YAenEX2xS(Azx;,OW.5V򖒗L›@/!*@<x8h#w{B ^S<}IyׄS֓{&G:pA[1LZ58.E+@~^౴ h 25"ϯ8~7H'~ȗ)ߐ~s+ ]vh\5 Q<)£hF^uh8oE9D?6kVb9di'ɹEpdwHV9ާ4aB iIv&CfPFR.JZ&]K%@&;-X::fGdHPAwڇnC8J/mB_ m 4ɵe4֗ :)k?u$'ow-mp=􅷙V[3h2e{ZLИn $MH}ZTEC_{3/)}<ẼG<c\OH31 xəcs?ðйN;:kk6*P6š Ж<gx&ڙgݐ^=yY+Ӯosvh, %a#ݏ77= ңr gHzNNTzAΦ_Sו4a~̍p"v4fvG[B$mJWhmj0} ͨϦ$WN }iI-7j^">H!6+8I%IH鈭%#o4Fkһ.h/ccov۠jk"ⅴ'^N흗 iEH\{ŵ'Ms^k-?H>L'hOZR@wK>MCZ>;v^{.jOö{l^)>L;hy3-}|jlM84Z?O쮵C&|V/֪Zy~X+ɯj -/z ODO?hiS--ᨖlVhY|ߏZvAZZeߍh}pJ賸Zy@Jk2>]58\3.9ݯ'Vj'Z%F+MZai(#(SЀ@(qm"L䵶<~ Woi+9őZ~?h^ǂ4;?'rPʟr~CD~G~c9X&[UX[pQoꭹkӳ<'kʋ:+s<+Sj<1 ? WGݒsrWXfC<K 0K0Wdd7dkkLցf GVY%6Gg3kz^~A/O%,KwvEo}ԾO ֧ sX;OܦGw^>x2Ffad~Le Hd)vKaב,/ۑĮ5\p&-Ǡ|xCvCVDB6Ҳk21x8q spt)R-Czέ?%B4M|WkdJc ~=կ vOꏘ_sZw X{X~Uq} <5ó&?_,âM\h=9c/\vW 1gsw!vfwE]U|e0~~j>yNiؾ@|¥ߝjb. ?дb$,l#.ܢ*-(JR"-#jҢ-)bb7Ѽ$hд V 2¥{ZQ+'~cEj:,XR,X!z]s߇9Ï[;oY_,^aJCAcy򉏬pXE:B" $/іާƑ& qoM9kkՍb+EDWsn}Qm&"֢Ft[/8[OLp_a[Krn;1$]Pn_!o Zs: 4̭-RUD[BKyWL$uˋ'Nuqة':M( &8mTbfFM)&SbAtZT|uxOǺ +@eCTEEJTMUא%V`;[r /!jR>/'"xh&6scϭƜLqw&фgKW֟&" k&^mtbE@Xo &bM}qE#5[" ᾍ¼}><&X)#Yj.h9[̒?9r*Lw'9\LCx-Gr,'~r)'NHW@H'SXq&nۃs")> ZAb(&WZl fYJX's52`?}WK%}]R4^-Që#AaszEFC{^aW\JliQ_s4o-^/6jM&¶Hwk.beZo~zZW1Lk-iqb Lj_sh8~ rk qǚec}rNFML3V3b,f> ֗Ov_s?ӄ҄P9y8\bDQ4Wq?}U%(% +bRU1#JdFJk$U R 7JbS!uÕp Qpߪ+b:+>㢨sX p`>=oCROm e=qXOklET0f 29(#ZeDj]+nd )Xb -hܥE q6|74hLX`pDI^GRؘBߑhӍkfZ/Ka5y^i"T^j㽛¸4 71f4vsqpߊL;Q5+QuDf7x5c?raFe\[ @k  <>WGPB'npDF0yj5j{R4,bJlވkAqsK4$T,$Z,%@31ƑORIi$K$F iH2# tHJ"Z0$ᑴD4&1RPa:" (C_>3ibc6Mf@chW4BJ3iMm(lOF^M3jh9?B$(8HI C Hi -Ɉ0B$DC<CA( Š2P*Be աԁzC4 B; tzB/ _RF@H `2L`6̃_a1,UE[;$A z*BR# "^aMh=[䍀0)0̈́+ҋSp߅爿khf+a9,B·0ft&G0/ :CGhm48h ԆP*CIBI(!?B dl -ppH6 W "Xa `` La<10PA0zBw=C}5*B+Ay( %| 'dH !#4C2H;߅HFAڐ4!{̶p_p)䟀cp郰 l* C| D/n)48 =Bᡕ#V"uJ]O=wXeBwĻKt"剰-$Wjk:k0I22 =7p # wB]l_@xIHa[_K 001 c Gp=9!9Kt lKFr Z@3h:ԆR-^ؿU *#^ aEWYe4KTv_%j*ՠ:B@c mі h/%?%?%1%/Og@Wao` Gc`~N"p!o?C({/wQn3&؀6:X#o5ʭF8 L?tlS{yc`$a _^_Fa%]FW*\C&܆8^!<{2Q<'q nu{ `|k?8_8q.})4sP*<& #r3#˄_.^:K?6^P!ɑ(at)!1ߟ(e2L=Ht:H?Lx"-=E\G^ged?K KpoizN3`5@X$ĐahZxA5-'ȉs]&#c͎9"hQX#!sl3̆:YoVmdA_{S (D`ڋ~l[`;B;xü Y ^<͇em>;a/as_s({ !ٍ~wbs}C80,EHslK ǷuZƋ(<'"㵆V~T|pWjAmA_xQȏ~YY?s.,hlƻj(FB֋hјˣ>Da}<9?;Wc h &Da=: 峡^6/X "D\E,ȁ9!}%!<({^|n_|{1 $, L/ɑNm1ScNB("B1%$fRP3ue0SY/%/šE^xCZ䧁mP b/~#/ P& eP' 퇡}]="P/EuN^5/bvL/Oxd, }yO qN2qE_u.4C<@.ȍ;&Xȋ(/-BZb6v:@G tnz@O荾/ѷ?XaLa ⣐7ac ƌexD S ӱGL`6 sІo.ڛ/3[$"X2X"~ʘr`ˉ2&hk E| q3l #?O. {A_Y5rsaͅ'<&̰ w?we.t OKxo`AlQ"NnNc$ $xde$ʧDT@ZH #dFd(Ȏm9!XFf~}BPA (,UV@_ PBu6ԅzB#h M Bh9l;AgĻ";ވ/_ aȿG tǶ0F8a:ͅ%a2p @A_@o =t :@{BkhtKj \3-FS )&hF[Soq4)D6!VB,0q?8 yyԁZP9|Ng>8"Mp R5r-R&E]\?Ha3\S/HEy }Kb0[N3ƛ=$B"Cd,}vu8T@RHiifDSь8q3RLFʀC2ŷ!!{ BjH )0pC< ñ þq8\7ptGcBpl<&.8@bf!f 3#f]>`vy=y o1s;#/,HԖlfoAx2dOqRp{u{eH@_FhRECs&|DS;x 1k)<O1?ƼCp`!!a<hh쇿вofa/zO# `fۈ`=(<֥/e:@[Xn#mǚky>CXͽ;e^O<'ۧx"XbʉEn! |1̢޹̐wrSmU#fSg4Snʂ:{(賈2&sqh[7Wo/d.g̸7v㽡{w?\N3㼅Ǻ?ƺ7115cXc9sHsQvٿ&ְQ5` %F3>=J{yШo|?Ц dP08'3 ?T+Ǹ˛,5NԘ6c\2Ƈr=?};gkqo!V<;P=7zQ/0 )_$"PBe - m'Xj|HVjڌal3=su]jm.gSumfn N,}[+w;?2'ǝQ 70OQwm'D_g<_{l93SڞG&rBF>K{vC{ޗU{L!'I  ^dF%ʃݷg8SdVSc5VkVkRkXkWk%WkXk\ge7 rәL;"/^/Wk@0[s| [(B/TfY$"u,Rע}={O]lO__c^E^ zιo(3[=3jZJ*K+,| _e-B[&:Qa+ZϤ*(j ɇF7>FN}3Ϲ,5hF6ڔoM6qE^xzלz7h+崰xK~%H5FiKYc2/Uo׬ u=u(NW}6q\H}CXewҥω{uHtЂwSǒϮL9P b_qEGyE>(f'Kw>.ĕ'']Oѧj3%5D2-ʶ":-^N &] kյ6SﺨM+y|I=爑剛/~>@BuK/X"e)/_߭#8nAghe%`$8sFS%K/1ÍF府㚟y|1(Fhγg3Be,q1T//1D~W}&:S߇ć;$!1}H]ڣuGgta R_k|/s>"rg3S"Y c3оz{velJCÃb&S%2/ezï 708.sn<ѷr .g|8m\"7H DW|x`e\x ǃ5H?Nf@p22&-q{yNs`T=AEL֗*ָ։S'f-5T;BsTPS*f'J?ǟKOG gl4G˂sgF!Qc2K_*_2 .gI_bq:zgsW(;Y*UCS&ϵ&MǓ)VIe4Ws FʹDε:Jڹ3<E,f؉LZ#M6Bkһse|"&7=ֲZhw~4LXBc3{13vư8WRAyDo`.c9M4 V|^S쟪_Ӕ=M?ww:k&N f`hOomDA"HWbX}EAM4 qVƙx=?q_gŝNR/wn+㇂:nPv~R/W[vjWMv;<()8{m:~ʷG.c8q_ٜXٜqVϓ'h ۬nʶZX?Mjc$O+VAKv9(SX?#x^?X/2O=w?VA*#~U)^l~x6xNxƶzq%A+-[8,glM͞!gz:G="H&>kRSc$Έ>GC?UIJ+>j#+1pT3i m;j jQ=5%vn61o/[&m+[Bb7k7`EpIR0ֹqe}_``tc0"TNg0C|<}u O(S &Ѧ8ؘ 5_RsUг}¿zHgp&C0J\R '2ɹIp';W4KO4J[Fi[:KFynbmapGinq^vkGx\3/2:o&oޒo9^U^i|ܸ`>A%}$-5#?GbK]nv雹)`6`\7f6v[,FK[N65ٶJVV;fO=3M 26Z'6N;i6udUTrJk b]oK _|smG70TD%~2>v,پFL-(`b / 0DTimes New Roman.+ 0DTahomaew Roman.+ 0" DWingdingsRoman.+ 0 B.2hh88  @n?" dd@  @@`` >6 2    ( E11fI       ,2$~E@O齜 & m~Q gֳgֳ     A@  A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S"0 3@8 D FlO ʚ;ʚ;g4KdKdd)+ 0p1 pLg4KdKd`+ 0^ppp0 <4!d!dw 0.+<4ddddw 0.+0___PPT10 ppV___PPT98/ 0z{? O  _   -2Algunas rutinas que devuelven variables de entorno33 3 evoid omp_set_num_threads(int num_threads); // numero de threads del sistema (seteados en el entorno) int omp_get_num_threads(void);//numero de threads usados en el programa actual int omp_get_max_threads(void); //maximo nuemro de threads que puedo usar int omp_get_thread_num(void); // rango de los threads int omp_get_num_procs(void);//numero de procesosf 7 /!(!                                    ,PI , ~double precision d_pi_est double precision h integer i integer n double precision sum2 double precision x h = 1.0D+00 / dble ( 2 * n ) sum2 = 0.0D+00 !$omp parallel do private(x), shared(h), reduction(+: sum2) do i = 1, n x = h * real ( 2 * i - 1 ) sum2 = sum2 + 1.0D+00 / ( 1.0D+00 + x**2 ) end do d_pi_est = 4.0D+00 * sum2 / dble ( n ) return end.P<3V                                 B  "           .  _wtime = omp_get_wtime ( ); xdoty = test01 ( n, x, y ); wtime = omp_get_wtime ( ) - wtime; Double tes01(n,x,y) { int i; double xdoty=0.0; # pragma omp parallel shared ( n, x, y ), private ( i ), reduction ( + : xdoty ) # pragma omp for for ( i = 0; i < n; i++ ) { xdoty = xdoty + x[i] * y[i]; } return xdoty; } X PP PPV PP`             , , , ,                                          +   /   0` ̙33` 3` 3333f` 999MMM` f` f3` 3>?" dd v? dd @` n?" dd   @@``PR    @ ` ` p>>  4,(  _  T<+ԔֳԔֳ ?" + iHaga clic para editar el estilo del texto del patrn Segundo nivel Tercer nivel Cuarto nivel Quinto nivel5    j  Z8+gg ?"0  + D*Sistemas LAM/MPI Aitor Viana, Octavio Hombrados, Jess Lpez, Juan F. Ramos&M; 8/ hh88  Z+gg ?"0 + `*hh88  # l0+_ֳ_ֳd ?"0 + W#Haga clic para editar el estilo del$ $  T+gֳgֳ ?" P ^(2  hh88H  0@޽h? ? a( TransparenciasHc  0  @(    T@LԔֳԔֳ ?"    PHaga clic para modificar &   `@[gֳgֳ ?"`o   p*  hh88   `Mgֳgֳ ?"`o  ^*hh88  Z4Ngֳgֳ ?"@  o7Haga clic para modificar el estilo de ttulo del patrn88 H  0@޽h? ? a(q 0 `(    TxbJbJ ?2(   x* hh88  TbJbJ ?g (  z* hh88  ZbJbJ ?92]   x* hh88  ZlbJbJ ?9g ]  z* hh88Q  T\gijgij ? 7b  iHaga clic para editar el estilo del texto del patrn Segundo nivel Tercer nivel Cuarto nivel Quinto nivel5    jp  01 ? x  H  0gL? ? a(80___PPT10.o3  0( tz  H  0gL? ? a(80___PPT10.?/  0 L0 0(  r  S HR0   H  0@޽h ? a($  0   $(   r  S Ȁw`   r  S <  H  0@޽h ? a(80___PPT10.c7(&I$  0   $(   r  S 0   r  S   H  0@޽h ? a(80___PPT10.c7`~1$  0   $(   r  S 0   r  S `  H  0@޽h ? a(80___PPT10.e7-p  0 L0  L (  L  L C xxaxaAo?"@    L  `W>1  ??Arial Black5HY?fH  r L S H0   H L 0@޽h ? l.  0 P (  X  C  x     S  7b   " H  0gL ? a(rH0u=D  -_F 8QN0IGK.dS4(`b T    A4 (210 x 297 mm)E  Times New RomanTahoma WingdingsTransparenciasHDiapositiva 13Algunas rutinas que devuelven variables de entornoPIDiapositiva 4JacobiPBSDiapositiva 7 Fuentes usadasPlantilla de diseoTtulos d_!aleale$oo@Times New Roman-. 2 37 sobre PBS!.-go mas de OPENMPe diapositiva 8@ _PID_HLINKSA$mailto:clase-scmp@cecar.fcahomaew Roman.i 0" DWingdingsRoman.i 0 B.2hh88  @n?" dd@  @@`` NF 8    ( E11fI       ,2$~E@O齜 & m~Q gֳgֳ     A@  A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S"0 3@8 D FlO ʚ;ʚ;g4KdKd_i 0p1 pLg4KdKd`i 0^ppp0 <4!d!dw 0l.i<4ddddw 0l.i0___PPT10 ppV___PPT98/ 0z{? O  t_  -2Algunas rutinas que devuelven variables de entorno33 3 evoid omp_set_num_threads(int num_threads); // numero de threads del sistema (seteados en el entorno) int omp_get_num_threads(void);//numero de threads usados en el programa actual int omp_get_max_threads(void); //maximo nuemro de threads que puedo usar int omp_get_thread_num(void); // rango de los threads int omp_get_num_procs(void);//numero de procesosf 7 /!(!                                    ,PI , ~double precision d_pi_est double precision h integer i integer n double precision sum2 double precision x h = 1.0D+00 / dble ( 2 * n ) sum2 = 0.0D+00 !$omp parallel do private(x), shared(h), reduction(+: sum2) do i = 1, n x = h * real ( 2 * i - 1 ) sum2 = sum2 + 1.0D+00 / ( 1.0D+00 + x**2 ) end do d_pi_est = 4.0D+00 * sum2 / dble ( n ) return end.P<3V                                 B  "           .  _wtime = omp_get_wtime ( ); xdoty = test01 ( n, x, y ); wtime = omp_get_wtime ( ) - wtime; Double tes01(n,x,y) { int i; double xdoty=0.0; # pragma omp parallel shared ( n, x, y ), private ( i ), reduction ( + : xdoty ) # pragma omp for for ( i = 0; i < n; i++ ) { xdoty = xdoty + x[i] * y[i]; } return xdoty; } X PP PPV PP`             , , , ,                                          /Jacobi ,  diff = 0.0; #pragma omp parallel private (i, j, tdiff) { tdiff = 0.0; #pragma omp for for (i = 1; i < my_rows-1; i++) for (j = 1; j < N-1; j++) { w[i][j] = (u[i-1][j] + u[i+1][j] + u[i][j-1] + u[i][j+1])/4.0; if (fabs(w[i][j] - u[i][j]) > tdiff) tdiff = fabs(w[i][j] - u[i][j]); } #pragma omp for nowait for (i = 1; i < my_rows-1; i++) for (j = 1; j < N-1; j++) u[i][j] = w[i][j]; #pragma omp critical if (tdiff > diff) diff = tdiff; } PP                          %   !"#$%&'(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRpTVWXYZ[\]^_`abcdefghijkloqrstuvwxyz{|}Root EntrydO)a[g7@PicturesQCurrent User)SummaryInformation(TPowerPoint Document()DocumentSummaryInformation8`/ 0DTimes New Roman.+ 0DTahomaew Roman.+ 0" DWingdingsRoman.+ 0 B.2hh88  @n?" dd@  @@`` F> 5    ( E11fI       ,2$~E@O齜 & m~Q gֳgֳ     A@  A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S"0 3@8 D FlO ʚ;ʚ;g4KdKdd)+ US0p1 pLg4KdKd`+ 0^ppp0 <4!d!dw 0.+<4ddddw 0.+0___PPT10 ppV___PPT98/ 0z{? O  _  -2Algunas rutinas que devuelven variables de entorno33 3 evoid omp_set_num_threads(int num_threads); // numero de threads del sistema (seteados en el entorno) int omp_get_num_threads(void);//numero de threads usados en el programa actual int omp_get_max_threads(void); //maximo nuemro de threads que puedo usar int omp_get_thread_num(void); // rango de los threads int omp_get_num_procs(void);//numero de procesosf 7 /!(!                                    ,PI , ~double precision d_pi_est double precision h integer i integer n double precision sum2 double precision x h = 1.0D+00 / dble ( 2 * n ) sum2 = 0.0D+00 !$omp parallel do private(x), shared(h), reduction(+: sum2) do i = 1, n x = h * real ( 2 * i - 1 ) sum2 = sum2 + 1.0D+00 / ( 1.0D+00 + x**2 ) end do d_pi_est = 4.0D+00 * sum2 / dble ( n ) return end.P<3V                                 B  "           .  _wtime = omp_get_wtime ( ); xdoty = test01 ( n, x, y ); wtime = omp_get_wtime ( ) - wtime; Double tes01(n,x,y) { int i; double xdoty=0.0; # pragma omp parallel shared ( n, x, y ), private ( i ), reduction ( + : xdoty ) # pragma omp for for ( i = 0; i < n; i++ ) { xdoty = xdoty + x[i] * y[i]; } return xdoty; } X PP PPV PP`             , , , ,                                          /Jacobi ,  diff = 0.0; #pragma omp parallel private (i, j, tdiff) { tdiff = 0.0; #pragma omp for for (i = 1; i < my_rows-1; i++) for (j = 1; j < N-1; j++) { w[i][j] = (u[i-1][j] + u[i+1][j] + u[i][j-1] + u[i][j+1])/4.0; if (fabs(w[i][j] - u[i][j]) > tdiff) tdiff = fabs(w[i][j] - u[i][j]); } #pragma omp for nowait for (i = 1; i < my_rows-1; i++) for (j = 1; j < N-1; j++) u[i][j] = w[i][j]; #pragma omp critical if (tdiff > diff) diff = tdiff; } PP                          %                                      #                     +   /&  0 L0 0N(    T|gֳgֳ ?"@  Algo mas de OPENMP(2$ , hh88H  0@޽h ? a($  0   $(   r  S 0   r  S x  H  0@޽h ? a(80___PPT10.e7_rS_)+SUx6(`b   8clase-scmp@cecar.fcen.uba.arFmailto:clase-scmp@cecar.fcen.uba.ar/ 0DTimes New Roman.i 0DT  Oh+'0$@ LX |   mpidD:\Documents and Settings\miguellop\Mis documentos\Mi Documentacin\Plantillas\TransparenciasH.potale232Microsoft PowerPoint 4.0@@b@PZ@g2^@ Z[g7fG`t  (.  p--$oo--'@Times New Roman-. .2 *Algo mas de OPENMP y todo ."SystemP-՜.+,D՜.+,                                     #                     0PBS , JSsh clase-scmp@cecar.fcen.uba.ar -p 222 Pass: SCMP2012 PBS script.sh *! Kt      ,  , ,  0 +   /8  0 L0 0`(  (  Tpgֳgֳ ?"@ . $Algo mas de OPENMP y todo sobre PBS!%(2%$$ , hh88H  0@޽h ? a($  0   $(   r  S 0   r  S   H  0@޽h ? a(80___PPT10.f7PEr_Y0uen.uba.arRoot EntrydO)@RB8@PicturesQCurrent User5SummaryInformation(TUSo  !"#$%&'(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRpVWXYZ[\]^_`abcdefghijklqrstuvwxyz{|}  asPlantilla de diseoTtulos d_DocenteDocenteo@Times New Roman-. 2 37 sobre PBS!.-go mas de OPENMPe diapositiva 8@ _PID_HLINKSA$mailto:clase-scmp@cecar.fc