College 13: Patterns (2)

Maat: px
Weergave met pagina beginnen:

Download "College 13: Patterns (2)"

Transcriptie

1 Concurrency Gerard Tel / Jacco Bikker - november 2016 februari 2017 College 13: Patterns (2) Welkom!

2 genda: Collective Operations Reduce Scan Stencil Recurrence

3 Concurrency college 13 Patterns (2) 3 Collectives sequence Wat vooraf ging map nesting (dynamisch) nesting fork dependency divide & conquer

4 Concurrency college 13 Patterns (2) 4 Collectives Wat vooraf ging SIMD: Vector parallellisme (aka parallellisme op instructie-niveau) Regular parallelism Data parallellisme Map pattern OpenCL / GPGPU: Single Instruction Multiple Thread / Lockstep Streaming algorithms Regular parallelism Data parallellisme Map pattern

5 Concurrency college 13 Patterns (2) 5 Collectives Wat vooraf ging

6 Concurrency college 13 Patterns (2) 6 Collectives Collective Operations Verzameling van patterns voor het verwerken van verzamelingen als geheel in plaats van als individuele elementen. Voorbeelden: Reduce Scan Stencil Recurrence Collective operations zijn de patronen die we toepassen op embarrassing parallelism.

7 genda: Collective Operations Reduce Scan Stencil Recurrence

8 Concurrency college 13 Patterns (2) 8 Reduce Reduction Combineren van data tot een enkel gegeven. Combineer n input elementen met combiner functie : +, * -, / matrix vermenigvuldiging min, max addition with saturation complexe functie specificeerbare functie

9 Concurrency college 13 Patterns (2) 9 Reduce Reduction Combineer n input elementen met combiner functie x 0 x 1 x 2 x 3 x 4 x 5 y = n 1 x i i=0 + + Wat als n = 0? + y = n 1 i=0 x i, voor n > 0 0, voor n = y

10 Concurrency college 13 Patterns (2) 10 Reduce Reduction Combineer n input elementen met combiner functie Wat als n = 0? y = n 1 i=0 x i assert( n > 0 ); y = x[0]; for( int i = 1; i < n; i++ ) y += x[i]; y = n 1 i=0 x i, voor n > 0 0, voor n = 0 y = identity; for( int i = 0; i < n; i++ ) y += x[i];

11 Concurrency college 13 Patterns (2) 11 Reduce Reduction Toepassingen: Gemiddelde waarde berekenen (Bijvoorbeeld voor exposure control) Bepalen hoeveel elementen voldoen aan een bepaalde voorwaarde Dieptebereik van een beeld bepalen (min, max z)

12 Concurrency college 13 Patterns (2) 12 Reduce Reduction Combineer n input elementen met combiner functie De reductie kan in parallel worden uitgevoerd: N/2 threads combineren steeds twee elementen. De parallelle reductie vergt log 2 N stappen, maar alleen wanneer we altijd N/2 threads kunnen gebruiken. Let op: optional parallelism neemt snel af (dit is het omgekeerde van wat er bij divide and conquer gebeurde).

13 Concurrency college 13 Patterns (2) 13 Reduce Reduction Combineer n input elementen met combiner functie Voorbeeld: dot product (NED: inproduct). c = B c = x B x + y B y + z B z c = N 1 i=0 i B i

14 Concurrency college 13 Patterns (2) 14 Reduce Reduction Combineer n input elementen met combiner functie Parallelle executie verandert de volgorde waarin we operaties uitvoeren. is een binaire operatie, i.e.: f: S S S. Om bij herordenen hetzelfde resultaat te krijgen moet associatief zijn.

15 Concurrency college 13 Patterns (2) 15 Reduce Reduction Om bij herordenen hetzelfde resultaat te krijgen moet associatief zijn. ssociatief: X Y Z = X (Y Z) Commutatief: X Y = Y X ssociatief Commutatief +, * -, / matrix * matrix min, max signed addition w/ saturation complexe functie specificeerbare functie????

16 Concurrency college 13 Patterns (2) 16 Reduce Reduction Signed addition with saturation associativiteit: Om bij herordenen hetzelfde resultaat te krijgen moet associatief zijn. Byte / unsigned char: = 100 B = 100 C = -50 +(B+C) = (100-50) = = 127 (+B)+C = ( ) - 50 = = 77

17 Concurrency college 13 Patterns (2) 17 Reduce Reduction Combineer n input elementen met combiner functie Om bij herordenen hetzelfde resultaat te krijgen moet associatief zijn. c = x B x + y B y + z B z c = x B x + ( y B y + z B z )

18 Concurrency college 13 Patterns (2) 18 Reduce Reduction ssociatief: X Y Z = X (Y Z) Commutatief: X Y = Y X ssociatief Commutatief +, * -, / matrix * matrix min, max signed addition w/ saturation complexe functie specificeerbare functie floating point +, *??????

19 Concurrency college 13 Patterns (2) 19 Reduce Reduction Floating point add / mul associativiteit: Stel: = B = C = En: floating point waarden worden met 7 posities opgeslagen. Dan: = = = = = =

20 Concurrency college 13 Patterns (2) 20 Reduce Reduction ssociatief: X Y Z = X (Y Z) Commutatief: X Y = Y X ssociatief Commutatief +, * -, / matrix * matrix min, max signed addition w/ saturation complexe functie specificeerbare functie floating point +, *????

