Praktikum: Paralleles Programmieren für Geowissenschaftler
|
|
- Herbert Brodbeck
- vor 5 Jahren
- Abrufe
Transkript
1 Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Tim Jammer & Jannek Squar Dr. HermannJ. Lenhart
2 MPI Einführung II: Kollektive Operationen Scatter / Gather => gleichmäßige Matrixaufteilung ScatterV / GatherV => ungleichmäßige Matrixaufteilung > Vorbereitung für Poisson Parallelisierung SS 208 Praktikum Paralleles Progrm. für Geowisssenschaftler Dr. HermannJ. Lenhart hermann.lenhart@informatik.unihamburg.de Seite
3 MPI Scatter: MPI Scatter: MPI Scatter I Eine Möglichkeit z.b. eine Anfangsbelegung auf die Teilarrays der Prozesse, zu übertragen bietet MPI_SCATTER: Syntax: MPI_Scatter(Sendbuffer, Sendcount, Sendtype, Recvbuffer, Recvcount, Recvtype, Source, Comm, Ierror) Call MPI_SCATTER(Send_Message, Send_Count, Send_Datatype, Recv_Message, Recv_Count, Recv_Datatype, 0, MPI_COMM_World, Ierror)! Ausgangsmatrix! Teilmatrix vert. SS 208 Praktikum Dr. HermannJ. Lenhart Seite 3 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
4 MPI Scatter II Die Daten werden von P0 an die anderen Prozesse P P3 gesendet. P0 P P2 Bereich in dem gerechnet wird. P3 SS 208 Praktikum Dr. HermannJ. Lenhart Seite 4 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
5 MPI Scatter: Beispiel array2d(8x8) => 4 Teile chunk2d(8x2) P P 6 P2 6 P3 6 SS 208 Praktikum Dr. HermannJ. Lenhart Seite 5 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
6 MPI Scatter: integer, dimension(8, 8) :: array2d! all2 2D Daten integer, dimension(8, 2) :: chunk2d! Teile der 2D Daten für jeden einzelne Prozess (4 Stück)! MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, ierr)! 6 = 8*2 = size(chunk) CALL MPI_SCATTER(array2D, 6, MPI_INTEGER, chunk2d, 6, MPI_INTEGER, & 0, MPI_COMM_WORLD, mpi_ierr) Abbildung von Matrix array2d auf 4 Teile chunk2d SS 205 Praktikum Dr. HermannJ. Lenhart Seite 6 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
7 MPI Scatter: integer, dimension(8, 8) :: array2d! all2 2D Daten integer, dimension(8, 2) :: chunk2d! Teile der 2D Daten für jeden einzelne Prozess (4 Stück)! MPI_Scatter(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, ierr)! 6 = 8*2 = size(chunk) CALL MPI_SCATTER(array2D, 6, MPI_INTEGER, chunk2d, 6, MPI_INTEGER, & 0, MPI_COMM_WORLD, mpi_ierr) Abbildung von Matrix array2d auf 4 Teile chunk2d Die Anzahl der beteiligten Prozesse wird intern angenommen; aber nicht explizit ausgewiesen, d.h. die Zuordnung der Matrix Indizes muss intern abgestimmt werden! SS 205 Praktikum Dr. HermannJ. Lenhart Seite 7 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
8 MPI Gather I Eine Möglichkeit Teilarrays der Prozesse (z.b. für I/O Zwecke) wieder zusammenzuführen, bietet MPI_GATHER: Syntax: MPI_Gather(Send_Message, Send_Count, Send_Datatype, Recv_Message, Recv_Count, Recv_Datatype, Target, Comm, Ierror) Call MPI_GATHER (temp,, MPI_Real, tempall,, MPI_Real, 0, MPI_COMM_World, Ierror) SS 208 Praktikum Dr. HermannJ. Lenhart Seite 8 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
9 MPI Gather II Call MPI_GATHER(temp,, MPI_Real, tempall,, MPI_Real, 0, MPI_COMM_World, Ierror) P0 P P2 P3 SS 208 Praktikum Dr. HermannJ. Lenhart Seite 9 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
10 MPI Gather III SS 208 Praktikum Dr. HermannJ. Lenhart Seite 0 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
11 MPI Gather III SS 208 Praktikum Dr. HermannJ. Lenhart Seite Paralleles Progrm. für Geowisssenschaftler
12 MPI ScatterVGatherV: In der Informatik Literatur MPI_Gatherv and MPI_Scatterv are the variablemessagesize 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 203 Praktikum Dr. HermannJ. Lenhart Seite 2 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de (Quelle:
13 MPI Scatterv: MPI ScatterV: Beispiel array2d(8x8) => 5 Teile chunk2d P Beispiel aus den Geowissenschaften: SS 206 Praktikum Dr. HermannJ. Lenhart 8 Seite 3 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de Ungerade Aufteilung einer Modellmatrix 6 8
14 MPI Scatter > ScatterV Call MPI_SCATTER (Send_Message, Send_Count, Send_Datatype, Recv_Message, Recv_Count, Recv_Datatype, Source, Comm, Ierror) Call MPI_SCATTERV(Send_Mesage, Send_Count, Displacement, Send_Datatype, Recv_Mesage, Recv_Count, Recv_Datatype, Source, Comm, Ierror) Änderung: Send_count von Integer Zahl IntegerVektor Neu: DisplacementVektor SS 208 Praktikum Dr. HermannJ. Lenhart Seite 4 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
15 MPI ScatterV: Beispiel array2d(8x8) => 5 Teile chunk2d P Die Matrix wir in 5 Teilen verschickt! sendcounts definiert die Größe der Datenpakete pro Prozess Sendcounts = (/6, 6, 6, 8, 8/) displacement = (/ 0, 6, 32, 48, 56/) Displacement: SS 206 Praktikum Dr. HermannJ. Lenhart 8 Seite 5 Beginnt Paralleles mit Null Progrm. und bezieht für Geowisssenschaftler sich jeweils auf das hermann.lenhart@informatik.unihamburg.de letzte Element des vorherigen Abschnitts!
16 MPI ScatterV / GatherV SS 203 Praktikum Dr. HermannJ. Lenhart Seite 6 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
17 MPI ScatterV / GatherV Bei GATHERV werden die Teilstücke entsprechend dem Rank zurückgeschickt! SS 203 Praktikum Dr. HermannJ. Lenhart Seite 7 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
18 Beispiel: Die Matrix wir in Vektoren zerlegt. Für 0 Prozesse: displacement def. Versatz in der Matrix sendcounts = (/2, 0, 5, 8, 5, 2, 2, 2, 2, 2/) displacement = (/0, 2, 2, 7, 25, 30, 32, 34, 36, 38/) call MPI_SCATTERV(array, sendcounts, displacement, MPI_INTEGER, chunk, sendcounts(rank+), MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) SS 203 Praktikum Dr. HermannJ. Lenhart Seite 8 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
19 MPI Scatterv Beispiel A Zuweisung II Beispiel: Die Matrix wir in Vektoren zerlegt. Für 0 Prozesse: displacement def. Versatz in der Matrix sendcounts = (/2, 0, 5, 8, 5, 2, 2, 2, 2, 2/) displacement = (/0, 2, 2, 7, 25, 30, 32, 34, 36, 38/) call MPI_SCATTERV(array, sendcounts, displacement, MPI_INTEGER, chunk, sendcounts(rank+), 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+) Rank 0 SS 203 Praktikum Dr. HermannJ. Lenhart Seite 9 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
20 MPI Scatterv Beispiel mit Lücke Aufteilung Matrix 0x4 auf einzelne Vektoren unterschiedlicher Länge mit Lücke in den Daten X 2 SS 203 Praktikum Dr. HermannJ. Lenhart Seite 20 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
21 Für 0 Prozesse: integer :: sendcount (0) Integer :: displacement (0) sendcounts = (/2, 8, 5, 8, 5, 2, 2, 2, 2, 2/) displacement = (/0, 2, 2, 7, 25, 30, 32, 34, 36, 38/) Sendcounts: wird an neue Datenstruktur angepasst, Position und 2 wird ausgelassen SS 203 Praktikum Dr. HermannJ. Lenhart Seite 2 displacement: Paralleles Progrm. hier ändert für Geowisssenschaftler sich in diesem Beispiel hermann.lenhart@informatik.unihamburg.de nichts
22 MPI ScatterV / GatherV Matrix 20 x 20 Beispiel mit Teilmatrizen # Zeilen , 2, 3, A B C D A B C D sendcount = (/20, 80, 60, 40/) displacement=(/ 0, 20, 200, 260/) SS 203 Praktikum Dr. HermannJ. Lenhart Seite 22 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
23 MPI ScatterV / GatherV program scatterv use mpi integer, dimension(20, 20) :: array2d! all the 2D data integer, dimension(20,?) :: chunk2d! Max (!) piece of 2D data each process works on integer :: mpi_ierr, mpi_rank, mpi_size, sendcnt(4), displ(4) sendcnt = (/20,80,60,40/) displ=(/0,20,200,260/) CALL MPI_INIT(mpi_ierr) CALL MPI_SCATTERV(array2D, sendcnt, displ, MPI_INTEGER, & chunk2d, sendcnt(mpi_rank+), MPI_INTEGER, 0, MPI_COMM_WORLD, mpi_ierr) CALL computation(chunk2d,sendcnt(mpi_rank+))! where the magic happens CALL MPI_GATHERV(chunk2D, sendcnt(mpi_rank+), & MPI_INTEGER, array2d, sendcnt, displ, MPI_INTEGER, 0, MPI_COMM_WORLD, mpi_ierr) CALL MPI_FINALIZE(mpi_ierr) end SS program 203 Praktikum scatterv Dr. HermannJ. Lenhart Seite 23 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
24 Parallele Bearbeitung einer Matrix I Überlappung der Teilmatrizen der einzelnen Prozesse Berechnung der Poisson Gl. auf Star Quelle: Gropp, Lusk & Skjellum Using MPI SS 208 Praktikum Dr. HermannJ. Lenhart Seite 24 Paralleles Progrm. für Geowisssenschaftler hermann.lenhart@informatik.unihamburg.de
25 Parallele Bearbeitung einer Matrix II Austausch der Randstreifen im Programmlauf SS 204 Praktikum Paralleles Progrm. für Geowisssenschaftler Dr. HermannJ. Lenhart Quelle: Gropp, Lusk & Skjellum Using MPI Seite
26 Danke das wars! SS 207 Praktikum Dr. HermannJ. Lenhart Seite 26 Paralleles Progrm. für Geowisssenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Tim Jammer Dr. HermannJ. Lenhart hermann.lenhart@informatik.unihamburg.de MPI Einführung III: ScatterV/
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Enno Zickler Dr. HermannJ. Lenhart hermann.lenhart@informatik.unihamburg.de MPI Einführung II: Kollektive
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Felix Hoffmann hermann.lenhart@informatik.uni-hamburg.de MPI Einführung III Scatterv / Gatherv Programmbeispiele
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Nathanael Hübbe MPI Kollektive Operationen Neben Point-to-Point Kommunikation mittels Send & Recv verfügt
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart hermann.lenhart@informatik.uni-hamburg.de MPI Einführung II: Send/Receive Syntax Broadcast Reduce Operation
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart hermann.lenhart@zmaw.de MPI Einführung I: Einführung Nachrichtenaustausch mit MPI MPI point-to-point communication
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Nathanael Hübbe hermann.lenhart@informatik.uni-hamburg.de MPI Kommunikation: Das wichtigste Kriterium für
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Enno Zieckler hermann.lenhart@informatik.uni-hamburg.de MPI Kommunikation: Das wichtigste Kriterium für
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Ulrich Körner, Nathanael Hübbe hermann.lenhart@zmaw.de MPI Einführung III: Kommunikation Standard = blockierende
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Nathanael Hübbe hermann.lenhart@zmaw.de MPI Einführung I: Hardware Voraussetzung zur Parallelen Programmierung
Kurzübersicht über die wichtigsten MPI-Befehle
Kurzübersicht über die wichtigsten MPI-Befehle Hans Joachim Pflug Rechen- und Kommunkationszentrum der RWTH Aachen Inhalt MPI_Init / MPI_Finalize...2 MPI_Comm_size / MPI_Comm_rank...3 MPI_Send / MPI_Recv...4
MPI Message Passing Interface. Matus Dobrotka Jan Lietz
MPI Message Passing Interface Matus Dobrotka Jan Lietz 25.5.2016 MPI Ein Standard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt MPI-Applikation mehrere
Simulation der MPI collective operations im PIOsimHD
Uni Hamburg WR - Informatik 04.04.2012 Simulation der MPI collective operations im PIOsimHD 1 Artur Thiessen Informatik Bachelor Matrikelnummer: 5944906 7thiesse@informatik.uni-hamburg.de Inhaltsverzeichnis
Grundlagen zu MPI. Martin Lanser Mathematisches Institut Universität zu Köln. October 24, 2017
Grundlagen zu MPI Martin Lanser Mathematisches Institut Universität zu Köln October 24, 2017 Überblick Einige Grundlagen Punkt-zu-Punkt Kommunikation Globale Kommunikation Kommunikation plus Berechnung
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Ulrich Körner, Nathanael Hübbe hermann.lenhart@zmaw.de OpenMP Einführung I: Allgemeine Einführung Prozesse
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart & Enno Zickler hermann.lenhart@zmaw.de OpenMP Allgemeine Einführung I OpenMP Merkmale: OpenMP ist keine Programmiersprache!
Parallele Algorithmen SoSe 2016
Hochschule Harz FB Automatisierung und Informatik 3. Labor: MPI Parallele Algorithmen SoSe 2016 Thema: MPI-Programmierung im Cluster mit globalen Kommunikationsoperationen: 1 Versuchsziele Einen Cluster
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
Modelle der Parallelverarbeitung
Modelle der Parallelverarbeitung Modelle der Parallelverarbeitung 12. Message Passing Interface Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Sommersemester 2017 1 / 36 Überblick
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
Das Message Passing Paradigma (1)
Das Message Passing Paradigma (1) Das Message Passing Paradigma (2) Sehr flexibel, universell, hoch effizient Programm kann logisch in beliebig viele Prozesse aufgeteilt werden Prozesse können unterschiedlichen
MPI Prozessgruppen, Topologien, kollektive Kommunikation
MPI Prozessgruppen, Topologien, kollektive Kommunikation Parallelrechner Sommersemester 2004 tome@informatik.tu-chemnitz.de Inhalt Prozessgruppen und der Communicator Kollektive Kommunikation Prozess Topologien
4.4. MPI Message Passing Interface
4.4. MPI Message Passing Interface Ferienakademie 2009 Franz Diebold Agenda 1. Einführung, Motivation 2. Kommunikationsmodell 3. Punkt-Zu-Punkt-Kommunikation 4. Globale Kommunikation 5. Vergleich MPI und
In allen Fällen spielt die 'Determinante' einer Matrix eine zentrale Rolle.
Nachschlag:Transposition von Matrizen Sei Explizit: Def: "Transponierte v. A": (tausche Zeilen mit Spalten d.h., spiegle in der Diagonale) m Reihen, n Spalten n Reihen, m Spalten z.b. m=2,n=3: Eigenschaft:
Beschreiben Sie die Eigenschaften der verschiedenen Rechnertypen an Hand:
Hochschule Harz FB Automatisierung/Informatik Fachprüfung: Parallele Algorithmen (Musterklausur) Alle Hilfsmittel sind zugelassen! 1. Aufgabe Beschreiben Sie die Eigenschaften der verschiedenen Rechnertypen
Praktikum «Paralleles Programmieren»
Praktikum «Paralleles Programmieren» Thema Autor Datum Betreuer Seiler Tide Modell Anna Fuchs Oktober 2012 Petra Nerge Überblick Gezeiten - Einführung Seiler Tide Modell Implementierung Parallelisierungsschema
Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
Anregungen zu Übung 2
Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist
Praktikum Parallele Programmierung. Travelling Salesman Problem (TSP)
UNIVERSITÄT HAMBURG FACHBEREICH INFORMATIK Praktikum Parallele Programmierung Travelling Salesman Problem (TSP) von Ihar Aleinikau Olesja Aleinikau & Timo Dahlbüdding 1. Problemstellung Aufgabe des TSP
Parallele Programmierung mit MPI im Überblick
Parallele Programmierung mit MPI im Überblick Dieter an Mey e-mail: anmey@rz.rwth-aachen.de 1 Parallelisierung im Überblick Parallelisierung mit OpenMP und MPI an einigen einfachen Beispielen Rechenarchitekturen
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
D-BAUG Informatik I. Exercise session: week 1 HS 2018
1 D-BAUG Informatik I Exercise session: week 1 HS 2018 Java Tutorials 2 Questions? expert.ethz.ch 3 Common questions and issues. expert.ethz.ch 4 Need help with expert? Mixed expressions Type Conversions
ListElement (E i n f o, ListElement<E> prev, ListElement<E> next ) {
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 11 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
Übersetzen des Quelltexts in ausführbaren Maschinen-Code Translation of source code into executable machine code
Informatik II D-BAUG Self-Assessment, 2. März 2017 Lösung Name, Vorname:............................................................. Legi-Nummer:.............................................................
Übungsstunde: Informatik 1 D-MAVT
Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 25.04.2018 1 Ablauf Self-Assessment Pointer Iterators
Wissenschaftliches Rechnen im SoSe 2015 Dr. J. Kunkel, Hans Ole Hatzel Abgabe:
Universität Hamburg Übungsblatt 2 zum Praktikum Department Informatik Paralleles Programmieren Wissenschaftliches Rechnen im SoSe 2015 Dr. J. Kunkel, Hans Ole Hatzel 06.05.2015 1 Vertiefung von C-Kentnissen
OpenMP - Geschichte. 1997: OpenMP Version 1.0 für Fortran
OpenMP - Geschichte 1997: OpenMP Version 1.0 für Fortran Standard für f r die Shared-Memory Memory-Programmierung inzwischen für f r alle namhaften SMP-Rechner verfügbar wird im techn.-wiss. Rechnen die
[Nächste Frage: wie wissen wir, ob Spaltenvektoren eine Basis bilden? Siehe L6.1] , enthält eine Basis v. V, nämlich und somit das ganze V.
Kriterien für Invertierbarkeit einer Matrix Eine lineare Abbildung falls und nur falls ist bijektiv, d.h. ihre Matrix ist invertierbar, (i) für jede Basis, die Bildvektoren auch eine Basis, bilden; (intuitiv
Java Referenzdatentypen genauer betrachtet
Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen
Algorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 26. März 2009, c 2009 D.Rösner D.
Übung Informatik I - Programmierung - Blatt 8
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
Arrays und Schleifen
Arrays und Schleifen Javakurs 2013, 2. Vorlesung Theresa Enghardt basierend auf der Vorlage von Mario Bodemann und Sebastian Dyroff wiki.freitagsrunde.org 4. März 2013 This work is licensed under the Creative
Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II
Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II Matrixzugriff Wir wollen nun unsere Einführung in die Arbeit mit Vektoren und Matrizen in MATLAB
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Ulrich Körner, Nathanael Hübbe hermann.lenhart@zmaw.de FORTRAN Einführung II: Programmstrukturen Subroutinen
High Performance Computing Blatt 7
Dr. Andreas Borchert Institut für Numerische Mathematik Prof. Dr. Stefan Funken Universität Ulm Prof. Dr. Karsten Urban Sommersemester 03 Markus Bantle, Kristina Steih High Performance Computing Blatt
Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt.
Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
Parallelisierung eines Lagrange schen Partikelausbreitungsmodells
Parallelisierung eines Lagrange schen Partikelausbreitungsmodells Abschlussbericht 6. Februar 2012 Ziel Die Wunschvorstellung Sequentielles Modell Ablaufplan Technischer Ablaufplan Besonderheiten Datenaufteilung
Vorlesung Parallelrechner und Parallelprogrammierung, SoSe 2016
Paralleles Programmieren mit OpenMP und MPI MPI-Übungsaufgaben Vorlesung Parallelrechner und Parallelprogrammierung, SoSe 2016 Hartmut Steinbuch Häfner, Centre Steinbuch for Computing Centre for Computing
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
FEBE Die Frontend-Backend-Lösung für Excel
FEBE Die Frontend--Lösung für FEBE Die Frontend--Lösung für FEBE.pptx 8.04.206 0:43 FEBE Die Frontend--Lösung für Nutzer A alle_aufträge neuer_auftrag Auftragsänderung Nutzer B alle_aufträge neuer_auftrag
Ü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...
Elastodynamik 2 Lösungsblatt 1. [1 l l N /m N /m 6000 N 3000 N 6000 N 4000 Nm] =0,5m = 3000 N. =0,00060 m = 6000 N
Elastodynamik Lösungsblatt 1 Aufgabe 1: Vorbereitung: Zerlegung der Matrix K Zeile 1: Zeile : Zeile 3: L D L T = K d 1 0 0 0 l 3 ] 1 ] 0 1 l 3 0 0 1 6000 N /m 0 N /m 3000 N =6000 N /m, =0, = 3000 N 0 N
Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08
Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende
SIMD-Accelerated Regular Expression Matching
SIMD-Accelerated Regular Expression Matching Seminar - Implementierungstechniken für MMDBS Stefan Lachnit 29. Oktober 2018 Einleitung Reguläre Ausdrücke ermöglichen komplexe Abfragen bei Strings RE muss
R a i n e r N i e u w e n h u i z e n K a p e l l e n s t r G r e v e n T e l / F a x / e
R a i n e r N i e u w e n h u i z e n K a p e l l e n s t r. 5 4 8 6 2 8 G r e v e n T e l. 0 2 5 7 1 / 9 5 2 6 1 0 F a x. 0 2 5 7 1 / 9 5 2 6 1 2 e - m a i l r a i n e r. n i e u w e n h u i z e n @ c
F r e i t a g, 3. J u n i
F r e i t a g, 3. J u n i 2 0 1 1 L i n u x w i r d 2 0 J a h r e a l t H o l l a, i c h d a c h t e d i e L i n u x - L e u t e s i n d e i n w e n i g v e r n ü n f t i g, a b e r j e t z t g i b t e
L 3. L a 3. P a. L a m 3. P a l. L a m a 3. P a l m. P a l m e. P o 4. P o p 4. L a. P o p o 4. L a m. Agnes Klawatsch
1 L 3 P 1 L a 3 P a 1 L a m 3 P a l 1 L a m a 3 P a l m 2 P 3 P a l m e 2 P o 4 L 2 P o p 4 L a 2 P o p o 4 L a m 4 L a m p 6 N a 4 L a m p e 6 N a m 5 5 A A m 6 6 N a m e N a m e n 5 A m p 7 M 5 A m p
S o n n t a g, 5. A u g u s t
S o n n t a g, 5. A u g u s t 2 0 1 8 R ü c k b l i c k, A b s c h i e d, v i e l p a s s i e r t u n d k e i n e Z e i t D r e i M o n a t e s i n d v e r g a n g e n, v o l l g e s t o p f t m i t s
S o n n t a g, 2 6. N o v e m b e r
S o n n t a g, 2 6. N o v e m b e r 2 0 1 7 A u s f l u g n a c h N e v a d a u n d A r i z o n a D e r g r o ß e S o h n u n d i c h g i n g e n a u f e i n e F a h r t i n R i c h t u n g N e v a d a
Rechnerarchitektur SS 2012
Rechnerarchitektur SS 2012 Verbindungsnetze TU Dortmund, Fakultät für Informatik XII Literatur: Culler/Singh/Gupta: Parallel Computer Architecture, 1999, Kapitel 10, S. 749ff. Huang: Advanced Computer
Vorlesung Betriebssysteme II
1 / 15 Vorlesung Betriebssysteme II Thema 3: IPC Robert Baumgartl 20. April 2015 2 / 15 Message Passing (Nachrichtenaustausch) Prinzip 2 grundlegende Operationen: send(), receive() notwendig, wenn kein
Paritäts-Bit- Generator
Projektseminar: Hardware-Beschreibung mit VHDL Seite: 4 2 Aufgaben 2.1 Aufgabe Parity-Generator 2.1.1 Aufgabenstellung Beschreiben sie eine Hardware, welche ein Paritäts-Bit an eine 31-stellige Bitfolge
Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang
Reihungen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/ WS 05/06 2 Ziele Die Datenstruktur der Reihungen
mit "Skalarprodukt" aus i-tem "Zeilenvektor" und j-tem "Spaltenvektor"
Zusammenfassung Matrizen Transponierte: Addition: mit Skalare Multiplikation: Matrixmultiplikation: m x p m x n n x p mit ES "Skalarprodukt" aus i-tem "Zeilenvektor" und j-tem "Spaltenvektor" "Determinante"
Message Passing Interface (MPI)
Westfälische Wilhelms-Universität Münster Ausarbeitung Message Passing Interface (MPI) Im Rahmen des Seminars Parallele und Verteilte Programmierung Julian Pascal Werra Themensteller: Prof. Dr. Herbert
Mehrdimensionale Arrays
Mehrdimensionale Arrays Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Eindimensionale Arrays haben wir bereits kennen gelernt. Es gibt aber auch mehrdimensionale Arrays. Die sind auch sehr notwendig, denken
Python. und statistische Methoden der Datenanalyse
Python und statistische Methoden der Datenanalyse Python-Grundlagen moderne Hochsprache unterstützt Skripting (Prozeduren u. Funktionen) objektorientiet (Klassen) Funktionale Programmierung (z.b. List-Comprehension)
Mehrdimensionale Arrays
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil X Michael Roth (h_da) Informatik (CT) WS 2012/2013
Praktikum: Hermann Lenhart. Sommersemester 2014
Praktikum: Einführung in Parallele Programmierung für Geowissenschaftler Hermann Lenhart Sommersemester 2014 Übersicht: Vorstellung Praktikum mit Perspektive Ergänzungsfach Vorstellung WR-Gruppe und eigene
Praktikum: Einführung in Parallele Programmierung für Geowissenschaftler. Hermann Lenhart. Sommersemester 2015
Praktikum: Einführung in Parallele Programmierung für Geowissenschaftler Hermann Lenhart Sommersemester 2015 Übersicht: Vorstellung Praktikum mit Perspektive Ergänzungsfach Vorstellung WR-Gruppe und eigene
Rechnerarchitektur SS 2013
Rechnerarchitektur SS 2013 Verbindungsnetze Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 2. Juli 2013 Leistungsbewertung von Kommunikationsmechanismen
Informatik - Übungsstunde
Informatik - Übungsstunde Jonas Lauener (jlauener@student.ethz.ch) ETH Zürich Woche 08-25.04.2018 Lernziele const: Reference const: Pointer vector: iterator using Jonas Lauener (ETH Zürich) Informatik
Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung
Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung
Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls
Kriterien für Invertierbarkeit einer Matrix Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls (i) für jede Basis, die Bildvektoren auch eine Basis, bilden; (intuitiv
Programmieren in Java
Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics
Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017
Familienname: Vorname: Matrikelnummer: Aufgabe 1 (3 Punkte): Aufgabe 2 (1 Punkt): Aufgabe 3 (2 Punkte): Aufgabe 4 (4 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (2 Punkte): Aufgabe 7 (4 Punkte): Aufgabe 8
Wortähnlichkeit: Praktische Implementierung
Wortähnlichkeit: Praktische Implementierung Benjamin Roth Centrum für Informations- und Sprachverarbeitung Ludwig-Maximilian-Universität München beroth@cisuni-muenchende Benjamin Roth (CIS) Wortähnlichkeit:
Computeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) ArrayList 0 1 2 Obj0 Obj1 size() - 1 15.12.2014 CuP - VO 2 Auer 1 ArrayList import java.util.arraylist; ArrayList buchliste; buchliste = new ArrayList();
Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation
Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/
Vorlesung Parallelrechner und Parallelprogrammierung, SoSe 2016
Paralleles Programmieren mit OpenMP und MPI Einführung in MPI Vorlesung Parallelrechner und Parallelprogrammierung, SoSe 2016 Steinbuch Centre for Computing Hartmut Häfner, Steinbuch Centre for Computing
Konzepte der parallelen Programmierung
Fakultät Informatik, Institut für Technische Informatik, Professur Rechnerarchitektur Konzepte der parallelen Programmierung Parallele Programmiermodelle Nöthnitzer Straße 46 Raum 1029 Tel. +49 351-463
Praktische Informatik II FSS 2012 Programmierklausur
Praktische Informatik II FSS 2012 Programmierklausur Prof. Dr. Heiner Stuckenschmidt 20.04.2012 Name, Vorname: Matrikelnummer: CVS-Username: CVS-Password: automatisch generierter Benutzername automatisch
Arrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
Praktikum: Einführung in Parallele Programmierung für Geowissenschaftler. Hermann Lenhart, Tim Jammer & Jannek Squar. Sommersemester 2018
Praktikum: Einführung in Parallele Programmierung für Geowissenschaftler Hermann Lenhart, Tim Jammer & Jannek Squar Sommersemester 2018 Übersicht: 1. Vorstellung Praktikum mit Perspektive Ergänzungsfach
Hydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 08. Januar
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Suchen und Amortisierte Analyse Heute: Suchen / Schreibtischtest Amortisierte Analyse Nächste
8. HPF High Performance FORTRAN
8. HPF High Performance FORTRAN datenparallele Erweiterung von FORTRAN 90 SPMD-Ansatz daten-parallele Array-Operationen verteilte Datenstrukturen Schleifenparallelität FORTRAN 77 -> FORTRAN 90 -> HPF FORTRAN
Algorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe
Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
2.2 Spezifikation abstrakter Datentypen. 2.3 Implementierung und Anwendung von ADT. 2.4 Datenabstraktion und Objektorientierung
Inhaltsverzeichnis (update) 2 Datenabstraktion 2.1 Begriffe 2.2 Spezifikation abstrakter Datentypen 2.2.1 Algebraische Spezifikation 2.2.2 Modellierende Spezifikation 2.3 Implementierung und Anwendung
MPI: Message passing interface
MPI: Message passing interface Es werden mehrere Prozesse gestartet, die das gleiche Programm abarbeiten. Diese Prozesse können auf dem gleichen Knoten oder verschiedenen Knoten eines Clusters von Rechnern
Lineare Regressionen mit R (Ökonometrie SS 2014 an der UdS)
Lineare Regressionen mit R (Ökonometrie SS 2014 an der UdS) Es soll untersucht werden, ob und wie sich Rauchen während der Schwangerschaft auf den Gesundheitszustand des Neugeborenen auswirkt. Hierzu werden
1 Berechnung von Summen (ca = 10 Punkte)
Einführung in die wissenschaftliche Programmierung Klausur 26.02.2013 Seite 1/8 Name, Vorname, Unterschrift: Matrikelnummer: 1 Berechnung von Summen (ca. 5 + 4 + 1 = 10 Punkte) Gegeben sind natürliche
Praktikum Experience Design From Experience Story to Scheme
Praktikum Experience Design From Experience Story to Scheme Daniel Ullrich Stina Schick Folie: 1 Analysis of the elements of a story. Experience Design gernerates a story from the experience produced by
Challenges for the future between extern and intern evaluation
Evaluation of schools in switzerland Challenges for the future between extern and intern evaluation Michael Frais Schulentwicklung in the Kanton Zürich between internal evaluation and external evaluation
Matrizenoperationen mit FORTRAN
Kapitel 2 Matrizenoperationen mit FORTRAN 21 Grundlagen Bei vielen Anwendungen müssen große zusammenhängende Datenmengen gespeichert und verarbeitet werden Deshalb ist es sinnvoll, diese Daten nicht als
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Informatik II Übung, Woche 10
Giuseppe Accaputo 10. März, 2016 Plan für heute 1. Typumwandlung (Typecasts) 2. Ordnerstruktur für Übungen 3. Vorbesprechung Übung 3 4. Nachbesprechung Übung 2 (inkl. Live Programmierung) Informatik II
GPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1
GPGPU Basiskonzepte von Marc Kirchhoff 29.05.2006 GPGPU Basiskonzepte 1 Inhalt Warum GPGPU Streams, Kernels und Prozessoren Datenstrukturen Algorithmen 29.05.2006 GPGPU Basiskonzepte 2 Warum GPGPU? Performance
Hydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 06. Januar