Databeroendetester. GCD testet (Inexakt) Diofantisk Analys

Relevanta dokument
FAQ. frequently asked questions

Om antal anpassningsbara parametrar i Murry Salbys ekvation

TENTAMENSSKRIVNING ENDIMENSIONELL ANALYS DELKURS B2/A , arctan x x 2 +1

Institutionen för tillämpad mekanik, Chalmers tekniska högskola TENTAMEN I HÅLLFASTHETSLÄRA KF OCH F MHA AUGUSTI 2017

Lösningar till Matematisk analys IV,

Signal- och bildbehandling TSBB14

BASiQ. BASiQ. Tryckoberoende elektronisk flödesregulator

KURVOR OCH PÅ PARAMETERFORM KURVOR I R 3. P(t)=(x(t),y(t),z(t)) T=(x (t),y (t),z (t)) r(t)=(x(t),y(t),z(t))

{ } = F(s). Efter lång tid blir hastigheten lika med mg. SVAR: Föremålets hastighet efter lång tid är mg. Modul 2. y 1

Texten " alt antagna leverantörer" i Adminstrativa föreskrifter, kap 1 punkt 9 utgår.

Lektion 3 Projektplanering (PP) Fast position Projektplanering. Uppgift PP1.1. Uppgift PP1.2. Uppgift PP2.3. Nivå 1. Nivå 2

Följande uttryck används ofta i olika problem som leder till differentialekvationer: A=kB. A= k (för ett tal k)

Differentialekvationssystem

Övningar i JavaScript del 3

Dagens förelf. Arbetslöshetstalet. shetstalet och BNP. lag. Effekter av penningpolitik. Tre relationer:

TENTAMEN HF1006 och HF1008

DIGITALTEKNIK. Laboration D171. Grindar och vippor

Laboration D158. Sekvenskretsar. Namn: Datum: Kurs:

Liten formelsamling Speciella funktioner. Faltning. Institutionen för matematik KTH För Kursen 5B1209/5B1215:2. Språngfunktionen (Heavisides funktion)

FÖRDJUPNINGS-PM. Nr Räntekostnaders bidrag till KPI-inflationen. Av Marcus Widén

Diverse 2(26) Laborationer 4(26)

bättre säljprognoser med hjälp av matematiska prognosmodeller!

Objects First With Java A Practical Introduction Using BlueJ. 4. Grouping objects. Collections och iterators

Följande uttryck används ofta i olika problem som leder till differentialekvationer: Formell beskrivning

Arvika 2019_243 Stömne Bertil Persson Betongteknik AB DECIBEL - Huvudresultat Beräkning: VKV SWE99TM VKV typ Ljuddata

Ingen återvändo TioHundra är inne på rätt spår men behöver styrning

Ordinära differentialekvationer,

Tentamensskrivning i Matematik IV, 5B1210.

Vakuumpumpar/-ejektorer Large

Informationsteknologi

Lektion 4 Lagerstyrning (LS) Rev NM

Kursens innehåll. Ekonomin på kort sikt: IS-LM modellen. Varumarknaden, penningmarknaden

Reglerteknik AK, FRT010

Ekvationen (ekv1) kan bl. annat beskriva värmeledningen i en tunn stav där u( x, betecknar temperaturen i punkten x vid tiden t.

Föreläsning 19: Fria svängningar I

F5: Digital hårdvara. Digitala signaler. Fördelar med digitala system. Digital kontra Analog

Följande uttryck används ofta i olika problem som leder till differentialekvationer: Formell beskrivning

shetstalet och BNP Arbetslöshetstalet lag Blanchard kapitel 10 Penningmängd, inflation och sysselsättning Effekter av penningpolitik.

3 Styrning av programflöde. Här exekveras satserna enligt först sats1 sedan sats2 och sist sats3.

Tentamen på grundkursen EC1201: Makroteori med tillämpningar, 15 högskolepoäng, lördagen den 14 februari 2009 kl 9-14.

Upphandlingar inom Sundsvalls kommun

Skillnaden mellan KPI och KPIX

a) Beräkna arean av triangeln ABC då A= ( 3,2,2), B=(4,3,3) och C=( 5,4,3).