21 Concurrency college 13 Patterns (2) 21 Reduce Reduction Voor reduction is alleen associativiteit vereist. y = x 0 x 1 x 2 x 3 x 4 x 5 x 0 x 1 x 2 x 3 x 4 x 5 = ((((x 0 x 1 ) x 2 ) x 3 ) x 4 ) x 5 = x 0 x 1 x 2 x 3 x 4 x 5 y

22 Concurrency college 13 Patterns (2) 22 Reduce Reduction Voor reduction is alleen associativiteit vereist. x 0 x 1 x 2 x 3 x 4 x 5 y = x 0 x 1 x 2 x 3 x 4 x 5 = ((((x 0 x 1 ) x 2 ) x 3 ) x 4 ) x 5 = x 0 x 1 x 2 x 3 x 4 x 5 y

23 Concurrency college 13 Patterns (2) 23 Reduce Reduction x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 Vector operatie Scalar operaties y

24 Concurrency college 13 Patterns (2) 24 Reduce x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 Reductie met vector operaties: convergeert naar optimale benutting van vector hardware. Let op: dit vereist naast associativiteit ook commutativiteit. y

25 Concurrency college 13 Patterns (2) 25 Reduce Reduction Dit vereist commutativiteit : Dit is goed te zien wanneer we 2-wide SIMD gebruiken. x 0 + x 1 + x 2 + x 3 (x 0 + x 2 ) + (x 1 + x 3 ) x 1 en x 2 zijn van plaats verwisseld.

26 Concurrency college 13 Patterns (2) 26 Reduce Reduction ssociatief: X Y Z = X (Y Z) Commutatief: X Y = Y X ssociatief Commutatief +, * -, / matrix * matrix min, max signed addition w/ saturation complexe functie specificeerbare functie floating point +, *???? Parallelle reductie: Vereist associativiteit en (voor efficiënt gebruik van vector instructies) commutativiteit. Onder deze voorwaarden is optimaal gebruik van vector hardware mogelijk (SIMD / GPU).

27 Concurrency college 13 Patterns (2) 27 Reduce Parallel Reduction Samenvatting: Uit te voeren in log 2 N stappen, met N/2 threads voor de eerste stap. Uit te voeren met SIMD; hierbij wordt de vector hardware vrijwel volledig benut. Valkuil: Floating point addition & multiplication is niet (volledig) associatief. Parallel reduction is in dat geval dus niet deterministisch.

28 genda: Collective Operations Reduce Scan Stencil Recurrence

29 Concurrency college 13 Patterns (2) 29 Scan lle reducties van een input set, met als resultaat een output set met dezelfde omvang. Twee varianten: Inclusive: Exclusive: y n = y n = n i=0 n 1 i=0 x i x i

30 Concurrency college 13 Patterns (2) 30 Scan Voorbeeld: Summed rea Table I Σ x, y = x x y y i(x, y )

31 Concurrency college 13 Patterns (2) 31 Scan Voorbeeld: Summed rea Table I Σ x, y = x x y y i(x, y ) Met een ST kunnen we een box filter van willekeurige grootte bepalen in O(1) tijd: V = I C I D I B + I w h D B C

32 Concurrency college 13 Patterns (2) 32 Scan Summed rea Table - Separation Scan 0 Scan 0 Scan Scan 0 0

33 Concurrency college 13 Patterns (2) 33 Scan Summed rea Table - Separation Scan Scan Scan Scan Scan 0 0 Scan 0 0 Scan 0 0 Scan 0 0

34 Concurrency college 13 Patterns (2) 34 Scan Voorbeeld: Caveman Hoe weet thread 1 dat de eerste output op positie 4 in de array moet komen? thread 0 thread 1 1. Dat weet thread 1 helemaal niet; beide threads doen atomic incs om te voorkomen dat ze dezelfde array positie beschrijven.

35 Concurrency college 13 Patterns (2) 35 Scan Voorbeeld: Caveman Hoe weet thread 1 dat de eerste output op positie 4 in de array moet komen? thread 0 thread 1 1. Dat weet thread 1 helemaal niet; beide threads doen atomic incs om te voorkomen dat ze dezelfde array positie beschrijven. (de data van thread 1 en 2 staat nu door elkaar in de output array; is dat een probleem?)

36 Concurrency college 13 Patterns (2) 36 Scan Voorbeeld: Caveman Hoe weet thread 1 dat de eerste output op positie 4 in de array moet komen? thread 0 thread 1 1. Dat weet thread 1 helemaal niet; beide threads doen atomic incs om te voorkomen dat ze dezelfde array positie beschrijven. 2. Met een scan.

37 Concurrency college 13 Patterns (2) 37 Scan Voorbeeld: Caveman Hoe weet thread 1 dat de eerste output op positie 4 in de array moet komen? thread 0 thread 1 thread 2 thread 3 thread 4 thread 5 thread 6 thread 7 1. Dat weet thread 1 helemaal niet; beide threads doen atomic incs om te voorkomen dat ze dezelfde array positie beschrijven. 2. Met een scan. exclusive scan:

38 Concurrency college 13 Patterns (2) 38 Scan Identity waarde lle reducties van een input set, met als resultaat een output set met dezelfde omvang. // inclusive total = 0; for( int i = 0; i < n; i++ ) { total += x[i]; y[i] = total; // loop-carried dependency } // exclusive total = 0; for( int i = 0; i < n; i++ ) { y[i] = total; // loop-carried dependency total += x[i]; }

39 Concurrency college 13 Patterns (2) 39 Scan

40 Concurrency college 13 Patterns (2) 40 Scan Identity waarde Nuttig voor tiled parallel scan. Tiled: meerdere seriële scans in parallel. Seriële scans: O(1) opslag, versus O(n) voor de parallelle versie.

