Parallelization and Generation of Mandelbrot fractal set on CELL BE
|
|
- Franz Ritter
- vor 5 Jahren
- Abrufe
Transkript
1 Hauptseminar Multicore Architectures and Programming Parallelization and Generation of Mandelbrot fractal set on CELL BE Philipp Kutzer, Hauke Stähle Betreuung: Hritam Dutta, Matthias Hartl, Frank Hannig Hardware-Software-Co-Design Universität Erlangen-Nürnberg Philipp Kutzer, Hauke Stähle 1
2 Übersicht Fraktale und deren Bedeutung Die Mandelbrotmenge Parallelisierung Optimierung Ergebnisse Probleme Philipp Kutzer, Hauke Stähle 2
3 Fraktale und deren Bedeutung Fraktale dienen zur Beschreibung chaotischer Prozesse Einfache geometrische Modelle oftmals nicht ausreichend Wichtige Eigenschaft: Selbstähnlichkeit Anwendbarkeit z.b.: Wirtschaft Naturbeschreibung Philipp Kutzer, Hauke Stähle 3
4 Fraktale und deren Bedeutung Blumenkohl, Bakterienstamm, Schneeflocken Philipp Kutzer, Hauke Stähle 4
5 Fraktale und deren Bedeutung Börsenkurs Philipp Kutzer, Hauke Stähle 5
6 Die Mandelbrotmenge Teilmenge der komplexen Zahlen Definition: Alle komplexen Zahlen c, für welche z n1 =z n 2 c z 0 =0, z C beschränkt ist. Philipp Kutzer, Hauke Stähle 6
7 Die Mandelbrotmenge Darstellung in der komplexen Ebene: Philipp Kutzer, Hauke Stähle 7
8 Die Mandelbrotmenge Implementierung: uint32_t mandel_double(double cx, double cy, uint32_t max_iter) { uint32_t iter = 1; double x = 0, y = 0, xtemp = 0; double x2, y2; // z = x + y * img do { x2 = x * x; y2 = y * y; if( x2+y2 > MAX_VALUE ) return iter; xtemp = x2 - y2 + cx; y = 2 * x * y + cy; x = xtemp; iter++; } while ( iter <= max_iter ); } return 0; Philipp Kutzer, Hauke Stähle 8
9 Die Mandelbrotmenge Färbung entsprechend Iterationen: Philipp Kutzer, Hauke Stähle 9
10 Parallelisierung Punkte können unabhängig voneinander berechnet werden! Aufteilung der Rechenlast auf die SPUs Vertikale Aufteilung des Bildes PPU übernimmt Verwaltungsarbeit Zuteilung der Arbeitsaufträge Länge eines Arbeitsauftrages unbekannt Realisierung mit einer Ready/Busy-Queue Philipp Kutzer, Hauke Stähle 10
11 Parallelisierung SPUs bekommen Aufträge zugeteilt Signalisieren Auftragsende Warteschlangenkonzept Ready-Queue: SPUs, welche IDLE sind Busy-Queue: Arbeitende SPUs Arbeitsauftrag: typedef struct { uint32_t posy; uint32_t* framebuffer_addr; uint32_t framebuffer_width; double zoomx; double zoomy; double movex; double movey; uint32_t max_iter; } workload; Philipp Kutzer, Hauke Stähle 11
12 Optimierung Verzweigungen sind teuer! uint32_t mandel_double(double cx, double cy, uint32_t max_iter) { //Init do { //Calc x^2, y^2 if( x2+y2 > MAX_VALUE ) return iter; //Calc z+1 iter++; } while ( iter <= max_iter ); } return 0; Loop unrolling Branch prediction Philipp Kutzer, Hauke Stähle 12
13 Optimierung Loop unrolling: uint32_t mandel_double(double cx, double cy, uint32_t max_iter){ //Init double temp[4]; do { //Do 4 calculations, save result to temp[1-4] iter +=4; if(temp[3] > MAX_VALUE) { if ( temp[0] > MAX_VALUE ) { return iter-3; } if ( temp[1] > MAX_VALUE ) { return iter-2; } if ( temp[2] > MAX_VALUE ) { return iter-1; } } return iter; } while ( iter < max_iter ); result 0; } return result; Philipp Kutzer, Hauke Stähle 13
14 Optimierung Branch prediction: uint32_t mandel_double(double cx, double cy, uint32_t max_iter) { //Init do { //Calc x^2, y^2 if( builtin_expect( (x2+y2 > MAX_VALUE), 0 ) ) { return iter; } //Calc z+1 iter++; } while ( iter <= max_iter ); } return 0; Philipp Kutzer, Hauke Stähle 14
15 Optimierung Float vs. Double Float schnell, aber ungenau Double nur bei hohen Zoomstufen interessant Verwendung von zwei Implementierungen zur Punktberechnung Float-Genauigkeit bei kleinen Zoomstufen Double-Genauigkeit bei hohen Zoomstufen Philipp Kutzer, Hauke Stähle 15
16 Ergebnisse Abhängigkeit von Anzahl SPUs [FPS] Framebufferauflösung: 50 Frames Double Max. Value = Iterationen SPUs normal + loop unrolling + branch prediction + float/double 0,82 1,63 2,44 3,24 4,05 4,85 5,91 4,9 12,84 optimal 15,29 Doppelpuffer brachte keine Verbesserung, da Daten nicht weiterverarbeitet werden Philipp Kutzer, Hauke Stähle 16
17 Probleme SIMD Berechnung mehrerer Punkte parallel Abbruchzeitpunkte unterschiedlich Mehr if-anweisungen Keine Perfomanzsteigerung Ausnutzung zur schnelleren Berechnung eines Punktes [ x 2 y 2 ]=[ x y ] [ x y] Keine Perfomanzsteigerung Philipp Kutzer, Hauke Stähle 17
18 The END Danke für eure Aufmerksamkeit Demo!? Philipp Kutzer, Hauke Stähle 18
OpenCL (Cell B. E., PS3) Multicore Architectures and Programming
OpenCL (Cell B. E., PS3) Multicore Architectures and Programming Apelt, Nicolas Zoellner, Christian Hardware-Software-Co-Design Universität Erlangen-Nürnberg Apelt, Nicolas Zoellner, Christian 1 Übersicht
MehrComputergrafik SS 2016 Oliver Vornberger. Vorlesung vom Kapitel 11: Fraktale
Computergrafik SS 2016 Oliver Vornberger Vorlesung vom 03.05.2016 Kapitel 11: Fraktale 1 Selbstähnlichkeit 2 Koch'sche Schneeflocke a+(x-a) cos(60 ) - (y-b) sin(60 ) b+(y-b) cos(60 ) + (x-a) sin(60 ) a,b
MehrImplementierung zweier Algorithmen mittels OpenCL auf Grafikkarten
Implementierung zweier Algorithmen mittels OpenCL auf Grafikkarten Tobias Schwarzer, Michael Theil Hardware-Software-Co-Design Universität Erlangen-Nürnberg Tobias.Schwarzer@e-technik.uni-erlangen.de,
MehrCUDA. Philip Höhlein, Nils Werner Supervision: R. Membarth, P. Kutzer, F. Hannig. Hardware-Software-Co-Design Universität Erlangen-Nürnberg
CUDA Philip Höhlein, Nils Werner Supervision: R. Membarth, P. Kutzer, F. Hannig Hardware-Software-Co-Design Universität Erlangen-Nürnberg Philip Höhlein, Nils Werner 1 Übersicht Entwicklungsumgebung RSA-Faktorisierer
MehrPGI Accelerator Model
PGI Accelerator Model Philip Höhlein, Nils Werner Supervision: R. Membarth, P. Kutzer, F. Hannig Hardware-Software-Co-Design Universität Erlangen-Nürnberg Philip Höhlein, Nils Werner 1 Übersicht Motivation
Mehr1 Die Mandelbrotmenge
1 Die Mandelbrotmenge In diesem Abschnitt wollen wir mathematische Aspekte der sogenannten Mandelbrotmenge beleuchten, die wir im Folgenden mit M bezeichnen wollen. 1 Ihr Name ist ihrem Entdecker Benoît
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)
MehrVariablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15
MehrTesten und abstrakte Interpretation
E. Vorobev: Testen und abstrakte Interpretation 1 [20] Testen und abstrakte Interpretation Elena Vorobev Universität Bremen Fachbereich 3, Mathematik und Informatik Universität Bremen, Cartesium, 13.10.09
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrPraktische Informatik I Der Imperative Kern Einführung Rekursion
Praktische Informatik I Der Imperative Kern Einführung Rekursion Prof. Dr. Stefan Edelkamp Institut für Künstliche Intelligenz Technologie-Zentrum für Informatik und Informationstechnik (TZI) Am Fallturm
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen
MehrSeminar: Multi-Core Architectures and Programming
Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche
MehrQuarto Solver. Mark Blacher
Quarto Solver Mark Blacher Was ist Quarto deterministisches Zwei-Personen-Nullsummenspiel mit perfekter Information Spielbaum besteht aus 1,13409 10 27 Knoten 08.02.2018 Algorithm Engineering Lab 2 Codierung
MehrEinstieg in die Informatik mit Java
1 / 28 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick: Variablenarten 2 Lokale Variablen 3 Lokale Variablen
MehrTest-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Piotr Kosiuczenko, Dirk Pattinson 05/03 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel
MehrAbbildung 11.1: Farnblatt
Kapitel 11 Fraktale 11.1 Selbstähnlichkeit Viele in der Natur vorkommende Strukturen weisen eine starke Selbstähnlichkeit auf. Beispiele sind Gebirgsformationen, Meeresküsten oder Pflanzenblätter. Solche
MehrFraktale und Beispiele aus der Physik
Fraktale und Beispiele aus der Physik Anschauung Warum beschäftigen Fraktale (auch) Naturwissenschaftler? kurze Wiederholung Konkretes Beispiel: Magnetpendel Das Experiment Mathematische Beschreibung Trajektorien
MehrRST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck
RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme
MehrÜberblick. Typanpassungen Iteration mit Schleifen Bedingte Anweisungen. Agile Softwareentwicklung Einfaches Ratespiel.
Globalübung 2 Überblick Typanpassungen Iteration mit Schleifen Bedingte Anweisungen Agile Softwareentwicklung Einfaches Ratespiel Softwarefehler Überblick Typanpassungen Iteration mit Schleifen Bedingte
MehrJuliamengen und Mandelbrotmenge
Xin Xu Florian Pausinger 18. Januar 2008 Inhaltsverzeichnis 1 Mathematische Grundlagen Komplexe Zahlen Über Iterationen und beschränkte Folgen 2 Quadratische Familie Bildbeispiele 3 Charakterisierung Über
MehrC-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012
October 29, 2012 Inhaltsverzeichnis 1 2 3 4 5 6 Motivation Motivation CUDA bietet extreme Leistung für parallelisierbare Programme Kompliziert zu programmieren, da multi-level parallel und explizit verwalteter
MehrInteraktive Visualisierung zeitabhängiger Volumendaten
Interaktive Visualisierung zeitabhängiger Volumendaten Diplomarbeit von Dario Kardas graphische datenverarbeitung, universität erlangen-nürnberg Skalare Volumendaten Volumen besteht aus Schichtbildern
MehrKapitel 5.5: Nichtlineare Rekursionen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te
Kapitel 5.5: Nichtlineare Rekursionen Algorithmen und Datenstrukturen WS 2017/18 Pro f. Dr. Sán do r Fe k e te 1 e H! e t u 2 Ankreuzliste für Übungsgruppen 1 4 3 7 5 5 6 6 9 10 8 2 2 10 3 5.3.3 Master-Theorem:
MehrDigital Image Interpolation with CUDA
Digital Image Interpolation with CUDA Matthias Schwarz & Martin Rustler Hardware-Software-Co-Design Universität Erlangen-Nürnberg matthias.schwarz@e-technik.stud.uni-erlangen.de martin.rustler@e-technik.stud.uni-erlangen.de
MehrParallelisierung auf CUDA
Parallelisierung auf CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht RSA-Faktorisierung Image Flooding 2 RSA-Faktorisierung Erster Ansatz Implementierung des Pollard-Rho Algorithmus (sequentiell)
MehrBeispielvortrag: HPCG auf Intel Haswell-EP
Beispielvortrag: HPCG auf Intel Haswell-EP Johannes Hofmann 1 Seminarvortrag Architekturen von Multi- und Vielkern-Prozessoren Erlangen, 19.4.2016 1 Computer Architecture, University Erlangen-Nuremberg
MehrÜbung 1: Fraktale und Double Buffering
FHA: Graphische Datenverarbeitung Wintersemester 2002/03 Übung 1: Fraktale und Double Buffering René Müller 29. Oktober 2002 1 Einleitung 1.1 Folgen komplexer Zahlen Mandelbrot- und Julia-Mengen sind Objekte
MehrVon der Schönheit des mathematischen Chaos. Eine Einführung in Seltsame Attraktoren mit jreality
Von der Schönheit des mathematischen Chaos Eine Einführung in Seltsame Attraktoren mit jreality Inhalt Physikalische Grundlagen Definition Eigenschaften Beispiele Implementierung Demonstration Physikalische
Mehr10 Berechnungen aus der Elektrotechnik
Eingabe R 0 T = -100, 100, 600 1 10 Berechnungen aus der Elektrotechnik 10.1 Temperaturverhalten metallischer Widerstände Der elektrische Widerstand aller Materialien ist mehr oder weniger stark von seiner
MehrProgrammieren I. Kapitel 13. Listen
Programmieren I Kapitel 13. Listen Kapitel 13: Listen Ziel: eigene Datenstrukturen erstellen können und eine wichtige vordefinierte Datenstruktur( familie) kennenlernen zusammengehörige Elemente zusammenfassen
MehrProgrammierwerkstatt. Objektorientierung und Korrektheit von Programmen
Programmierwerkstatt Objektorientierung und Korrektheit von Programmen Zum Inhalt Wir wollen Euch: das Wesentliche vermitteln Fehlerquellen verdeutlichen Verständnis ist uns wichtig programming by coincidence
MehrLEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610
LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 Dominik Weinrich dominik.weinrich@tu-dresden.de Dresden, 30.11.2017 Gliederung Motivation Aufbau und Hardware
MehrComputergrafik SS 2010 Oliver Vornberger. noch Kapitel 10: 2D-Grafik im Web. Vorlesung vom 11.05.2010
Computergrafik SS 2010 Oliver Vornberger noch Kapitel 10: 2D-Grafik im Web Vorlesung vom 11.05.2010 1 Webseite SVG-Beispiel
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
Mehr1.4 Die Ackermannfunktion
a : N 2 N : Beispiele: a(0, y) = y + 1, a(x, 0) = a(x 1, 1), x > 0, a(x, y) = a(x 1, a(x, y 1)), x, y > 0. Beh.: a(1, y) = y + 2 Bew. durch Induktion über y: a(1, 0) = a(0, 1) = 2 = 0+2. a(1, y + 1) =
MehrSoftwaretechnik 1 Übung 5
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Softwaretechnik 1 Übung 5 2.7.29 Aufgabe 1a) Zeichnen Sie die komplette Vererbungshierarchie der Klasse BufferedOutputStream als UML- Klassendiagramm.
MehrInhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen
Inhalt 3 Bemerkung... 9 Vorwort... 10 1 Programme und Programmiersprachen 1.1 Assembler... 13 1.2 Höhere Programmiersprachen... 15 1.2.1 Interpreter... 16 1.2.2 Compiler... 17 1.2.3 Zwischencode... 18
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
MehrAlgorithmen und Datenstrukturen"
Lehrstuhl für Medieninformatik Universität Siegen Fakultät IV 9 Rekursion Version: WS 14/15 Fachgruppe Medieninformatik 9.1 9 Rekursion... Motivation: Rekursive Formulierung von Algorithmen führt in vielen
MehrAlgorithmen und Datenstrukturen"
Lehrstuhl für Medieninformatik Universität Siegen Fakultät IV 9 Rekursion Version: WS 14/15 Fachgruppe Medieninformatik 9.1 9 Rekursion... Motivation: Rekursive Formulierung von Algorithmen führt in vielen
MehrGeometric Algebra Computing Rotationen in GA Dr. Dietmar Hildenbrand
Geometric Algebra Computing Rotationen in GA 11.12.2014 Dr. Dietmar Hildenbrand Technische Universität Darmstadt Aufgaben 1. wie lautet der Rotor für eine Rotation um den Vektor (v1,v2,v3)? 2. numerische
MehrTag 3 Repetitorium Informatik (Java)
Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung
MehrReduSoft Ltd. Kurzbeschreibungen zu einigen Modulen, die im Programm
ReduSoft Ltd. www.redusoft.de Kurzbeschreibungen zu einigen Modulen, die im Programm MathProf 5.0 unter dem Themenbereich Sonstiges implementiert sind. Schriftliche Addition, Subtraktion, Multiplikation,
MehrCell and Larrabee Microarchitecture
Cell and Larrabee Microarchitecture Benjamin Grund Dominik Wolfert Universität Erlangen-Nürnberg 1 Übersicht Einleitung Herkömmliche Prozessorarchitekturen Motivation für Entwicklung neuer Architekturen
MehrFraktale. Mathe Fans an die Uni. Sommersemester 2009
Fraktale Mathe Fans an die Uni Ein Fraktal ist ein Muster, das einen hohen Grad Selbstähnlichkeit aufweist. Das ist beispielsweise der Fall, wenn ein Objekt aus mehreren verkleinerten Kopien seiner selbst
MehrEinführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
Mehr4.4 Imperative Algorithmen Prozeduren
4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):
MehrVolumenrendering mit CUDA
Volumenrendering mit CUDA Arbeitsgruppe Visualisierung und Computergrafik http://viscg.uni-muenster.de Überblick Volumenrendering allgemein Raycasting-Algorithmus Volumen-Raycasting mit CUDA Optimierung
MehrUntersuchungen zur effizienten Implementierung eines mathematischen Algorithmus in einem FPGA am Beispiel eines Sudoku-Lösers
Fakultät Informatik - Institut für Technische Informatik - Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zum Diplom Untersuchungen zur effizienten Implementierung eines mathematischen
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
MehrSTATISTISCHE UNTERSTÜTZUNG BEI DER KREBSDIAGNOSTIK. Philipp Hermann & Milan Stehlik Institut für Angewandte Statistik
STATISTISCHE UNTERSTÜTZUNG BEI DER KREBSDIAGNOSTIK Philipp Hermann & Milan Stehlik Institut für Angewandte Statistik Idee: Entwickelt zwischen 1980-2000 Prof. Mattfeldt ist mit folgendem Problem gekommen:
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 4 Pkt.) Gegeben
MehrSeminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler
Seminar Ausgewählte Komponenten von Betriebssystemen IDL4 Compiler IDL4 Compiler Hristo Pentchev Überblick CORBA IDL Allgemein IDL4 Compiler Beispiele CORBA Common Objekt Request Broker Architecture Gemeinsame
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
MehrSeminar: Multi-Core Architectures and Programming. Viola-Jones Gesichtsdetektor
Seminar: Multi-Core Architectures and Programming Viola-Jones Gesichtsdetektor Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Viola-Jones Gesichtsdetektor Aufbau Blockmerkmale
MehrInteger Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen
1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-
MehrFRAKTALE. Eine Dokumentation von Dominik Assmann, Philipp Gewessler und Paul Maier
FRAKTALE Eine Dokumentation von Dominik Assmann, Philipp Gewessler und Paul Maier I. Fraktale allgemein a. Mathematischer Algorithmus i. Komplexe Zahlen b. Konvergieren und Divergieren i. Bei Mandelbrotmengen
Mehr2. Fraktale Geometrie
2. Fraktale Geometrie Komplexe Systeme ohne charakteristische Längenskala z.b. Risse in festen Materialien, Küstenlinien, Flussläufe und anderes.. Skaleninvariante Systeme Gebrochene Dimensionen Fraktale
MehrHigh-level software transformations
12 Peter Marwedel TU Dortmund Informatik 12 Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 High-level software transformations Impact of memory allocation on efficiency Array p[j][k] Row major
MehrTheoretische Informatik SS 03 Übung 5
Theoretische Informatik SS 03 Übung 5 Aufgabe 1 Im Buch von Schöning ist auf S. 106-108 beschrieben, wie eine Turing-Maschine durch ein GOTO-Programm simuliert werden kann. Zeigen Sie, wie dabei die Anweisungen
MehrSpeicher und Adressraum
Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode
MehrRadizieren mit dem Heron-Verfahren
Mathematik mit Python und OpenOffice Calc Radizieren mit dem Heron-Verfahren Matthias Richter. März 011 1 Idee Das Heron-Verfahren ist ein Algorithmus um die Quadratwurzel einer Zahl x R näherungsweise
MehrObjektorientierte Programmierung (ZQ1u2B)
Objektorientierte Programmierung (ZQ1u2B) Woche 4 Rekursion Christopher Scho lzel Technische Hochschule Mittelhessen 4. November 2015 Inhalt Rekursion Lineare Rekursion Verzweigte Rekursion Verschränkte
Mehr1. Einführung in OpenMP
1. Einführung in OpenMP Übersicht Einführung Homogene und inhomogene Arbeitsverteilung Rekursive Parallelität Beispiele Parallele Programmierung 1 Nicolas Maillard, Marcus Ritt 1 Überblick OpenMP: Vereinfachte
Mehrm a r k u s r a a b d a p r ä s e n t a t i o n
d i p l o m p r ä s e n t a t i o n z u m t h e m a Der Produktionsprozess in der Spieleentwicklung und eine mögliche Optimierung durch den Einsatz von Design Pattern t h e m e n w a h l - Projekt im Berufspraktikum
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrTagesprogramm
1 2015-10-22 Tagesprogramm Syntax und Semantik Varianten von Schleifen Varianten von Programmverzweigungen 2 2015-10-22 Syntax und Semantik Darstellung der Syntax Syntax: Aufbau der Sätze bzw. Programme
MehrHerzlich willkommen!
Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in
MehrInhaltsübersicht. Vorwort 15. Vorwort zur deutschen Ausgabe 22. Kapitel 1 Elemente der Programmierung 25. Kapitel 2 Funktionen und Module 203
Inhaltsübersicht Vorwort 15 Vorwort zur deutschen Ausgabe 22 Kapitel 1 Elemente der Programmierung 25 Kapitel 2 Funktionen und Module 203 Kapitel 3 Objektorientierte Programmierung 335 Kapitel 4 Algorithmen
Mehr8. Deterministisches Chaos
8. Deterministisches Chaos Widerspruch: deterministisch chaotisch Schmetterlingseffekt: Der Flügelschlag eines Schmetterlings entscheidet über die Entwicklung eines Sturms. Allgemein: kleinste Änderungen
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrDarstellung von Kurven und Flächen
Darstellung von Kurven und Flächen Christoph Dähne 17. Juli 2008 1 Christoph Dähne Darstellung von Kurven und Flächen Überblick 1 Polygonnetze 2 Parametrisierte kubische Kurven 3 Hermite-Kurven 4 Bézier-Kurven
MehrDas Divide - and - Conquer Prinzip. Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt
Divide and Conquer Das Divide - and - Conquer Prinzip Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt 2 Quicksort: Sortieren durch Teilen
MehrKlausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
MehrNachtrag: Vergleich der Implementierungen von Stack
Nachtrag: Vergleich der Implementierungen von Stack In der letzten Vorlesung hatten wir zwei Implementierung der Klasse Stack: eine Implementierung als Liste (Array): liststack eine Implementierung als
MehrApfelmännchen Theorie und Programmierung
Apfelmännchen Theorie und Programmierung Das Thema "Apfelmännchen" gehört zum Oberthema "Chaos und Ordnung in dynamischen Systemen". Es ist ein relativ neues Forschungsgebiete der Mathematik ( ab ca. 1980
MehrNibobee on lines. Stiegler Philipp
Nibobee on lines Stiegler Philipp Projektstart: 20.02.2011 Hardware Aufbau und Inbetriebnahme Lötarbeiten durchgeführt 10 Stunden Nacharbeiten Hardware Plattform 3 Stunden 2h Zahnräder im Getriebekasten
MehrDie for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben
18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
MehrGrundlagen der Programmierung in C++ Kontrollstrukturen
Block Keine Kontrollstruktur im eigentlichen Sinn Grundlagen der Programmierung in C++ Kontrollstrukturen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Dient
Mehr3.5 Schnelle Fouriertransformation (FFT, DFT)
3.5 Schnelle Fouriertransformation (FFT, DFT) 3.5.1 Grundlagen Ein Polynom P = i a ix i C[x] vom Grad n ist eindeutig durch seine Koeffizienten a i bestimmt, d.h. man hat eine Bijektion {Polynome C[x]
MehrRechnen mit Java Ganze Zahlen Gebrochene Zahlen Fazit
Eigenschaft der Fundamentalen Java baut auf 8 fundamentalen Datentypen (primitiven) auf. Java kann ausschliesslich mit diesen Primitiven rechnen! Für die Arithmetik wird in Java zwischen zwei Rechenarten
MehrSensIDL Modellgetriebene Entwicklung von Sensorschnittstellen mit SensIDL
SensIDL Modellgetriebene Entwicklung von Sensorschnittstellen mit SensIDL C. Rathfelder - Modellgetriebene Entwicklung von Sensorschnittstellen mit SensIDL 1 Bildrechte: Sayda Pischinger, Creative Commons
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Mehr2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrPeg-Solitaire. Florian Ehmke. 29. März / 28
Peg-Solitaire Florian Ehmke 29. März 2011 1 / 28 Gliederung Einleitung Aufgabenstellung Design und Implementierung Ergebnisse Probleme / Todo 2 / 28 Einleitung Das Spiel - Fakten Peg-33 33 Löcher, 32 Steine
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 11 Was bisher verschwiegen wurde Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Type qualifier Typen können mit folgenden
MehrNumerische Methoden und Algorithmen in der Physik
Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 30.10.2008 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 1/ 48 Einführung Datentypen Operatoren
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 11 Was bisher verschwiegen wurde Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Type qualifier Typen können mit folgenden
MehrTeil II. Literatur zur C-Programmierung:
Teil II 2Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: A Software Engineering Approach. Springer 1991 Kernighan, Ritchie. The C Programming Language.
Mehr