AMatematiska institutionen avd matematisk statistik

3 Rörelse och krafter 1

AMatematiska institutionen avd matematisk statistik

Övningar i JavaScript del 7

Laboration D182. ELEKTRONIK Digitalteknik. Sekvenskretsar. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Ola Ågren v 4.

9. Diskreta fouriertransformen (DFT)

BaraTrav Inställningar Version 1.3.4

Demodulering av digitalt modulerade signaler

5B1134 MATEMATIK OCH MODELLER FEMTE FÖRELÄSNINGEN INTEGRALER

Programvara. Dimmer KNX: 1, 3 och 4 utgångar Elektriska/mekaniska egenskaper: se produktens användarhandbok. TP-anordning Radioanordning

Tentamen: Miljö och Matematisk Modellering (MVE345) för TM Åk 3, VÖ13 klockan den 27:e augusti.

VA-TAXA. Taxa för Moravatten AB:s allmänna vatten- och avloppsanläggning

Programmering Åk Blockly Games

Ha kul på jobbet är också arbetsmiljö

Algoritmer, datastrukturer och komplexitet

kl Tentaupplägg

Föreläsning 7 Kap G71 Statistik B

= (x, y) : x 2 +y 2 4, x 0, y (4r2 +1) 3 2

Glada barnröster kan bli för höga

Fakta. Naturvetenskap i Bumper Cars. NaturligtVis. Fysiklabbar på Powerland. Bumper Cars.

Laborationstillfälle 4 Numerisk lösning av ODE

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 9. Analys av Tidsserier (LLL kap 18) Tidsserie data

Detta kan ni själva ta fram i word: Skriva ut en lista över kortkommandon, gör följande

Signal- och bildbehandling TSBB14

Realtidsuppdaterad fristation

Truckar och trafik farligt för förare

Programmering Emme-makro rvinst_ic.mac version 2

ilrb 0r; f. Beslut att beställa - bestiillningen av bryggor och Y-bommar hos Svenska Pontonhamnar' c. Två protokolljusterare -

Föreläsning 8. Kap 7,1 7,2

Elektroniska skydd Micrologic 2.0 och 5.0 Lågspänningsutrustning. Användarmanual

2 Laboration 2. Positionsmätning

Övningar i JavaScript del 5

Hur simuleras Differential-Algebraiska Ekvationer?

SLUTLIGA VILLKOR. Skandinaviska Enskilda Banken AB (publ)

TISDAGEN DEN 20 AUGUSTI 2013, KL Ansvarig lärare: Helene Lidestam, tfn Salarna besöks ca kl 9

Institutionen för tillämpad mekanik, Chalmers tekniska högskola TENTAMEN I HÅLLFASTHETSLÄRA KF OCH F MHA AUGUSTI 2016

KONTROLLSKRIVNING 3. Kurs: HF1012 Matematisk statistik Lärare: Armin Halilovic

DD1310/DD1314/DA3009 PROGRAMMERINGSTEKNIK

Övningar i JavaScript del 4

Allmänt om korttidsplanering. Systemplanering Allmänt om korttidsplanering. Allmänt om vattenkraft. Det blir ett optimeringsproblem!

MATEMATIKPROV, LÅNG LÄROKURS BESKRIVNING AV GODA SVAR

Inbyggd radio-styrenhet 1-10 V Bruksanvisning

Text: Mikael Simovits & Tomas Forsberg Illustration: Jonas Englund. Stort test: Watchguard Halon Cronlab Symantec Microsoft Cleanmail

SIGNALER TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET 1

Föreläsning 4. Laplacetransformen? Lösning av differentialekvationer utan Laplacetransformen. Laplacetransformen Överföringsfunktion

Kurs: HF1012 Matematisk statistik Lärare: Armin Halilovic

BRÅDSKANDE: SÄKERHETSMEDDELANDE Fel i WIZARD 2 Barcode ID Label # 023 Innehåll

Institutionen för tillämpad mekanik, Chalmers tekniska högskola TENTAMEN I HÅLLFASTHETSLÄRA F MHA APRIL 2016

Modeller och projektioner för dödlighetsintensitet

Tunga lyft och lite skäll för den som fixar felen