41 Concurrency college 13 Patterns (2) 41 Scan Parallel Scan for( d = 0; d < log 2 n; d++ ) for all k in parallel do if k >= 2 d x[k] += x[k 2 d ] d=0, 2 d = 1 d=1, 2 d = 2 d=2, 2 d =

42 Concurrency college 13 Patterns (2) 42 Scan Parallel Scan Span: log n Work: ~ n log n d=1, 2 d 1 = S P = T 1 T n log n log n = n d=2, 2 d 1 = T 1 met het seriële algoritme: n S P = T 1 T = n log n d=3, 2 d 1 =

43 Concurrency college 13 Patterns (2) 43 Scan Parallel Scan De parallel scan, uitgevoerd op de 32 threads in een warp (OpenCL): for( d = 0; d < log 2 n; d++ ) for all k in parallel do if k >= 2 d x[k] += x[k 2 d ] int scan_exclusive( local int* input, int lane ) { if (lane > 0 ) input[lane] += input[lane - 1]; if (lane > 1 ) input[lane] += input[lane - 2]; if (lane > 3 ) input[lane] += input[lane - 4]; if (lane > 7 ) input[lane] += input[lane - 8]; if (lane > 15) input[lane] += input[lane - 16]; return (lane > 0)? input[lane - 1] : 0; }

44 Concurrency college 13 Patterns (2) 44 Scan Parallel Scan CaveMan zal al snel meer taken dan 32 hebben. Waarom is de warp scan dan nuttig? 32 threads weten hoeveel ruimte ze samen nodig hebben in de output array; elk van de 32 threads weet welk deel van die ruimte beschikbaar is (zonder atomic); slechts één van de threads voert de atomic add uit. De warp scan beperkt dus het aantal atomics. for( d = 0; d < log 2 n; d++ ) for all k in parallel do if k >= 2 d x[k] += x[k 2 d ] Zie ook: Kepler TM GK110/210 Whitepaper, tomic operations can often be processed at rates similar to global load operations.

45 Concurrency college 13 Patterns (2) 48 Scan Parallel Scan Toepassingen: Stream Compaction : Caveman, ray tracing,... Filter : verwijder gemarkeerde elementen, QuickSort : partitioneren De parallel scan is een generieke tool.

46 genda: Collective Operations Reduce Scan Stencil Recurrence

47 Concurrency college 13 Patterns (2) 50 Stencil Een map waarbij elke output wordt bepaald op basis van een reeks inputs met een set vaste offsets t.o.v. de output positie.

48 Concurrency college 13 Patterns (2) 51 Stencil Een map waarbij elke output wordt bepaald op basis van een reeks inputs met een set vaste offsets t.o.v. de output positie.

49 Concurrency college 13 Patterns (2) 52 Stencil 2D Stencil Kenmerken: iedere kernel heeft meerdere inputs; kernels gebruiken elkaars output niet; overlap van kernel input; speciale gevallen langs de randen.

50 Concurrency college 13 Patterns (2) 53 Stencil 2D Stencil - Efficiënte uitzonderingen for( int x = 0; x < W; x++ ) { for( int y = 0; y < H; y++ ) { input1 = read_grid[y - 1][x]; input2 = read_grid[y][x + 1]; input3 = read_grid[y + 1][x]; input4 = read_grid[y][x - 1]; output = blend( input1 input4 ); } } Let op: conditional code!

51 Concurrency college 13 Patterns (2) 54 Stencil 2D Stencil - Cache for( int x = 0; x < W; x++ ) { for( int y = 0; y < H; y++ ) { input1 = read_grid[y - 1][x]; input2 = read_grid[y][x + 1]; input3 = read_grid[y + 1][x]; input4 = read_grid[y][x - 1]; output = blend( input1 input4 ); } } Let op: memory access pattern

52 Concurrency college 13 Patterns (2) 55 Stencil 2D Stencil - Cache for( int y = 0; y < H; y++ ) { for( int x = 0; x < W; x++ ) { input1 = read_grid[y - 1][x]; input2 = read_grid[y][x + 1]; input3 = read_grid[y + 1][x]; input4 = read_grid[y][x - 1]; output = blend( input1 input4 ); } }

53 Concurrency college 13 Patterns (2) 56 Stencil 2D Stencil - Tiling Voor grote datasets kan significante overlap tussen de inputs voor twee regels toch leiden tot slechte benutting van de cache.

54 Concurrency college 13 Patterns (2) 57 Stencil 2D Stencil - Tiling Voor grote datasets kan significante overlap tussen de inputs voor twee regels toch leiden tot slechte benutting van de cache. Optimale data locality wordt bereikt met een Morton curve.

55 Concurrency college 13 Patterns (2) 58 Stencil 2D Stencil Minimaliseren van branch misprediction: gebruik een kernel voor interior nodes, en één voor boundary nodes. Optimaliseren van data locality: verwerk de set zoveel mogelijk lineair; gebruik tiling, afgestemd op de grootte van de cache; gebruik een Morton curve.

56 genda: Collective Operations Reduce Scan Stencil Recurrence

57 Concurrency college 13 Patterns (2) 60 Recurrence Een map waarbij elke output wordt bepaald op basis van een reeks outputs met een set vaste offsets t.o.v. de output positie.

58 Concurrency college 13 Patterns (2) 61 Recurrence Kenmerken Geneste loop met regelmatige data dependencies Speciale gevallen langs de randen Parallelle verwerking: Separating hyperplanes Separable filters

