Praktikum: Paralleles Programmieren für Geowissenschaftler
|
|
- Calvin Krämer
- vor 6 Jahren
- Abrufe
Transkript
1 Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Felix Hoffmann
2 MPI Einführung III Scatterv / Gatherv Programmbeispiele Parellele Bearbeitung einer Matrix SS Praktikum Seite
3 MPI Scatter I Die Daten werden von P0 an die anderen Prozesse P1 P3 gesendet. P0 P1 P2 Bereich in dem gerechnet wird. P3 SS Praktikum Seite
4 MPI Scatter: Beispiel array2d(8x8) => 4 Teile chunk2d(4x2) P P P P SS Praktikum Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.uni-hamburg.de Seite
5 MPI Scatter: integer, dimension(8, 8) :: array2d! all the 2D data integer, dimension(8, 2) :: chunk2d! piece of 2D data each process works on! int MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, ierr)! 16 = 8*2 = size(chunk) CALL MPI_SCATTER(array2D, 16, MPI_INTEGER, chunk2d, 16, MPI_INTEGER, & 0, MPI_COMM_WORLD, mpi_ierr) Abbildung von Matrix array2d auf 4 Teile chunk2d SS Praktikum Seite
6 MPI Scatter-Gather: In der Literatur MPI_Gatherv and MPI_Scatterv are the variable-message-size versions of MPI_Gather and MPI_Scatter. MPI_Scatterv extends the functionality of MPI_Scatter to permit a varying count of data from each process. It does this by changing the count argument from a single integer to an integer array and providing a new argument displs (an array). SS Praktikum Seite (Quelle:
7 MPI Scatter -> ScatterV Call MPI_SCATTER (Send_Message, Send_Count, Send_Datatype, Recv_Message, Recv_Count, Recv_Datatype, Root, Comm, Ierror) Call MPI_SCATTERV(Send_Mesage, Send_Count, Displacement, Send_Datatype, Recv_Mesage, Recv_Count, Recv_Datatype, Root, Comm, Ierror) Änderung: Send_count von Integer - Zahl Integer-Vektor Neu: Displacement-Vektor SS Praktikum Seite
8 MPI Scatterv Beispiel A Aufteilung Matrix 10x4 auf einzelne Vektoren unterschiedlicher Länge X SS Praktikum Seite
9 MPI Scatterv Beispiel A - Datenstruktur Für 10 Prozesse: integer :: sendcount (10) integer :: displacement (10) sendcounts = (/2, 10, 5, 8, 5, 2, 2, 2, 2, 2/) displacement = (/0, 2, 12, 17, 25, 30, 32, 34, 36, 38/) Displacement: Beginnt mit Null und bezieht sich jeweils auf das letzte Element des vorherigen Abschnitts! SS Praktikum Seite
10 MPI Scatterv Beispiel A Programmablauf 10 Prozesse: max_rank = 10 integer, allocatable, dimension(:,:) :: array, chunk integer, allocatable, dimension(:) :: displacement, sendcounts MPI_init allocate(sendcounts(max_rank)) sendcounts = (/2, 10, 5, 8, 5, 2, 2, 2, 2, 2/) allocate (chunk(sendcounts(rank+1))) if (rank == 0) then allocate(array(max_rank, kwidth)) allocate(displacement(max_rank)) displacement = (/0, 2, 12, 17, 25, 30, 32, 34, 36, 38/) endif call MPI_SCATTERV(array, sendcounts, displacement, MPI_INTEGER, chunk, sendcounts(rank+1), MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) SS Praktikum Seite
11 MPI Scatterv Beispiel A Zuweisung I sendcounts = (/2, 10, 5, 8, 5, 2, 2, 2, 2, 2/) displacement = (/0, 2, 12, 17, 25, 30, 32, 34, 36, 38/) Die Matrix wir in Teilen verschickt! sendcounts definiert die Größe der Datenpakete pro Prozess displacement den Versatz in der Matrix call MPI_SCATTERV(array, sendcounts, displacement, MPI_INTEGER, chunk, sendcounts(rank+1), MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) SS Praktikum Seite
12 MPI Scatterv Beispiel A Zuweisung II sendcounts = (/2, 10, 5, 8, 5, 2, 2, 2, 2, 2/) displacement = (/0, 2, 12, 17, 25, 30, 32, 34, 36, 38/) Die Matrix wir in Teilen verschickt! sendcounts definiert die Größe der Datenpakete pro Prozess displacement den Versatz in der Matrix call MPI_SCATTERV(array, sendcounts, displacement, MPI_INTEGER, chunk, sendcounts(rank+1), MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) Die Datenpakete werden den einzelne Vektoren (chunk) pro Prozess zugewiesen Entsprechend der variablen Größe pro Prozess definiert durch sendcount(rank+1) Rank SS Praktikum Seite
13 MPI Scatterv Beispiel B Aufteilung Matrix 10x4 auf einzelne Vektoren unterschiedlicher Länge mit Lücke in den Daten X 1 2 SS Praktikum Seite
14 MPI Scatterv Beispiel B - Datenstruktur Für 10 Prozesse: integer :: sendcount (10) Integer :: displacement (10) sendcounts = (/2, 8, 5, 8, 5, 2, 2, 2, 2, 2/) displacement = (/0, 2, 12, 17, 25, 30, 32, 34, 36, 38/) sendcounts wird an neue Datenstruktur angepasst, Position 11 und 12 wird ausgelassen SS Praktikum Seite 14 displacement: hier ändert sich in diesem Beispiel nichts
15 MPI Gatherv Vergleich zu Scatterv aus Beipiel B 10 Prozesse: max_rank = 10 sendcounts = (/2, 8, 5, 8, 5, 2, 2, 2, 2, 2/) displacement = (/0, 2, 12, 17, 25, 30, 32, 34, 36, 38/) call MPI_SCATTERV(array, sendcounts, displacement, MPI_INTEGER, chunk, sendcounts(rank+1), MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) call MPI_GATHERV(chunk, sendcounts(rank+1), MPI_INTEGER, array, sendcounts, displacement, MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) SS Praktikum Seite
16 Parallele Bearbeitung einer Matrix I Überlappung der Teilmatrizen der einzelnen Prozesse Berechnung der Poisson Gl. auf Star Quelle: Gropp, Lusk & Skjellum Using MPI SS Praktikum Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.uni-hamburg.de Seite
17 Parallele Bearbeitung einer Matrix II Austausch der Randstreifen im Programmlauf SS Praktikum Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.uni-hamburg.de Quelle: Gropp, Lusk & Skjellum Using MPI Seite
18 Parallele Bearbeitung einer Matrix III P=2 Geänderte Matrix für unsere Applikationen P=1 (ohne rechten und linken Rand) P=0 Quelle: Gropp, Lusk & Skjellum Using MPI SS Praktikum Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.uni-hamburg.de Seite
19 Parallele Bearbeitung einer Matrix IV P=2 Geänderte Matrix für unsere Applikationen mit zyklischen Randbedingungen P=1 P=0 Quelle: Gropp, Lusk & Skjellum Using MPI SS Praktikum Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.uni-hamburg.de Seite
20 Hilfestellung zur Matrixaufteilung: data(n,m) -> partdata( : ) real*8, allocatable, dimension(:,:) :: data, partdata integer, dimension(:), allocatable :: sendcounts, recvcounts, displs allocate(data(n,m) allocate(partdata(n,chunksize+2)) chunksize nach Aufteilung auf Prozessoren +2 für Halo-Linien call MPI_SCATTERV(data,sendCounts,displs,MPI_DOUBLE_PRECISION,& partdata(1,2),recvcounts,mpi_double_precision,master,mpi_comm_world,ierr) bzw: Definiert Aufsatzpunkt ab welcher Position Daten geschrieben werden, (im Gegensatz zur displs-logik Punktgenau!) call MPI_GATHERV(partData(1,2),recvCounts,MPI_DOUBLE_PRECISION, & data,sendcounts,displs,mpi_double_precision,master,mpi_comm_world,ierr) SS Praktikum Seite
21 Danke das wars! Noch Fragen? SS Praktikum Seite
Einführung in das parallele Programmieren mit MPI und Java
Einführung in das parallele Programmieren mit und Java Seite 1 Übersicht Parallele Prozesse und Erste Schritte mit Kollektive Kommunikation Weitere Möglichkeiten Seite 2 Literatur (1) Homepage des 2-Forums
Parallelverarbeitung
Parallelverarbeitung WS 2015/16 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 18. Januar 2016 Betriebssysteme / verteilte Systeme Parallelverarbeitung
Parallele Programmierung mit MPI
Parallele Programmierung mit MPI Marc-Oliver Straub entstanden aus: Parallele Programmierung mit MPI - ein Praktikum Warum Parallelprogrammierung große numerische Probleme (Simulation) optische Bildverarbeitung
Übungen zu den Kursen Unix Grundlagen und Message Passing mit MPI Hans Joachim Pflug
Hochleistungsrechnen auf dem Sun Fire SMP Cluster 11. 15. März 2002 Rechenzentrum der RWTH Aachen Übungen zu den Kursen Unix Grundlagen und Message Passing mit MPI Hans Joachim Pflug Übungen zum Kurs Unix-Grundlagen...
Parallele Programmierung mit OpenMP und MPI
Parallele Programmierung mit OpenMP und MPI oder Wieso früher alles besser war Robin Geyer 08.10.2010 Robin Geyer () Parallele Programmierung mit OpenMP und MPI 08.10.2010 1 / 52 Fahrplan Einführung /
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
Kurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
#define N 5 // Anzahl der Philosophen. while (TRUE) { // Der Philosoph denkt
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
Abstimmen mit dem Gupta Report Builder
Abstimmen mit dem Gupta Report Builder Ergebnisse von Abstimmungen werden im Internet häufig als Punktreihen dargestellt. Aber ist es auch möglich eine solche einfache Darstellung einer Abstimmung mit
Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
Parallele Programmierung mit OpenMP
Parallele Programmierung mit OpenMP - Eine kurze Einführung - 11.06.2003 RRZN Kolloquium SS 2003 1 Gliederung 1. Grundlagen 2. Programmiermodell 3. Sprachkonstrukte 4. Vergleich MPI und OpenMP 11.06.2003
Excel VBA Arrays, Enumeration und benutzerdefinierte Typen
Excel VBA Arrays, Enumeration und benutzerdefinierte Typen Array (Feld)... ist aus vielen Variablen, die den gleichen Datentyp besitzen, zusammengesetzt.... fasst Elemente vom gleichen Datentyp zusammen....
Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht
Dipl. Inf. Eric Winter Entwicklungsleiter PTC GPS-Services GmbH PostgreSQLals HugeData Storage Ein Erfahrungsbericht Inhalt 1. Problembeschreibung 2. Partielle Indexierung 3. Partitionierung 1. Vererbung
Die Datenmanipulationssprache SQL
Die Datenmanipulationssprache SQL Daten eingeben Daten ändern Datenbank-Inhalte aus Dateien laden Seite 1 Data Manipulation Language A DML statement is executed when you Add new rows to a table Modify
10.6 Programmier-Exits für Workitems
10.6 Programmier-Exits für Workitems 279 10.6 Programmier-Exits für Workitems 10.6.1 Das Interface IF_SWF_IFS_WORKITEM_EXIT Am Schritt einer Workflow-Definition im Reiter»Programmier-Exits«können verschiedene
Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm)
Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox GUI Form erstellen (UserForm) GUI definieren Aktivitäten programmieren Programmcode für das Zufügen von Zell Werten Struktogramm
Selbststudium OOP5 21.10.2011 Programmieren 1 - H1103 Felix Rohrer
Kapitel 4.1 bis 4.3 1. zu bearbeitende Aufgaben: 4.1 4.1: done 2. Was verstehen Sie unter einem "Java-Package"? Erweiterungen verschiedener Klassen welche in Java benutzt werden können. 3. Sie möchten
- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen:
6 Partiell geordnete binäre Bäume: Heap (Haufen) Motivation für manchen Anwendungen nur partielle Ordnung der Elemente statt vollständiger nötig, z.b. - Prioritätsschlange: nur das minimale (oder maximale)
MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven
MPI-Programmierung unter Windows mit MPIH2 Installieren von MPIH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen hristian Terboven Rechen- und Kommunikationszentrum RWTH Aachen 1 02/2007 luster-installationsworkshop
Technical Support Information No. 123 Revision 2 June 2008
I IA Sensors and Communication - Process Analytics - Karlsruhe, Germany Page 6 of 10 Out Baking Of The MicroSAM Analytical Modules Preparatory Works The pre-adjustments and the following operations are
Technische Dokumentation SilentStatistikTool
Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...
Klausur zu High Performance Computing 12. Juli 2013
Britta Nestler, Alexander Vondrous, Fakultät IWI, Hochschule Karlsruhe Klausur zu High Performance Computing 12. Juli 2013 Es sind keine Hilfsmittel zugelassen. Bearbeitungszeit: 90 Minuten Aufgabe 1:
Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging
Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit
Paralleles Programmieren mit MPI und OpenMP
Paralleles Programmieren mit MPI und OpenMP Vorlesung «Algorithmen für das wissenschaftliche Rechnen» 6.5.2002 Olaf Schenk, Michael Hagemann 6.5.2002 Algorithmen des wissenschaftlichen Rechnens 1 Organisatorisches
Fakultät Wirtschaftswissenschaft
Fakultät Wirtschaftswissenschaft Matrikelnr. Name Vorname KLAUSUR: Entwurf und Implementierung von Informationssystemen (32561) TERMIN: 11.09.2013, 14.00 16.00 Uhr PRÜFER: Univ.-Prof. Dr. Stefan Strecker
WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)
Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,
1.4.12 Sin-Funktion vgl. Cos-Funktion
.4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten
8. Generics Grundlagen der Programmierung 1 (Java)
8. Generics Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 6. Dezember 2005 Einordnung im Kontext der Vorlesung 1.
login: password: exit logout Strg+Alt+Backspace passwd passwd $ passwd Changing password for user (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens
TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems
Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving
A study on computer-aided design of PIN-diode phase modulators at microwave frequencies
Downloaded from orbit.dtu.dk on: Jul 08, 2016 A study on computer-aided design of PIN-diode phase modulators at microwave frequencies Schjær-Jacobsen, Hans Publication date: 1976 Document Version Publisher's
Geometrie und Bedeutung: Kap 5
: Kap 5 21. November 2011 Übersicht Der Begriff des Vektors Ähnlichkeits Distanzfunktionen für Vektoren Skalarprodukt Eukidische Distanz im R n What are vectors I Domininic: Maryl: Dollar Po Euro Yen 6
Codingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008
I. Einleitung II. Codingstandard Softwareentwicklung Praktikum Stand: 27.02.2008 Wie in der Vorlesung schon ausgeführt wurde, ist die Lesbarkeit und Wartbarkeit des Sourcecodes ein sehr wichtiges Kriterium
Praktikum am 16. April 2008 Variablen
Praktikum am 16. April 2008 Variablen Prof. Dr. Bernhard Humm Version: 1.0 Date: 10.4.2008 Hochschule Darmstadt Fachbereich Informatik Schöfferstr. 8b 64295 Darmstadt 1 Umgang mit Datentypen Experimentieren
Suchen und Sortieren
(Folie 69, Seite 36 im Skript) 5 6 1 4 Als assoziatives Array geeignet Schlüssel aus geordneter Menge Linke Kinder kleiner, rechte Kinder größer als Elternknoten Externe und interne Knoten Externe Knoten
KV Software Engineering Übungsaufgaben SS 2005
KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 1 Aufgabe 1 (10 Punkte) Lesen Sie das Originalpapier von Dijkstra Go To Statement Considered
Einführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
Universität Duisburg - Essen
B.Sc. - Klausur - Bauinformatik - 14.03.2012 1 Universität Duisburg - Essen Campus Essen Fakultät für Ingenieurwissenschaften Abteilung Bauwissenschaften Fachprüfung - Bauinformatik WS 11/12 Mittwoch,
Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
Einführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst.
Einführung Elementare Datenstrukturen (Folie 38, Seite 23 im Skript) Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen
C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.
C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von
Tag 9: Datenstrukturen
Tag 9: Datenstrukturen A) Datenstrukturen B) Cell Arrays C) Anwendungsbeispiel: Stimulation in einem psychophysikalischen Experiment A) Datenstrukturen Wenn man komplizierte Datenmengen verwalten möchte,
Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.
Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.
Felder, Rückblick Mehrdimensionale Felder. Programmieren in C
Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte
C.3 Funktionen und Prozeduren
C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens
Einführung in C++ Operatoren überladen (Klassen)
Einführung in C++ Operatoren überladen (Klassen) Operatoren überladen Die Überladung von Operatoren ermöglicht es, vorhandene Operatoren (+,-,...) auch auf Objekte von Klassen anzuwenden. Die meisten der
3 Kurzeinführung in Matlab
3 Kurzeinführung in Matlab Matlab ist ein sehr leistungsfähiges interaktives Programmpaket für numerische Berechnungen. Nutzen Sie dies parallel zu den Vorlesungen. Sie können damit persönlich erfahren,
Klausur zu High Performance Computing 09. Juli 2011, SS 2011
Alexander Vondrous, Britta Nestler, Fakultät IWI, Hochschule Karlsruhe Klausur zu High Performance Computing 09. Juli 2011, SS 2011 Es sind keine Hilfsmittel zugelassen. Bearbeitungszeit: 90 Minuten Aufgabe
Hochleistungsrechnen Hybride Parallele Programmierung. Prof. Dr. Thomas Ludwig Universität Hamburg Informatik Wissenschaftliches Rechnen
Hochleistungsrechnen Hybride Parallele Programmierung Prof. Dr. Thomas Ludwig Universität Hamburg Informatik Wissenschaftliches Rechnen Inhaltsübersicht Einleitung und Motivation Programmiermodelle für
Client-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
E-PRIME TUTORIUM Die Programmiersprache BASIC
E-PRIME TUTORIUM Die Programmiersprache BASIC BASIC Beginner s All-purpose Symbolic Instruction Code symbolische Allzweck-Programmiersprache für Anfänger Design-Ziel klar: Eine einfache, für Anfänger geeignete
Modul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
Programmierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de
> Programmierbeispiele und Implementierung Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de 2 > Übersicht > Matrix Vektor Multiplikation > Mandelbrotmenge / Apfelmännchen berechnen > Kantendetektion
Designstreifen Design strips Paper Balls
Designstreifen Design strips Paper Balls 2011 Designstreifen Paper Balls / Design strips Paper Balls Scandinavian Christmas 24 Stanzteile, Motiv Schneeflocke, in 2 Farben und Größen, 50 Glitzersteine,
Praktikum Entwicklung Mediensysteme (für Master)
Praktikum Entwicklung Mediensysteme (für Master) Organisatorisches Today Schedule Organizational Stuff Introduction to Android Exercise 1 2 Schedule Phase 1 Individual Phase: Introduction to basics about
MPI. Frank Lohmeyer. Seminar. Werkzeuge der Parallelverarbeitung
MPI A Message Passing Interface Standard Frank Lohmeyer Seminar Werkzeuge der Parallelverarbeitung Sommersemester 1995 Seminar - Werkzeuge der Parallelverarbeitung: MPI i Inhaltsverzeichnis 1 Einleitung
QuadroPod. The new Camera Support System of the fourth dimension. Das neue Stativsystem der vierten Dimension
QuadroPod The new Camera Support System of the fourth dimension Das neue Stativsystem der vierten Dimension Die Köpfe / The Bases QuadroPod Basic QuadroPod Basic QuadroPod mit Mittelsäule QP C QuadroPod
Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
Parallel Programming: Message-Passing-Interface
Vorlesung Rechnerarchitektur 2 Seite 71 MPI-Einführung Parallel Programming: Voraussetzungen im Source-Code für ein MPI Programm: mpi.h includen Die Kommandozeilenparameter des Programms müssen an MPI_Init
Logik: aussagenlogische Formeln und Wahrheitstafeln
FH Gießen-Friedberg, Sommersemester 2010 Lösungen zu Übungsblatt 1 Diskrete Mathematik (Informatik) 7./9. April 2010 Prof. Dr. Hans-Rudolf Metz Logik: aussagenlogische Formeln und Wahrheitstafeln Aufgabe
SanStore: Kurzanleitung / SanStore: Quick reference guide
SanStore Rekorder der Serie MM, MMX, HM und HMX Datenwiedergabe und Backup Datenwiedergabe 1. Drücken Sie die Time Search-Taste auf der Fernbedienung. Hinweis: Falls Sie nach einem Administrator-Passwort
Java - Überladen von Methoden und Konstruktoren
Java - Überladen von Methoden und Konstruktoren 2 + 3 Addition 1 + 2 + 3 + 4+ 5 +... 4.2 + 3.3 4.2 + 3 + 5 Leibniz Universität IT Services Anja Aue Überladen von Methoden und Konstruktoren Innerhalb einer
Seminar im WS 06/07. Grid Computing. Thema: High Performance Computing: Message Passing Interface im Grid. Seminararbeit von.
Seminar im WS 06/07 Grid Computing Thema: High Performance Computing: Message Passing Interface im Grid Seminararbeit von Stephan Lehmann Betreuer: Jörg Behrend Universität Tübingen Wilhelm-Schickard-Institut
Vermessene Wissenschaft. Etablierte und alternative Ansätze der Bibliometrie
Vermessene Wissenschaft Etablierte und alternative Ansätze der Bibliometrie http://www.uni-hamburg.de/biologie/bioz/zis/hb/dieckhof.html LunchLesson zur Bibliometrie 19.03.2015 S. 2 http://www.uniklinikum-saarland.de/forschung/lom/
Variablen manipulieren per JDI
Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt
SOI 2013. Die Schweizer Informatikolympiade
SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen
Kapitel 12: Übersetzung objektorienter Konzepte
Kapitel 12: Übersetzung objektorienter Konzepte Themen Klassendarstellung und Methodenaufruf Typüberprüfung Klassenhierarchieanalyse Escape Analyse 12.1 Klassendarstellung bei Einfachvererbung class Punkt
Vorlesung 16.11.2012 Inhaltsverzeichnis. Einfache Rechnungen
Vorlesung 16.11.01 Inhaltsverzeichnis 1.. 3. 4. 5. 6. Einfache Rechnungen Hilfe! Gleitkommazahlen Formales Rechnen Polynome Endliche Körper Einfache Rechnungen Sage kann alles was ein Taschenrechner kann,
ajanzen.com Beispiele für den Umgang mit Feldsymbolen
ajanzen.com Beispiele für den Umgang mit Feldsymbolen ajanzen.com 1 Einleitung In dem vorliegenden Dokument möchte ich auf den Umgang mit Feldsymbolen näher eingehen. Dabei geht es nicht um komplexe Erklärungen,
Manuelles Laden von ADO Dateien. Lösung von Problemen beim Testen von possenet Dynamics CVS Ständen
Lösung von Problemen beim Testen von possenet Dynamics CVS Mike Fechner, mike fechner it consulting 26.08.2003 Vorbemerkung Die in diesem Text angebotenen Informationen werden Ihnen zur eigenen Verwendung
monika.heiner@informatik.tu-cottbus.de SS 2013 1.4-1 / 16 schrittweise Verfeinerung -> Wirth, 1971, Programm Development by Stepwise Refinement
IMPLEMENTIERUNGSSTRATEGIE bis jetzt: Programmstruktur für Programmieren im Kleinen jetzt: Programmstruktur für Programmieren im Großen zunächst allgemein, d. h. sprachunabhängig monika.heiner@informatik.tu-cottbus.de
Intel Cluster Studio. Michael Burger FG Scientific Computing TU Darmstadt michael.burger@sc.tu-darmstadt.de
Intel Cluster Studio Michael Burger FG Scientific Computing TU Darmstadt michael.burger@sc.tu-darmstadt.de 19.03.13 FB Computer Science Scientific Computing Michael Burger 1 / 30 Agenda Was ist das Intel
Walter GPS Global Productivity System
Walter GPS Global Productivity System DIE WERKZEUGAUSWAHL MIT dem ÜBERRASCHUNGS- EFFEKT. ÜBERRASCHEND EINFACH. THE TOOL SELECTION WITH THE ELEMENT OF SURPRISE. SURPRISINGLY EASY. Überraschend schnell:
Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind
Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt
Programmierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
Effizienz im Vor-Ort-Service
Installation: Anleitung SatWork Integrierte Auftragsabwicklung & -Disposition Februar 2012 Disposition & Auftragsabwicklung Effizienz im Vor-Ort-Service Disclaimer Vertraulichkeit Der Inhalt dieses Dokuments
Informationsverarbeitung im Bauwesen
10 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 9. Vorlesung Datenfelder (Arrays) Statische Felder Dynamische Felder Bestimmung der Grenzen Felder als Parameter für Prozeduren/Funktionen Beispiele:
11. Übung Informatik II - Operatorfunktionen
Stand: 26. Juni 2015 Inhalt 1 2 3 Übersicht 1 2 3 Warum Operatoren überladen? Großteil der Operatoren (Arithmetik, Logik, Vergleiche) nur für Standarddatentypen (Zahlen, Zeiger) implementiert vergleichbare
Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842.
Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek Mail_02.lib Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Inhalt Mail_02.lib 3 MAIL_SmtpClient...
Einführung in die Programmierung mit C++
Seite 1 Einführung in die Programmierung mit C Teil IV - Weiterführende Themen 16. SIMD Programmierung Was bedeutet SIMD Seite SIMD Single-Instruction, Multiple-Data, also eine Instruktion, mehrere Daten
Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!
Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
Klausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
Kapitel 3 Einführung in C#
Kapitel 3 Einführung in C# Mono ISBN 3-8272-6492-8 In diesem Abschnitt werden Sie sich mit dem Herzstück von Mono befassen. Der C#-Compiler stellt ein überaus mächtiges Werkzeug dar und ist mehr als nur
Datenzentrierte Unternehmensarchitekturen im Bekleidungseinzelhandel
Datenzentrierte Unternehmensarchitekturen im Bekleidungseinzelhandel 405 406 407 dekodiert die vom Lesegerät gesendeten Befehle und sendet s 408 409 410 Am Beispiel des Geschäftsprozesses 3 Aftersales
http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu
gdb: debugging code In der Vorlesung hatte ich Teile von http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu und ein eigenes Beispiel diskutiert. Ein Debugger soll helfen Fehler im Programm, die sich
SEP 325. Notwendigkeit. häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz
Optimierungen SEP 325 Notwendigkeit häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz Symptome des Mangels an Performanz: OutOfMemoryError wird geworfen
Statistisches Programmieren
Statistisches Programmieren Session 1 1 Was ist R R ist eine interaktive, flexible Software-Umgebung in der statistische Analysen durchgeführt werden können. Zahlreiche statistische Funktionen und Prozeduren
Klausur Verteilte Systeme
Klausur Verteilte Systeme SS 2005 by Prof. Walter Kriha Klausur Verteilte Systeme: SS 2005 by Prof. Walter Kriha Note Bitte ausfüllen (Fill in please): Vorname: Nachname: Matrikelnummer: Studiengang: Table
11: Echtzeitbetriebssystem ucos-ii
11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren
Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016