Diskussion om rörelse på banan (ändras hastigheten, behövs någon kraft för att upprätthålla hastigheten, spelar massan på skytteln någon roll?

Didaktik med inriktning matematik från förskola till tidiga skolår A, del 2, vt2011. Omtentamen

Många risker när bilen mals till plåt

Programmering F-3. -Osmo Coding

Ekvationen (ekv1) kan bl. annat beskriva värmeledningen i en tunn stav där u( x, temperaturen i punkten x vid tiden t.

Transkript:

Daaberendeeser Föreläsning 12: Berendeanalys för aumaisk vekrisering ch parallellisering av seriella prgram Idé: Klla för vilka värden på index vå saser refererar samma elemen i array fr i = 1, N A(5*I + 2) =...... = A(2*I + 3) End Fr För vilka värden x respekive y på indexvariabeln i är 5x + 2 = 2y + 3, inm de akuella mråde L x,y U dvs 1 x,y N Exaka eser: Talar m a de finns/ine finns lösning i de akuella mråde Inexaka eser: Talar m a de finns e berende men ine m de gäller de akuella mråde Difanisk Analys Hia helalslösning ill berendeekvain GCD greaes cmmn divisr a, b helal, b delar a mm de exiserar helal x sådan a a = bx GCD(i 1, i 2,.., i n ) = sörsa helal sm delar i 1, i 2,.., i n Exempel GCD(14, 21, 42) = 7 Linjär Difanisk ekvain Σa i x i = c där i = 1,.., n, n 1, c, a i för alla i lösning exiserar då GCD(a) C Exempel: Har följande difaniska ekv en helalslösning? 16x+ 3 = 2y+21 a = (16, -2), C = 21-3 = 18 16x - 2y = 18 GCD(16, -2) = 2 18 Ja, de exiserar en helalslösning GCD ese (Inexak) Sruna i inervall alar m a de finns lösning men ej m de är i de inressana inervalle alar m a de ej finns lösning för resrikiv d i = 1, N d j = 1, N A(2i + 2j) =... = A(4i -6j + 3) d d d i = 1, N A(2*I)=...... = A(3*I + 198) d berendeekvain 2x + 2y - 4z + 6w = 3 GCD(2, 2, 4, 6) = 2 delar ej 3 Exiserar ej berende berendeekvain 2x - 3y = 198 GCD(2, 3) = 1 delar 198 Exiserar berende 1

Exak es Uökad Euklides algrim Lös difanisk ekvain Om lösning exiserar i inervalle exiserar berende annars ej Fungerar bra då anale bekana är vå, för dyr i övriga fall Anag a vi vill hia ax+by=gcd(a,b). Då är (x,y) = s n x + n y, där s n ch n definieras rekursiv sm: kd d I = 1, 101 A(2*I)=...... = A(3*I + 198) d Lösning ill difanisk ekv. x = 3 + 396 y = 2 + 198 1 x,y 101 1 3 + 396 101-131 -99 1 2 + 198 101-98 -49 Difanisk ekv. 2x - 3y = 198-98 <= <= -99 s j = s j-2 - q j-1 s j-1 fr j=2,,n s 0 = 1 s 1 = 0 j = j-2 - q j-1 j-1 fr j=2,,n 0 = 0 1 = 1 Där q j ch r i kmmer från Euklides algrim. Uökad Euklides algrim Difaniska ekvainer Exempel: a=252, b=198 Genm a räkna u s ch samidig sm q ch r, finner vi a 4 252-5 198=18 j q j r j s j j 0 252 1 0 1 1 198 0 1 2 3 54 1-0 1=1 0-1 1=-1 3 1 36 0-1 3=-3 1-(-1) 3=4 4 2 18 1-(-3) 1=4-1-4 1=-5 Vi har nu hia parikulärlösningen x=x 0, y=y 0. Alla lösningar har frmen: x=x 0 +bn/d, y=y 0 -an/d 5 0 2

Kdgenerering Sandardransfrmainer Frward Daaberendegrafer kan vekriseras mm alla dess berenden är framå (frward) S: A(I) =.. S : C(I) = A(I) I Backward S: C(I) = A(I-2) S : A(I) =.. I Lå S ch S vara saser i en lp. E berende S δ S sägs vara backward mm S bef S annars frward. Varje backward dependence är lpbure. A lp can be vecrized by a sequence f valid saemen rerdering ransfrmains iff is dependence graph is eiher acyclic r cnains nly elemenary lps Primära uppgif a nrmalisera prgram för a möjliggöra vidare analys, ransfrmering, // & vekrisering Exempel på ransfrmainer d-lp-nrmalisering Subskrip-nrmalisering Framåsubsiuin av skalärer Subsiuin av indukinsvariabler Wrap Arund -variabelsubsiuin Sandardisering av subskrip-uryck By namn på skalärer Opimeringsransfrmainer D-lp nrmalizain Transfrmainer för lika ändamål Vekrisering, parallellisering, minska minnesrafik, ec. Två lika klasser av ransfrmainer Eliminera berenden på e semanisk krrek sä Saemen rerdering, lp inerchange, scalar expansin, variable cpying Hia idim Prgrammönser sm ex. summering, dprduker, ec nrmalisera så a lp sarar på 1 ch har sride 1 L: d I = 1000, 1, -1 A(I) =... nrmalisera Lnrm: d $I = 1, ((1-1000+(-1)/(-1) A(1000 + ($I-1)*(-1)=... I = 1000 + MAX((1-1000+(-1))/(-1)),0)*(-1) förenkla Lnrm : d $I = 1, 1000 A(1001 -$I) =... I = 0 3

Inducin variable subsiuin Scalar renaming Byer indukinsvariabel m linjär uryck i lpvar möjliggör berendeanalys ch ransfrmainer K = 1 K = K - 2 A(K) = Inducin variable subsiuin K = 1 K = K - 2 A(1-2*I) = kan vara död kd Ger en variabel e ny namn i varje regin Delvis knverering ill single assignmen Eliminerar vissa berenden REAL X, Y, A S1: A = COS(Y)... S2: X = A S3: Y = -1.23*A... S4: A = REAL X, Y, A, $A S1: $A = COS(Y)... S2: X = $A S3: Y = -1.23*$A... S4: A = Villkr för valid saemen rerdering Lp inerchange Saemen rerdering av saser S ch S inm en lp L är valid mm de ine finns någ lp-berende berende från S ill S S: A(I) =... S :...= A(I-1) I S: A(I) =... S :...= A(I) I lp-dependen rue -> rue lp-independen rue -> ani S :...= A(I-1) S: A(I) =... I S :...= A(I) S: A(I) =... I bya plas på vå lpars nivåer i e näse ex: cyklisk berende på nivå 2 efersm de saknas berende på nivå 1 kan lparna bya plas Denna lp saknar berende på level 2 -> kan vekriseras D I = 1, N D J = 1, N S: A(I,J+1) = A(I,J)*B(I,J) End D J End D I D J = 1, N D I = 1, N S: A(I,J+1) = A(I,J)*B(I,J) End D I End D J D J = 1, N S: A(1:100,J+1) = A(1:100,J) *B(1:100,J) End D J 4

Ierain Space Graph Sä a använda lp inerchange d i = 1, 3 d j = 1, 3 A(i,j) = A(i-1, j +1) d d i-lp yers S 1,1 S 1,2 S 1,3 S 2,1 S 2,2 S 2,3 S 3,1 S 3,2 S 3,3 i-lp yers j-lp yers S 1,1 S 1,2 S 1,3 S 2,1 S 2,2 S 2,3 S 3,1 S 3,2 S 3,3 j-lp yers Placera längsa lpen på pimal sälle Vekrisering: Vill flya lpar med cykliska berenden uå ch lpar uan berenden inå D I = 1, 10000 D J = 1, 5 S: A(J,I) = B(J,I)*C(J-1,I+1) End D J End D I D J = 1, 5 D I = 1, 10000 S: A(J,I) = B(J,I)*C(J-1,I+1) End D I End D J d i = 1, 3 d j = 1, 3 A(i,j) = A(i-1, j -1) d d S 1,1 S 1,2 S 1,3 S 2,1 S 2,2 S 2,3 S 3,1 S 3,2 S 3,3 S 1,1 S 1,2 S 1,3 S 2,1 S 2,2 S 2,3 S 3,1 S 3,2 S 3,3 Parallellisering: Flya parallelliserbara lpar uå ch flya lpar med cykliska berenden inå Minnesaccess: Öka lkalie Scalar expansin Nde spliing För a reducera berenden så skapas en kpia av skalär variabel för varje ierain, (skalär expanderas ill array) D I = 1, 100 S1: A = B(I)*C(I) S2: D(I) = A + 1 S3: E(I) = A*(D(I)-2) End D I Efer expansin av A ill $A så försvinner cyklisk berende, vekrisering således möjlig D I = 1, 100 S1: $A(I) = B(I)*C(I) S2: D(I) = $A(I) + 1 S3: E(I) = $A(I)*(D(I)-2) End D I 1 a 1 a S1 S2 S3 S'1 S'2 S'3 inf 1 Splia saserna i mindre saser D I = 1, N S : B(I) = A(I) + C(I)*D(I) S : A(I+1) = B(I) * (D(I)-C(I)) End D I Inför T1 ch T2 ch splia D I = 1, N S1: T1(I) = C(I)*D(I) S2: T2(I) = D(I)-C(I) S3: B(I) = A(I) +T1(I) S4: A(I+1)= B(I)*T2(I) End D I Lpdisribuin & vekrisering T1(1:N) = C(1:N)*D(1:N) T2(1:N) = D(1:N)-C(1:N) D I = 1, N S3: B(I) = A(I) + T1(I) S4: A(I+1)= B(I)*T2(I) End D I 5

Lp disribuin E exempel på felakig lp disribuin Lpdisribuin mrganiserar insanser av saser så a varje sas exekveras för alla dess elemen i indexmängden innan någn annan sas sm följer exuell exekveras d J = 1, 100 d I = 1, 100 C(I,J) = 0.0 d K = 1, 100 C(I,J) = C(I,J) + A(I,K) * B(K,J) K I and J Lp disribuin d J = 1, 100 d I = 1, 100 C(I,J) = 0.0 I and J d J = 1, 100 d I = 1, 100 d K = 1, 100 C(I,J) = C(I,J) + A(I,K) * B(K,J) K I and J S: C(I) = A(I-2) S : A(I) =.. I Lp-disribuin försör lpbure berende S: C(I) = A(I-2) I S : A(I) =.. I När är vekrisering semanisk k? Berenden sm ej förhindrar vekrisering vekrisering OK m alla berenden bibehålls! d I = 1, 100 S: A(I) = 0 inga berenden allså OK! genererad vekrsas A(1:100) = 0 d I = 1, 100 S: A(I+1) = A(I) + B(I) S(1): A(2)= A(1) * B(1) S(2): A(3)= A(2) * B(2) vekrisering INTE OK y lpbure berende L: d I = 1, 100 S: D(I) = A(I-1) *D(I) S : A(I) = B(I) + C(I) Ändra exuell rdning på S ch S lp disribuin ill vå lpar L21: d I = 1, 100 S : A(I) = B(I) + C(I) A(1:100) = B(1:100) + C(1:100) D(1:100) = A(0:99) *D(1:100) L1: d I = 1, 100 S : A(I) = B(I) + C(I) S: D(I) = A(I-1) *D(I) L22: d I = 1, 100 S: D(I) = A(I-1) *D(I) vekrisera resula 6

Exempel på vekrisering Exempel på pariell vekrisering d 10 J = 2, N s1: A(J) = B(J) s2: C(J) = A(J) + B(J-1) s3: E(J) = C(J+1) s4: B(J) = A(J) + 2 d s1: A(2) = B(2) s2: C(2) = A(2) + B(1) s3: E(2) = C(3) s4: B(2) = A(2) + 2 s1: A(3) = B(3) s2: C(3) = A(3) + B(2) s3: E(3) = C(4) s4: B(3) = A(3) + 2 s1 s2 s3 s4 d 10 J = 2, N s1: A(J) = B(J) s2: C(J) = A(J) + B(J-1) s3: E(J) = C(J+1) s4: B(J) = C(J) + 2 d s1: A(2) = B(2) s2: C(2) = A(2) + B(1) s3: E(2) = C(3) s4: B(2) = C(2) + 2 s1: A(3) = B(3) s2: C(3) = A(3) + B(2) s3: E(3) = C(4) s4: B(3) = C(3) + 2 s1 s2 s3 s4 s1 / s3 s4 s2 s1: A(2:N) = B(2:N) s3: E(2:N) = C(3:N+3) s4: B(2:N) = A(2:N) + 2 s2: C(2:N) = A(2:N) + B(1:N-1) s1 s3 s2 s4 s1: A(2:N) = B(2:N) s3: E(2:N) = C(3:N+3) d 10 J = 2, N s2: C(J) = A(J) + B(J-1) s4: B(J) = C(J) + 2 d Vekrisering av innerlp rs berenden på yerlp Parallellisering av lpar Cyklisk berende på nivå 1, inge berende på innerlpen d J = 1, M S: C(I,J) = C(I-1, J) - D(I-1, J+1) J I Om yerlpen ej mdifieras bibehålls berendena, innerlpen kan således vekriseras S: C(I,1:N) = C(I-1, 1:N) - D(I-1, 2:N+1) I Mål - minimera en lps exekveringsid Medel - unyja parallellie mellan ierainer lika ierainer på lika prcessrer Begränsningar Daaberende mellan ierainer Lasbalans ierainer måse fördelas jämn på prcessrer OH pga kmmunikain & synkrniseringar 7

Saisk Schedulering Dynamisk lp-schedulering wrap mapping av n ierainer på p prcessrer n ierainer indelas i (n div p) +1 rundr alla rundr um den sisa uför p ierainer parallell P1 P2 P3 P4 1 2 3 4 5 6 7 8 9 10 par g := 1, P fr i = g, N sep P s(i) end fr end par blck mapping av n ierainer på p prcessrer m (me <= n md p) ag (n div p) +1 ierainer annars m (me > n md p) ag n md p ierainer P1 P2 P3 P4 1 4 7 9 2 5 8 10 3 6 Prcessr ar ierainer från prcesskö nera a dea ksar exra pga köhanering par g := 1, P i = p() while n empy() d s(i) i = p() end while end par ierainer Lp-spreading (berende saser) Lp-spreading (berende saser) Balansera disribuin av saser då anale prcessrer ej mulipel av anale ierainer par g := 1, 4 s1(i); s2(i); s3(i); end par s j+1 (i) berende av s j (i) kan ge upphv ill fel resula vid lpspreading par g := 1, 4 s1(i); s2(i); s3(i); end par s2 berr av s1, s3 berr av s2 s1(1) s2(1) s3(1) s1(4) s2(4) s3(4) s1(2) s2(2) s3(2) s1(3) s2(3) s3(3) s1(1) s2(1) s3(1) s1(2) s2(2) s3(2) s1(3) s2(3) s3(3) s1(4) s2(4) s3(4) s1(1) s2(1) s3(1) s1(2) s2(2) s3(2) s1(3) s2(3) s3(3) s1(4) s2(4) s3(4)!#"$&% -.0/1. 2 s1(4) /43 53 6 ')( 6 6 *+, " + s2(4) 8

' När jänar man på lpspreading av berende saser? Knrllfrågr Då N > p lönar sig lpspreading, annars ej flera ierainer än prcessrer gör a berende saser hamnar i lika rundr s j (i) körs mins en runda innan s j+1 (i) rdning upprähållen mha sync(i,j), wai(i,j) % s1(1) s1(2) s1(3) s1(4) s2(1) s2(2) s2(3) s2(4) s3(1) s3(2) s3(3) s3(4) Är dessa lpar vekriserbara direk eller efer någn ransfrmain? 1. d i = 1, N A(i+1) = A(i) * B(i) 2. d i = 1, N A(i-1) = A(i) * B(i) 3. d i = 1, N A(i+k) = A(i) * B(i) 4. d i = 1, N d j = 1, N A(i,j) = B(i,j) * C(i,j) Ta fram berendegrafen för följande kdsnu, ch visa hur evenuella ani- eller upuberenden kan elimineras. A(I) = B C(I) = A(I) + 1 B= A(I+1) + 7 9