59 Concurrency college 13 Patterns (2) 62 Recurrence Separating hyperplanes Voor cellen op een hyperplane geldt dat alle benodigde resultaten berekend zijn op een eerder verwerkt hyperplane.

60 Concurrency college 13 Patterns (2) 63 Recurrence Separating hyperplanes Voor cellen op een hyperplane geldt dat alle benodigde resultaten berekend zijn op een eerder verwerkt hyperplane. for( int y = 0; y < 4; y++ ) { for( int x = 0; x < 4; x++ ) { v[y][x] = average( v[y 1][x], v[y][x + 1], v[y + 1][x], v[y][x 1] ); } }

61 Concurrency college 13 Patterns (2) 64 Recurrence Voorbeeld: Summed rea Table Serieel: cell(x,y) += cell(x-1,y) + cell(x,y-1) cell(x-1,y-1)

62 genda: Collective Operations Reduce Scan Stencil Recurrence

63 Concurrency college 13 Patterns (2) 67 Tot Slot Collectives Verzameling van patterns voor het verwerken van verzamelingen als geheel in plaats van als individuele elementen. Reduce Scan Stencil Recurrence Deze patronen zijn vooral nuttig voor GPU en SIMD code.

64 Concurrency college 13 Patterns (2) 68 Tot Slot Leesmateriaal: Boek hoofdstuk 5 en 7

65 Concurrency Gerard Tel / Jacco Bikker - november 2016 februari 2017 EINDE van Patterns (2) volgende college: Monte Carlo

Toetsbundel Deel 2 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!.

Toetsbundel Deel 2 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!. Toetsbundel Deel 2 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!. Deze bundel bevat een collectie toetsvragen over het tweede deel van Concurrency. Behalve dat goede antwoorden worden gegeven,

Nadere informatie

Concurrency. Gerard Tel / Jacco Bikker - november 2017 februari College 8: Patronen. Welkom!

Concurrency. Gerard Tel / Jacco Bikker - november 2017 februari College 8: Patronen. Welkom! Concurrency Gerard Tel / Jacco Bikker - november 2017 februari 2018 College 8: Patronen Welkom! Previously in Concurrency Blur embarrassingly parallel ST prefix-sum loop dependency Blur embarrassingly

Nadere informatie

Tweede Toets Concurrency 2 februari 2017, , Educ-β.

Tweede Toets Concurrency 2 februari 2017, , Educ-β. Tweede Toets Concurrency 2 februari 2017, 8.30 10.30, Educ-β. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe

Nadere informatie

Concurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom!

Concurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom! Concurrency Gerard Tel / Jacco Bikker - november 2015 januari 2016 Welkom! Agenda: Wat vooraf ging Taken en Data Hardware Performance Theorie Concurrency college 3 Hardware 3 Previously in Concurrency

Nadere informatie

college 2: Introductie

college 2: Introductie Concurrency Gerard Tel / Jacco Bikker - november 2017 februari 2018 college 2: Welkom! Agenda: Concepten en patronen Multi-threading in C# Concurrency college 2 3 Concurrency college 2 4 Jacco Bikker j.bikker@uu.nl

Nadere informatie

Concurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom!

Concurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom! Concurrency Gerard Tel / Jacco Bikker - november 2015 januari 2016 Welkom! Agenda: Concepten en patronen Multi-threading in C# Concurrency college 1 3 Alles Parallel Opteron 6300 16 cores i7 4 cores Atom

Nadere informatie

College 15: Monte-Carlo

College 15: Monte-Carlo Concurrency Gerard Tel / Jacco Bikker - november 2016 februari 2017 College 15: Monte-Carlo Welkom! Agenda: Monte-Carlo Heterogeneous Computing Brigade Toets 2 Concurrency college 15 Monte-Carlo 3 Monte-Carlo

Nadere informatie

Tentamen Computersystemen

Tentamen Computersystemen Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:

Nadere informatie

Toetsbundel Deel 2 Concurrency 25 oktober 2017, Gerard Tel, Niet verspreiden 1!.

Toetsbundel Deel 2 Concurrency 25 oktober 2017, Gerard Tel, Niet verspreiden 1!. Toetsbundel Deel 2 Concurrency 25 oktober 2017, Gerard Tel, Niet verspreiden 1!. Deze bundel bevat een collectie toetsvragen over het tweede deel van Concurrency. Behalve dat goede antwoorden worden gegeven,

Nadere informatie

College 4: Mechanismen

College 4: Mechanismen Concurrency Gerard Tel / Jacco Bikker - november 2017 februari 2018 College 4: Mechanismen Welkom! Agenda: Wat vooraf ging Hardware Electronic components are submerged into a bath of dielectric heat transfer

Nadere informatie

College 17: Monte-Carlo

College 17: Monte-Carlo Concurrency Gerard Tel / Jacco Bikker - november 2017 februari 2018 College 17: Monte-Carlo Welkom! Agenda: Monte-Carlo Heterogeneous Computing Brigade Toets 2 Concurrency college 17 Monte-Carlo 3 Monte-Carlo

Nadere informatie

High Performance Computing

High Performance Computing High Performance Computing Kristian Rietveld (krietvel@liacs.nl, kamer 138) Groep Computer Systems High-Performance Computing Optimizing compilers (generieke codes, maar ook specifieke rekenkernels). Parallel

Nadere informatie

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik Rick van der Zwet 4 augustus 2010 Samenvatting Dit schrijven zal

Nadere informatie

Groepen, ringen en velden

Groepen, ringen en velden Groepen, ringen en velden Groep Een groep G is een verzameling van elementen en een binaire operator met volgende eigenschappen: 1. closure (gesloten): als a en b tot G behoren, doet a b dat ook. 2. associativiteit:

Nadere informatie

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen?? Vragen?? Vandaag Hoofdstuk 4: threads (tentamenstof : 4.1 t/m 4.2) Kleine Opgaven 4.1 (niet alleen ja of nee, ook waarom!) en 4.4 inleveren maandag Centrale begrippen hoofdstuk 3 processen proces state:

Nadere informatie

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep.

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep. Opgaven Registers Concurrency, 29 nov 2018, Werkgroep. Gebruik deze opgaven om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven. 1. Safe Integer: Van een

Nadere informatie

Digitale en analoge technieken

Digitale en analoge technieken Digitale en analoge technieken Peter Slaets February 14, 2006 Peter Slaets () Digitale en analoge technieken February 14, 2006 1 / 33 Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen

Nadere informatie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie www.arduino.cc Arduino en DDS DDS chips DDS = Direct Digital (frequency) Synthesis Output = sinusvormig signaal Maximum frequentie = ½ klokfrequentie Frequentie bepaald door tuning word Grootste fabrikant:

Nadere informatie

Divide & Conquer: Verdeel en Heers. Algoritmiek

Divide & Conquer: Verdeel en Heers. Algoritmiek Divide & Conquer: Verdeel en Heers Algoritmiek Algoritmische technieken Trucs; methoden; paradigma s voor het ontwerp van algoritmen Gezien: Dynamisch Programmeren Volgend college: Greedy Vandaag: Divide

Nadere informatie

Computerarchitectuur en netwerken Toets 1 4 okt

Computerarchitectuur en netwerken Toets 1 4 okt 11.00 13.00 De open vragen moet je beantwoorden op tentamenpapier. De multiple-choice antwoorden moet je op het vragenblad invullen in de rechtervakjes en dat blad inleveren. Schrijf je naam, studentnummer

Nadere informatie

Computerarchitectuur. Terugblik / discussie / oefenopgaven

Computerarchitectuur. Terugblik / discussie / oefenopgaven Computerarchitectuur Terugblik / discussie / oefenopgaven Kristian Rietveld http://ca.liacs.nl/ Trends & Performance Voorkennis We bouwden een 4-bit microprocessor bij Digitale Technieken. Bij computerarchitectuur

Nadere informatie

Inleiding Digitale Techniek. Week 7 Schuifregisters Jesse op den Brouw INLDIG/2013-2014

Inleiding Digitale Techniek. Week 7 Schuifregisters Jesse op den Brouw INLDIG/2013-2014 Inleiding Digitale Techniek Week 7 Schuifregisters Jesse op den Brouw INLDIG/213-214 Schuifregisters In de digitale techniek en met name in de digitale communicatie wordt veel gebruik gemaakt van seriële

Nadere informatie

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:

Nadere informatie

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie

Nadere informatie

Concurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom!

Concurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom! Concurrency Gerard Tel / Jacco Bikker - november 2015 januari 2016 Welkom! Agenda: Introductie Path Tracing C# en SIMD Vectorizatie Speculative xecution Concurrency college 7 Vectorizatie 3 Introductie

Nadere informatie

Beter, Sneller, Mooier. Processoren 12 januari 2015

Beter, Sneller, Mooier. Processoren 12 januari 2015 Beter, Sneller, Mooier Processoren 12 januari 2015 Beter! Sneller! Krachtigere CPU: maak instructies die meer doen Snellere CPU: pipeline, out-of-order execution Sneller RAM: cache meer mogelijkheden...

Nadere informatie

Nederlandse samenvatting (Dutch summary)

Nederlandse samenvatting (Dutch summary) Nederlandse samenvatting (Dutch summary) Ditproefschriftpresenteerteen raamwerk voorhetontwikkelenvanparallellestreaming applicaties voor heterogene architecturen met meerdere rekeneenheden op een chip.

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.3 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds6 Technische Universiteit Eindhoven college 5 J.Keijsper (TUE)

Nadere informatie

Digitale technieken Deeltoets II

Digitale technieken Deeltoets II Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

Nadere informatie

Iterative methoden voor lineaire vergelijkingen. Scientific Computing. sleij101/ Program

Iterative methoden voor lineaire vergelijkingen. Scientific Computing.   sleij101/ Program WISB356, Utrecht, 2 otober 2012 Scientific Computing WISB356, Utrecht, 2 otober 2012 Iterative methoden voor lineaire vergelijingen Gerard Sleijpen Rob Bisseling Alessandro Sbrizzi Department of Mathematics

Nadere informatie

Multi-core systemen. door Alexander Melchior

Multi-core systemen. door Alexander Melchior Multi-core systemen Multi-cpu & Multi-core Multi cpu & Multi core door Alexander Melchior Toevoeging aan GDP Overdragen Capita Selecta Waarom? Een stukje geschiedenis 2005: Introductie eerste consumenten

Nadere informatie

Divide & Conquer: Verdeel en Heers. Algoritmiek

Divide & Conquer: Verdeel en Heers. Algoritmiek Divide & Conquer: Verdeel en Heers Algoritmiek Algoritmische technieken Trucs; methoden; paradigma s voor het ontwerp van algoritmen Gezien: Dynamisch Programmeren Hierna: Greedy Vandaag: Divide & Conquer

Nadere informatie

College 10: OpenCL (1)

College 10: OpenCL (1) Concurrency Gerard Tel / Jacco Bikker - november 2017 februari 2018 College 10: OpenCL (1) Welkom! Previously in Concurrency Concurrency College 8 Patronen 3 SIMD System.Numerics.Vectors namespace System.Numerics

Nadere informatie

Concurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom!

Concurrency. Gerard Tel / Jacco Bikker - november 2015 januari Welkom! Concurrency Gerard Tel / Jacco Bikker - november 2015 januari 2016 Welkom! Agenda: Context Heterogeneous Rendering Load Balancing Application Conclusion Concurrency college 15 Heterogeen 3 Context Concurrency

Nadere informatie

Uitwerking oefententamen Computerarchitectuur December 2016

Uitwerking oefententamen Computerarchitectuur December 2016 Uitwerking oefententamen Computerarchitectuur December 2016 I.a. De overall CPI kan worden berekend met de formule n IC i CPI Instruction count CPI i voor de ratio vullen we telkens de geven frequentie

Nadere informatie

1 Aanvulling cosy deeltijd

1 Aanvulling cosy deeltijd 1 Aanvulling cosy deeltijd 1.1 Multiprocessor versus multicomputer Het kenmerk van een multiprocessor is dat meer CPU hetzelfde geheugen delen. Voordeel van deze aanpak is het relatief eenvoudige programmeermodel.

Nadere informatie

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

Add the standing fingers to get the tens and multiply the closed fingers to get the units. Digit work Here's a useful system of finger reckoning from the Middle Ages. To multiply $6 \times 9$, hold up one finger to represent the difference between the five fingers on that hand and the first

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 11 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Heaps en heapsort Heap 1 2 3 4 5 6 7 8 9 10 16 14 10 8 7 9 3 2 4 1 16 14 10 8 7 9 3

Nadere informatie

Bouwstenen voor PSE. Datatypes en Datastructuren

Bouwstenen voor PSE. Datatypes en Datastructuren Bouwstenen voor PSE Datatypes en Datastructuren Definitie Datatype Klasse van dataobjecten tesamen met operaties om ze te construeren, te manipuleren en te verwijderen. Een datatype omvat een specificatie

Nadere informatie

Proeftentamen Digitale technieken

Proeftentamen Digitale technieken Proeftentamen Digitale technieken André Deutz October 17, 2007 De opgaven kunnen uiteraard in willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

Nadere informatie

Scan-pad technieken. Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave):

Scan-pad technieken. Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave): Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave): D is de normale data ingang C is de normale fase 1 klok I is de data ingang van het shift-regiester A is de klok

Nadere informatie

DEC SDR DSP project 2017 (2)

DEC SDR DSP project 2017 (2) DEC SDR DSP project 2017 (2) Inhoud: DSP software en rekenen Effect van type getallen (integer, float) Fundamenten onder DSP Lezen van eenvoudige DSP formules x[n] Lineariteit ( x functie y dus k maal

Nadere informatie

Computerarchitectuur. Ch 4. Data-Level Parallelism

Computerarchitectuur. Ch 4. Data-Level Parallelism Computerarchitectuur Ch 4. Data-Level Parallelism Kristian Rietveld http://ca.liacs.nl/ Data-Level Parallelism Nu we de limieten hebben gezien van parallelisme tussen instructies, kunnen we parallelisme

Nadere informatie

Verzamelingen deel 3. Derde college

Verzamelingen deel 3. Derde college 1 Verzamelingen deel 3 Derde college rekenregels Een bewerking op A heet commutatief als voor alle x en y in A geldt dat x y = y x. Een bewerking op A heet associatief als voor alle x, y en z in A geldt

Nadere informatie

Zevende college algoritmiek. 24 maart Verdeel en Heers

Zevende college algoritmiek. 24 maart Verdeel en Heers Zevende college algoritmiek 24 maart 2016 Verdeel en Heers 1 Verdeel en heers 1 Divide and Conquer 1. Verdeel een instantie van het probleem in twee (of meer) kleinere instanties 2. Los de kleinere instanties

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 2 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Priority queue Priority queue ADT insert(q, x): voeg element x toe aan de queue maximum(q):

Nadere informatie

Computerarchitectuur. Ch 4. Data-Level Parallelism

Computerarchitectuur. Ch 4. Data-Level Parallelism Computerarchitectuur Ch 4. Data-Level Parallelism Kristian Rietveld http://ca.liacs.nl/ Data-Level Parallelism Nu we de limieten hebben gezien van parallelisme tussen instructies, kunnen we parallelisme

Nadere informatie

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Achtste college algoritmiek. 8 april Dynamisch Programmeren Achtste college algoritmiek 8 april 2016 Dynamisch Programmeren 1 Werkcollege-opgave Dutch Flag Problem Gegeven een array gevuld met R, W, en B. Reorganiseer dit array zo dat van links naar rechts eerst

Nadere informatie

(On)Doenlijke problemen

(On)Doenlijke problemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen Overzicht Inleiding - Relatie Deel 1 en Deel 2 - Doenlijke

Nadere informatie

Java virtuele machine JVM

Java virtuele machine JVM Implementatie Java Java virtuele machine JVM Java programma vertaald naar byte code instructies Byte code instructies uitgevoerd door JVM JVM is processor architectuur kan in principe in hardware worden

Nadere informatie

Cover Page. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications through code generation Issue Date:

Cover Page. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications through code generation Issue Date: Cover Page The handle http://hdl.handle.net/1887/18622 holds various files of this Leiden University dissertation. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications

Nadere informatie

Computerarchitectuur. H&P Ch 5. Thread-Level Parallelism

Computerarchitectuur. H&P Ch 5. Thread-Level Parallelism Computerarchitectuur H&P Ch 5. Thread-Level Parallelism Kristian Rietveld http://ca.liacs.nl/ Thread-Level Parallelism In het geval van thread-level parallelism (TLP) gaan we uit van meerdere threads.

Nadere informatie

Zevende college algoritmiek. 23/24 maart Verdeel en Heers

Zevende college algoritmiek. 23/24 maart Verdeel en Heers Zevende college algoritmiek 23/24 maart 2017 Verdeel en Heers 1 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht 0 1 2 3 0 1 2 3 4 1 2 3 4 5 2 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht

Nadere informatie

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort College 7 Zevende college complexiteit 17 maart 2008 Ondergrens sorteren, Quicksort 1 Sorteren We bekijken sorteeralgoritmen gebaseerd op het doen van vergelijkingen van de vorm A[i] < A[j]. Aannames:

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

int main() { int m; m = power(2,3) /* berekent 2^3 en geeft de resultaat naar m terug */ }

int main() { int m; m = power(2,3) /* berekent 2^3 en geeft de resultaat naar m terug */ } 1 Functies ( ) voorbeeld: int power(int base, int n) int i, p; p = 1; for ( i=1, i

Nadere informatie

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets) TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

Nadere informatie

Hertentamen 8D040 - Basis beeldverwerking

Hertentamen 8D040 - Basis beeldverwerking Hertentamen 8D040 - Basis beeldverwerking 6 augustus 203, 4:00-7:00 Opmerkingen: Maak elke opgave op een apart vel. Antwoord op vraag 4 mag gewoon in het Nederlands. Een gewone rekenmachine is toegestaan.

Nadere informatie

Digitale technieken Microprocessoren

Digitale technieken Microprocessoren Digitale technieken Microprocessoren ir. Patrick Colleman Inhoudstafel Inhoudstafel. Afkortingen. Inleiding - voorwoord 1 Hoofdstuk 1 : Voorstelling van getallen en karakters. 2 1.1 Voorstelling van binaire

Nadere informatie

scc = b) CD AB

scc = b) CD AB Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,

Nadere informatie

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen Memory Management Process control information Entry point to program Process Control Block Verdelen geheugen over meerdere processen Program Branch instruction Virtual Memory Data Reference to data Processen

Nadere informatie

Inhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation

Inhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation 2 Inhoudsopgave Optimalisatie van de mmips pc Sander Stuijk Veel gestelde vragen Hoe moet ik forwarding implementeren? Hoe moet ik clipping implementeren? Waarom is mijn simulatie zo traag? Hoe kan ik

Nadere informatie

Kortste Paden. Algoritmiek

Kortste Paden. Algoritmiek Kortste Paden Vandaag Kortste Paden probleem All pairs / Single Source / Single Target versies DP algoritme voor All Pairs probleem (Floyd s algoritme) Dijkstra s algoritme voor Single Source Negatieve

Nadere informatie

Computer Vision: Hoe Leer ik een Computer Zien?

Computer Vision: Hoe Leer ik een Computer Zien? Computer Vision: Hoe Leer ik een Computer Zien? Michael H.F. Wilkinson Instituut voot Wiskunde en Informatica Rijksuniversiteit Groningen 27 April 2006 Overzicht 1 of 19 Wat is Computer Vision? Wat zijn

Nadere informatie

ALGORITMIEK: answers exercise class 7

ALGORITMIEK: answers exercise class 7 Problem 1. See slides 2 4 of lecture 8. Problem 2. See slides 4 6 of lecture 8. ALGORITMIEK: answers exercise class 7 Problem 5. a. Als we twee negatieve (< 0) getallen bij elkaar optellen is het antwoord

Nadere informatie

High Performance Computing

High Performance Computing High Performance Computing Kristian Rietveld (krietvel@liacs.nl, kamer 138) Groep Computer Systems - Embedded systems - Specifieke software mappen op specfieke hardware. - Hardware synthesis. - Real-time

Nadere informatie

De Parallelle Revolutie van GPU's en CPU's

De Parallelle Revolutie van GPU's en CPU's De Parallelle Revolutie van GPU's en CPU's George van Venrooij Organic Vectory BV Bits&Chips Embedded Systemen 18 November 2011 Eindhoven Een nieuw speelveld Desktop PC anno 2005 2 GHz CPU (1 core, 6 GFLOP/s)

Nadere informatie

Studentnummer:... Opleiding:... a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid?

Studentnummer:... Opleiding:... a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid? Computerorganisatie (213110) Dinsdag 15 augustus 2000, 13.30 17.00 uur 7 bladzijden met 6 opgaven 3 bladzijden met documentatie Bij dit tentamen mag geen gebruik worden gemaakt van boeken, dictaten of

Nadere informatie

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A. Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen

Nadere informatie

IN1805 I Operating System Concepten

IN1805 I Operating System Concepten IN1805 I Operating System Concepten Hoofdstuk 12: Mass-storage structure 9-1 Secondary storage (1) voornamelijk disks kleinst leesbare eenheid: sector plaats van een sector volledig bepaald door: drive

Nadere informatie

Zevende college Algoritmiek. 6 april Verdeel en Heers

Zevende college Algoritmiek. 6 april Verdeel en Heers Zevende college Algoritmiek 6 april 2018 Verdeel en Heers 1 Algoritmiek 2018/Backtracking Programmeeropdracht 2 Puzzel 2: D O N A L D G E R A L D + R O B E R T Elke letter stelt een cijfer voor (0,1,...,9)

Nadere informatie

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

Nadere informatie

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 ) OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................

Nadere informatie

Programmeren Blok B. Onderwerpen. wstomv/edu/2ip05/ College 8. Tom Verhoeff

Programmeren Blok B. Onderwerpen.   wstomv/edu/2ip05/ College 8. Tom Verhoeff Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 8 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Verdelen

Nadere informatie

Eerste Toets Concurrency 20 december 2018, , Educ-β.

Eerste Toets Concurrency 20 december 2018, , Educ-β. Eerste Toets Concurrency 20 december 2018, 11.00 13.00, Educ-β. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert

Nadere informatie

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 15 mei 2014

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 15 mei 2014 Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 15 mei 2014 Bijeenkomst 8 Onderwerpen Het sneller maken van een programma Het gebruik van tijd, gebeurtenissen (muisklik,indrukken toets van

Nadere informatie

Zelftest TSO/E REXX. Document: n0167test.fm 25/01/2017. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Zelftest TSO/E REXX. Document: n0167test.fm 25/01/2017. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium Zelftest TSO/E REXX Document: n0167test.fm 25/01/2017 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST TSO/E REXX Deze test is een hulpmiddel

Nadere informatie

Teardrop readout gradient waveform design. Ting Ting Ren

Teardrop readout gradient waveform design. Ting Ting Ren Teardrop readout gradient waveform design Ting Ting Ren Overview MRI Background Teardrop Model Discussion Future work MRI Background: Classical Description of MRI Spins: MR relevant nuclei, like 1 H. Main

Nadere informatie

CLIPS en het Rete-algoritme. Productieregels in CLIPS. Feiten. Productiesysteem (voorbeeld)

CLIPS en het Rete-algoritme. Productieregels in CLIPS. Feiten. Productiesysteem (voorbeeld) CLIPS en het Rete-algoritme CLIPS: acroniem voor C Language Integrated Production System Verwant aan OPS5 (Carnegie-Mellon University), en gebaseerd op ART (Artificial Reasoning Tool) Ontwikkeld door Lyndon

Nadere informatie

Oefeningen Interpretatie I Reeks 6 : Registermachines

Oefeningen Interpretatie I Reeks 6 : Registermachines Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren

Nadere informatie

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/ Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2006 2007, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)

Nadere informatie

PyCuda. oftewel massief parallel rekenen. Jasper Spaans, Fox-IT PUN meeting

PyCuda. oftewel massief parallel rekenen. Jasper Spaans, Fox-IT PUN meeting PyCuda oftewel massief parallel rekenen Jasper Spaans, Fox-IT PUN meeting 2009-09-24 Cuda Techniek om berekingen op je GPU te kunnen uitvoeren ( GPGPU ) Cuda Techniek om berekingen op je

Nadere informatie

Examen computerarchitectuur

Examen computerarchitectuur Examen computerarchitectuur Dinsdag 16 juni 2009, 14u00 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

Deeltoets Digitale technieken

Deeltoets Digitale technieken Deeltoets Digitale technieken André Deutz 22 oktober, 2007 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

Nadere informatie

EE1400: Programmeren in C BSc. EE, 1e jaar, , 3e college

EE1400: Programmeren in C BSc. EE, 1e jaar, , 3e college EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-201, e college Arjan van Genderen, Computer Engineering 4-12-2012 Delft University of Technology Challenge the future Hoorcollege Arrays, Pointers en Strings

Nadere informatie

WI1808TH1/CiTG - Lineaire algebra deel 1

WI1808TH1/CiTG - Lineaire algebra deel 1 WI1808TH1/CiTG - Lineaire algebra deel 1 College 1 8 september 2016 1 Even voorstellen Theresia van Essen Universitair docent bij Technische Wiskunde j.t.vanessen@tudelft.nl Slides op http://homepage.tudelft.nl/v9r7r/

Nadere informatie

Temperatuur logger synchronisatie

Temperatuur logger synchronisatie Temperatuur logger synchronisatie Juni 10, 2010 1 / 7 Temperatuur logger synchronisatie Introductie Twee of meerdere ontvangers van het Multilogger systeem kunnen met de temperature logger synchronisatie

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

Elliptische krommen en digitale handtekeningen in Bitcoin

Elliptische krommen en digitale handtekeningen in Bitcoin Elliptische krommen en digitale handtekeningen in Bitcoin Bas Edixhoven Universiteit Leiden KNAW Bitcoin symposium Deze aantekeningen zal ik op mijn homepage plaatsen. Bas Edixhoven (Universiteit Leiden)

Nadere informatie

Lineaire data structuren. Doorlopen van een lijst

Lineaire data structuren. Doorlopen van een lijst Lineaire data structuren array: vast aantal data items die aaneensluitend gestockeerd zijn de elementen zijn bereikbaar via een index lijst: een aantal individuele elementen die met elkaar gelinkt zijn

Nadere informatie

scc =!F3.!F2 b) CD AB

scc =!F3.!F2 b) CD AB Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,

Nadere informatie

Tentamen Computersystemen

Tentamen Computersystemen Tentamen Computersystemen baicosy06 2e jaar bachelor AI, 2e semester 23 september 2013 13u-15u IWO 4.04A (blauw), Academisch Medisch Centrum, Meidreef 29, Amsterdam ZuidOost Het is niet toegestaan communicatieapparatuur

Nadere informatie

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets) TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen

Nadere informatie

Data Mining: Clustering

Data Mining: Clustering Data Mining: Clustering docent: dr. Toon Calders Gebaseerd op slides van Tan, Steinbach, and Kumar. Introduction to Data Mining Wat is clustering? Het onderverdelen van de objecten in een database in homogene

Nadere informatie

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,

Nadere informatie