Exkurs: Paralleles Rechnen
|
|
- Georg Buchholz
- vor 6 Jahren
- Abrufe
Transkript
1 Münster Exkurs: Paralleles Rechnen December 2, 2013
2 , Münster Exkurs: Paralleles Rechnen 2 /27 Warum parallel Rechnen?
3 Westf alische Wilhelms-Universit at M unster Exkurs: Paralleles Rechnen 2 /27 JUQUEEN, FZ J ulich, Platz 8 weltweit WWU M unster Warum parallel Rechnen?,,
4 Westf alische Wilhelms-Universit at M unster Exkurs: Paralleles Rechnen 2 /27 Warum parallel Rechnen? JUQUEEN, FZ J ulich, Platz 8 weltweit WWU M unster nur etwas f ur spezial Anwendungen!,,
5 Westf alische Wilhelms-Universit at M unster Exkurs: Paralleles Rechnen 2 /27 Warum parallel Rechnen? JUQUEEN, FZ J ulich, Platz 8 weltweit WWU M unster wirklich?!,,
6 Westf alische Wilhelms-Universit at M unster Exkurs: Paralleles Rechnen 2 /27 Warum parallel Rechnen? WWU M unster Parallelrechner gibt es u berall!,,
7 Münster Exkurs: Paralleles Rechnen 3 /27 Wie hilft paralleles Rechnen? Nebenläufigkeit Abarbeitung mehrerer Prozesse auf einem Prozessor Multi-Tasking Betriebssysteme seit den 60er Jahren Bedienung mehrerer Geräte und Benutzer Ziel: Steigerung der Auslastung Hyperthreading : Nutze Wartezeiten des Prozessors Multi-Core / Multi-Processor Mehrere Dinge gleichzeitig: Web-Browser, Desktop Koordinationsproblematik tritt bereits hier auf Verteilte Anwendungen Datenbasis ist inhärent verteilt: betriebswirtschaftliche Software, Warenfluß in großen Unternehmen Hier wichtig: plattformübergreifende Kommunikation, Client-Server Architekturen Auch wichtig: Sicherheit, VPN, etc. (behandeln wir nicht),
8 Münster Exkurs: Paralleles Rechnen 4 /27 Nicht mehr schneller, sondern mehr! Kathy Yelick: Ten Ways to Waste a Parallel Computer Keynote ISCA The 36th International Symposium on Computer Architecture (mit Daten von Kunle Olukotun, Lance Hammond, Herb Sutter, Burton Smith, Chris Batten und Krste Asanoviç),
9 , Münster Exkurs: Paralleles Rechnen 5 /27 Zahl der Cores pro System wächst sehr schnell
10 Westf alische Wilhelms-Universit at M unster Exkurs: Paralleles Rechnen 6 /27 I I I IBM BlueGene Q z.b. JUQUEEN im FZ J ulich (Platz 8 weltweit) einige unter den TOP 500 WWU M unster Es gibt sehr verschiedene Parallelrechner,,
11 , Münster Exkurs: Paralleles Rechnen 6 /27 Es gibt sehr verschiedene Parallelrechner 4 12 Core AMD-Opteron kann sich auch die Mathematik leisten ;-)
12 , Münster Exkurs: Paralleles Rechnen 6 /27 Es gibt sehr verschiedene Parallelrechner Nvidia Geforce GTX Streamprozessoren 22. März 2012
13 , Münster Exkurs: Paralleles Rechnen 6 /27 Es gibt sehr verschiedene Parallelrechner Mobiltelefone Multi-Core Prozessoren z.b. links: Android-Handy mit 1,5 GHz Dual-Core-CPU ( 300e) rechts: Quad-Core Smartphone
14 Münster Exkurs: Paralleles Rechnen 7 /27 Paralleles Rechnen zur Wettersimulation Erste Idee eines Parallelrechners zur Wettervorhersage stammt von Lewis Fry Richardson Buch: Weather Prediction by Arithmetical Finite Differences (1916) An einzelnen Messpunkten werden Wetterdaten in versch. Höhen erhoben Messpunkte über die Erde verteilt Auflösung ca. 100 km Jeder Messpunkt sollte von einem Computer ausgewertet werden Vorhersage für den Folgetag
15 Münster Exkurs: Paralleles Rechnen 7 /27 Paralleles Rechnen zur Wettersimulation Erste Idee eines Parallelrechners zur Wettervorhersage stammt von Lewis Fry Richardson Buch: Weather Prediction by Arithmetical Finite Differences (1916) An einzelnen Messpunkten werden Wetterdaten in versch. Höhen erhoben Messpunkte über die Erde verteilt Auflösung ca. 100 km Jeder Messpunkt sollte von einem Computer ausgewertet werden Vorhersage für den Folgetag Wurde nie umgesetzt, und hätte so auch nicht funktioniert
16 Münster Exkurs: Paralleles Rechnen 7 /27 Paralleles Rechnen zur Wettersimulation Heute: Deutscher Wetterdienst NEC SX-9 Vectorrechner (seit 2009) ca. 11 TFlops Auflösung von 2,8 km
17 Münster Exkurs: Paralleles Rechnen 7 /27 Paralleles Rechnen zur Wettersimulation Heute: Deutscher Wetterdienst NEC SX-9 Vectorrechner (seit 2009) ca. 11 TFlops Auflösung von 2,8 km Earthsimulator Japanischer Supercomputer Klimasimulationen der gesamten Erde Führte von 2002 bis 2004 die TOP 500 an Upgrade 2009
18
19 Münster Exkurs: Paralleles Rechnen 8 /27 Konzepte für Parallelrechner P P P C C C Gemeinsamer Speicher Verteilter Speicher Verbindungsnetzwerk Speicher M,
20 , Münster Exkurs: Paralleles Rechnen 8 /27 Konzepte für Parallelrechner P C M P C M Gemeinsamer Speicher Verteilter Speicher Verbindungsnetzwerk
21
22 , Münster Exkurs: Paralleles Rechnen 9 /27 MPI: Message Passing Interface Portable Bibliothek zum Nachrichtenaustausch Wurde durch ein intern. Gremium entwickelt 1997 wurde der Standard überarbeitet (MPI2) Open-Source Implementieren gibt beispielweise von: MPICH 1 und OpenMPI 2 Eigenschaften von MPI: Direkte Anbindung an C, C++ und Fortran verschiedene Arten von Punkt-zu-Punkt Kommunikation globale Kommunikation Daten Umwandlung in heterogenen Systemen Virtuelle Netze & Topologien möglich
23 , Münster Exkurs: Paralleles Rechnen 10 /27 Hello World 1 # include <mpi.h> # include <iostream > 3 int main ( int argc, char ** argv ) 5 { int *buf, i, rank, nints, len ; 7 char hostname [256]; 9 MPI_Init (& argc,& argv ); MPI_Comm_rank ( MPI_COMM_WORLD, & rank ); 11 gethostname ( hostname,255); std :: cout << " Hello world! I am process number : " << rank 13 << " on host " << hostname << std :: endl ; MPI_Finalize (); 15 return 0; }
24 , Münster Exkurs: Paralleles Rechnen 11 /27 Kompilieren eines Programms Das Beispiel ist im SPMD-Stil geschrieben; der MPI Standard legt dies nicht fest und man kann auch andere Paradigmen verwenden. Kompilieren eines MPI C-Programmes und starten mit 8 Prozessen: mpicc -o hello hello.c mpirun -machinefile machines -np 8 hello Die Liste der Computer steht in der Datei machines. Für C++ Programme heisst der Compiler mpicxx -o hello hello.cc
25 , Münster Exkurs: Paralleles Rechnen 12 /27 Initialisierung und Beenden Bevor irgend ein MPI Befehl aufgerufen werden darf, muss MPI mit MPI_Init initialisiert werden, damit MPI das parallele Programm starten kann. int MPI_Init ( int *argc, char *** argv ) Nach dem letzten MPI Aufruf wird MPI_Finalize ausgeführt, um alles Prozesse ordentlich zu beenden. int MPI_ Finalize ( void )
26 , Münster Exkurs: Paralleles Rechnen 13 /27 Kommunikator MPI erlaubt es Kommunikation auf einem Subset der gestarten Prozesse durchzuführen, indem virtuelle Netzwerke, sogenannte Kommunikatoren, angelegt werden. MPI Comm beschreibt einen Kommunikator, eine Menge von Prozessen {0,..., P 1}. Des vordefinierte Netzwerk MPI COMM WORLD enthält alle gestarten Prozesse. Virtuelle Topologien: Ein Kommunikator kann zusätzlich eine spezielle Struktur erhalten, z.b. ein mehrdimensionales Feld, oder ein allgemeiner Graph. Kontext: Jeder Kommunikator definiert seinen eigenen Kommunikationskontext.
27 , Münster Exkurs: Paralleles Rechnen 14 /27 Rank und Size Die Anzahl der Prozesse in einem Kommunikator wird mit MPI_Comm_size bestimmt: int MPI_Comm_size ( MPI_Comm comm, int * size ) Innerhalb eines Kommunikators hat jeder Prozess eine eindeutige Nummer, diese wird mit MPI_Comm_rank bestimmt: int MPI_Comm_rank ( MPI_Comm comm, int * rank )
28 , Münster Exkurs: Paralleles Rechnen 15 /27 Beispiel (I) 1 # include <stdio.h> # include < string.h> 3 # include <mpi.h> // provides MPI macros and functions 5 int main ( int argc, char * argv []) { 7 int my_rank ; int P; 9 int dest ; int source ; 11 int tag =50; char hostname [256]; 13 MPI_Status status ; 15 MPI_Init (& argc,& argv ); // begin of every MPI program MPI_Comm_size ( MPI_COMM_WORLD,& P); // number of processes 17 MPI_Comm_rank ( MPI_COMM_WORLD,& my_rank ); // my process number gethostname ( hostname,255);
29 Münster Exkurs: Paralleles Rechnen 16 /27 Beispiel (II) 20 // number of current process always between 0 and P -1 if ( my_rank!=0) { 22 dest = 0; MPI_Send ( hostname, strlen ( hostname )+1, MPI_CHAR, // Send data 24 dest,tag, MPI_COMM_WORLD ); // ( blocking ) } 26 else { for ( source =1; source <P; source ++) 28 { MPI_Recv ( hostname,256, MPI_CHAR, source, tag, // Receive data 30 MPI_COMM_WORLD,& status ); // ( blocking ) std :: cout << " Reveived a message from process " << source 32 << " on machine " << hostname << std :: endl ; } 34 } 36 MPI_Finalize (); // end of every MPI program return 0; 38 },
30 , Münster Exkurs: Paralleles Rechnen 17 /27 Ausgabe des Beispielprogramms (mit P=8) > mpirun -machinefile machines -np 8./mpi-name Reveived a message from process 1 on machine SCHAF03 Reveived a message from process 2 on machine SCHAF05 Reveived a message from process 3 on machine SCHAF07 Reveived a message from process 4 on machine SCHAF11 Reveived a message from process 5 on machine SCHAF13 Reveived a message from process 6 on machine SCHAF14 Reveived a message from process 7 on machine SCHAF15
31 Münster Exkurs: Paralleles Rechnen 18 /27 Blockierende Kommunikation Die Entsprechung zu send und recv bieten int MPI_ Send ( void * message, int count, MPI_ Datatype dt, 2 int dest, int tag, MPI_ Comm comm ); int MPI_ Recv ( void * message, int count, MPI_ Datatype dt, 4 int src, int tag, MPI_ Comm comm, MPI_ Status * status ); Die ersten drei Parameter message, count und dt beschreiben die eigentlichen Daten. message ist ein Zeiger auf ein Feld mit count Elementen des Typs dt. Die Angabe des Datentyps erlaubt die automatische Umwandlung durch MPI. Die Parameter dest, tag und comm beschreiben das Ziel bzw. die Quelle der Nachricht.
32 Münster Exkurs: Paralleles Rechnen 18 /27 Blockierende Kommunikation Die Entsprechung zu send und recv bieten 1 int MPI_ Send ( void * message, int count, MPI_ Datatype dt, int dest, int tag, MPI_ Comm comm ); 3 int MPI_ Recv ( void * message, int count, MPI_ Datatype dt, int src, int tag, MPI_ Comm comm, 5 MPI_ Status * status ); Die ersten drei Parameter message, count und dt beschreiben die eigentlichen Daten. message ist ein Zeiger auf ein Feld mit count Elementen des Typs dt. Die Angabe des Datentyps erlaubt die automatische Umwandlung durch MPI. Die Parameter dest, tag und comm beschreiben das Ziel bzw. die Quelle der Nachricht. MPI bietet verschiedene Varianten von MPI Send (MPI BSend, MPI SSend, MPI RSend), die wir aber jetzt nicht weiter diskutieren wollen.
33 Münster Exkurs: Paralleles Rechnen 18 /27 Blockierende Kommunikation Die Entsprechung zu send und recv bieten 1 int MPI_ Send ( void * message, int count, MPI_ Datatype dt, int dest, int tag, MPI_ Comm comm ); 3 int MPI_ Recv ( void * message, int count, MPI_ Datatype dt, int src, int tag, MPI_ Comm comm, 5 MPI_ Status * status ); Die ersten drei Parameter message, count und dt beschreiben die eigentlichen Daten. message ist ein Zeiger auf ein Feld mit count Elementen des Typs dt. Die Angabe des Datentyps erlaubt die automatische Umwandlung durch MPI. Die Parameter dest, tag und comm beschreiben das Ziel bzw. die Quelle der Nachricht. MPI bietet verschiedene Varianten von MPI Send (MPI BSend, MPI SSend, MPI RSend), die wir aber jetzt nicht weiter diskutieren wollen. MPI ANY SOURCE und MPI ANY TAG können verwendet werden, um belibige Nachrichten zu empfangen. Damit enthält MPI Recv die Funktionalität von recv any.,
34 , Münster Exkurs: Paralleles Rechnen 19 /27 Datenumwandlung MPI erlaubt die Verwendung in heterogenen Netzen. Hierbei ist es nötig manche Daten an die Darstellung auf der fremden Architektur anzupassen. MPI definiert die architektur-unabhängigen Datentypen: MPI CHAR, MPI UNSIGNED CHAR, MPI BYTE MPI SHORT, MPI INT, MPI LONG, MPI LONG LONG INT, MPI UNSIGNED, MPI UNSIGNED SHORT, MPI UNSIGNED LONG, MPI FLOAT, MPI DOUBLE and MPI LONG DOUBLE. Der MPI Datentyp MPI BYTE wird nie konvertiert.
35 , Status Münster Exkurs: Paralleles Rechnen 20 /27 1 typedef struct { int count ; 3 int MPI_ SOURCE ; int MPI_TAG ; 5 int MPI_ ERROR ; } MPI_ Status ; MPI_Status ist ein zusammengesetzter Datentyp, der Informationen über die Anzahl der empfangenen Objekte, den Quellprozess, das Tag und den Fehlerstatus enhält.
36 , Münster Exkurs: Paralleles Rechnen 21 /27 Guard Funktion Die Guard Funktion rprobe liefert int MPI_ Iprobe ( int source, int tag, MPI_ Comm comm, 2 int * flag, MPI_ Status * status ); Es ist eine nicht-blockierende Funktion, die überprüft, ob eine Nachricht vorliegt. flag erhält den Wert true ( 0) wenn eine Nachricht mit passendem source und tag empfangen werden kann. Auch hier können MPI ANY SOURCE und MPI ANY TAG verwendet werden.
37 , Münster Exkurs: Paralleles Rechnen 22 /27 Non-blocking Communication Die Funktionen asend und arecv bietet MPI als int MPI_ ISend ( void * buf, int count, MPI_ Datatype dt, 2 int dest, int tag, MPI_ Comm comm, MPI_ Request * req ); 4 int MPI_ IRecv ( void * buf, int count, MPI_ Datatype dt, int src, int tag, MPI_ Comm comm, 6 MPI_ Request * req ); MPI Request speichert den Status einer Kommunikation, wie unsere msgid.
38 , Münster Exkurs: Paralleles Rechnen 23 /27 MPI Request-Objekte Der Status einer Nachricht kann mit Hilfe der MPI Request-Objekte und folgender Funktion geprüft werden: int MPI_Test ( MPI_Request *req, int *flag, 2 MPI_ Status * status ); flag wird auf true ( 0) gesetzt, wenn die Kommunikation, die req beschreibt abgeschlossen ist. In diesem Fall enthält status weitere Informationen.
39 , Münster Exkurs: Paralleles Rechnen 24 /27 Globale Kommunikation MPI bietet ebenfalls Funktionen zur globalen Kommunikation, welche alle Prozesse eines Kommunikators einschließen. int MPI_ Barrier ( MPI_ Comm comm ); implementiert eine Barriere; alle Prozesse werden blockiert, bis der letzte Prozess die Funktion ausgeführt hat. 1 int MPI_ Bcast ( void * buf, int count, MPI_ Datatype dt, int root, MPI_ Comm comm ); verteilt eine Nachricht an alle Prozesse eine Kommunikators (Einer-an-Alle Kommunikation).
40 , Münster Exkurs: Paralleles Rechnen 25 /27 Einsammeln von Daten MPI hat eine Reihe verschiedener Funktionen um Daten von verschiedenen Prozessen einzusammeln. Z.B: int MPI_ Reduce ( void * sbuf, void * rbuf, int count, 2 MPI_ Datatype dt, MPI_Op op, int root, MPI_ Comm comm ); kombiniert die Daten im Sende-Puffer sbuf aller Prozesse durch die assoziative Operation op (z.b. MPI SUM, MPI MAX oder MPI MIN). Das Ergebnis erhält der Prozesse root in seinen Empfang-Puffer rbuf.
41 , Münster Exkurs: Paralleles Rechnen 26 /27 Zeitmessung MPI bietet direkt Funktionen zur Zeitmessung: 1 double MPI_ Wtime (); Der Rückgabewert sind Sekunden seit einem,,beliebigen Zeitpunkt in der Vergangenheit. Die Zeit für eine spezielle Operation läßt sich also mit 1 double start = MPI_ Wtime (); expensive_ funktion (); 3 std :: cout << " elapsed time = " << MPI_ Wtime () - start << std :: endl ; bestimmen.
42 , Münster Exkurs: Paralleles Rechnen 27 /27 Weitere Informationen MPI: Dokumentation der verschiedenen Message-Passing Interface Standards MPICH-A Portable Implementation of MPI Open MPI: Open Source High Performance Computing Liste von MPI Tutorials
Exkurs: Paralleles Rechnen
Münster Exkurs: Paralleles Rechnen Münster Exkurs: Paralleles Rechnen 2 /21 Konzepte für Parallelrechner P P P C C C Gemeinsamer Speicher Verteilter Speicher Verbindungsnetzwerk Speicher M, Münster Exkurs:
MehrParalleles Rechnen: MPI
Münster Paralleles Rechnen: MPI 11.12.2015 Top 500 Münster Paralleles Rechnen: MPI 2 /23 32 Großrechner in Deutschland unter den Top 500 davon 5 Systeme unter den Top 50 8 Hazel Hen (HLRS Stuttgart) 11
MehrDas 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
MehrKurzü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
MehrMPI 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
MehrMessage Passing Interface: MPI
Message Passing Interface: MPI Geschichte: Erster MPI Standard Etwa 60 Personen, von 40 Institutionen (29-30 April 1992) MPI 1 im November 1993 MPI 1.1 im Juni 1995 MPI 1.2 Juli 1997 (Nur Ergänzung zu
MehrModelle 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
Mehr4.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
MehrParallel 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
MehrDistributed-Memory Programmiermodelle II
Distributed-emory Programmiermodelle II Stefan Lang Interdisziplinäres Zentrum für Wissenschaftliches Rechnen Universität Heidelberg INF 368, Raum 532 D-69120 Heidelberg phone: 06221/54-8264 email: Stefan.Lang@iwr.uni-heidelberg.de
MehrPraktikum: 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
MehrPraktikum: 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
MehrGrundlagen 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
MehrPraktikum: 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
MehrParallel Processing in a Nutshell OpenMP & MPI kurz vorgestellt
Parallel Processing in a Nutshell & kurz vorgestellt 16. Juni 2009 1 / 29 1 Das Problem 2 2 / 29 1 Das Problem 2 3 2 / 29 1 Das Problem 2 3 4 2 / 29 1 Das Problem 2 3 4 2 / 29 Multi-Core Prozessoren halten
MehrPraktikum: 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
MehrTrend der letzten Jahre in der Parallelrechentechnik
4.1 Einführung Trend der letzten 10-15 Jahre in der Parallelrechentechnik weg von den spezialisierten Superrechner-Plattformen hin zu kostengünstigeren Allzwecksystemen, die aus lose gekoppelten einzelnen
MehrMPI: 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
MehrComputergrundlagen Moderne Rechnerarchitekturen
Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere
MehrComputergrundlagen Moderne Rechnerarchitekturen
Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG
MehrPraktikum: 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
MehrEinfü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
MehrWissenschaftliches Rechen
Wissenschaftliches Rechen Paralleles Höchstleistungsrechnen Christian Engwer Uni Münster April 5, 2011 Christian Engwer (Uni Münster) Wissenschaftliches Rechen April 5, 2011 1 / 20 Organisatorisches Vorlesung
MehrParallelverarbeitung
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
MehrMessage-Passing: Einführung
Message-Passing: Einführung Architecture of Parallel Computer Systems WS15/16 JSimon 1 Punkt zu Punkt Senden und Empfangen Message-Passing Mechanismus Erzeugung von Prozessen Übertragung einer Nachricht
MehrProjektseminar Parallele Programmierung
HTW Dresden WS 2017/2018 Organisatorisches Praktikum, 4 SWS Do. 15:10-18:30 Uhr, Z136c, 2 Doppelstunden Labor Z 136c ist Donnerstag 15:10-18:30 reserviert, gemeinsam mit anderen Projektseminaren Selbständige
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrEinführung in das parallele Programmieren mit MPI
Einführung in das parallele Programmieren mit Seite 1 Skript Skript Seite Seite 3 -Versionen -Versionen: Befehle: Version 1.0 (1994): Unterstützung von Fortran77 und C. Version 1.1 (1995): Berichtigungen
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrVorlesung 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
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
MehrEin kleiner Blick auf die generische Programmierung
TgZero Technik.Blosbasis.net June 3, 2013 1 Inhaltsverzeichnis 1 Vorwort 3 2 Ein kleines Beispiel 3 3 Templates 3 4 Verschiedene Datentypen 4 5 Variadic Templates 5 6 Unterschied zwischen den Programmiersprachen
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Inhalt Compiler/Editor Klassendeklaration
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrBeispiel für einen IPC-Server, der seinen Dienst über den Global Name Service im Netzwerk bekannt gibt. Header-Dateien einbinden
Dokument: gns_ipc_server.c, 1 - Seite 1 - - 1: 1 von 1 - Beispiel für einen IPC-Server, der seinen Dienst über den Global Name Service im Netzwerk bekannt gibt. Header-Dateien einbinden int main(int argc,
MehrVorlesung 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
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
MehrMPI-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
MehrZum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE
Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE 754 Standard festgelegt. Es stehen sogenannte einfach
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
MehrEinführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin
Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm
MehrC-Kurs 2010 Pointer. 16. September v2.7.3
C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next
MehrGrundlagen der Informatik 6. Arrays I
6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt
MehrMulti- und Many-Core
Multi- und Many-Core Benjamin Warnke Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2016-12-15 Benjamin
MehrProjektseminar Parallele Programmierung
HTW Dresden WS 2016/2017 Organisatorisches Praktikum, 4 SWS Do. 15:10-18:30 Uhr, Z136c, 2 Doppelstunden Labor Z 136c ist Montag und Donnerstag 15:10-18:30 reserviert, gemeinsam mit anderen Projektseminaren
MehrVorlesung 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
MehrEinige Grundlagen zu OpenMP
Einige Grundlagen zu OpenMP Stephanie Friedhoff, Martin Lanser Mathematisches Institut Universität zu Köln 22. Juni 2016 Überblick Was ist OpenMP? Basics Das OpenMP fork-join-modell Kompilieren und Ausführen
MehrPraktikum 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
MehrDAP2 Praktikum Blatt 1
Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 1 Ausgabe: 21. April Abgabe: 22. 24. April Kurzaufgabe 1.1
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
MehrMPI 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
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
MehrProgrammieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff
Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen
MehrPraktikum: 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
MehrC-Kurs 2011: Arrays, Strings, Pointer
C-Kurs 2011: Arrays, Strings, Pointer Sebastian@Pipping.org 15. September 2011 v3.0.33 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. Ohne Pointer geht nichts. 2 Pointer
MehrBeschreiben 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
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case
MehrParallele 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
MehrMessage 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
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
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
MehrZusammenfassung für CS-Prüfung 3 Seite 1. CS-Zusammenfassung für Prüfung 3 vom Im Beispiel gibt es 3 Deadlocks
Zusammenfassung für CS-Prüfung 3 Seite 1 CS-Zusammenfassung für Prüfung 3 vom 24. 6. 2002 Deadlock Im Beispiel gibt es 3 Deadlocks Unterschied zwischen Blockieren, Verklemmen und Verhungenrn= -> Band 1
MehrParallele und Verteilte Algorithmen, Sommer 2007 Software zu den Übungen
PHILIPPS-UNIVERSITÄT MARBURG Fachbereich Mathematik und Informatik Prof. Dr. R. Loogen J.Berthold D-35032 Marburg Hans Meerwein Straße Lahnberge 23.April 2007 Übungen zu Parallele und Verteilte Algorithmen,
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
MehrEinführung in die Parallelprogrammierung MPI Teil 1: Einführung in MPI
Einführung in die Parallelprogrammierung MPI Teil 1: Einführung in MPI Annika Hagemeier Jülich Supercomputing Centre (JSC) Forschungszentrum Jülich Inhalt Was ist MPI? MPI Historie Programmiermodell Kommunikationsmodell
Mehr! "eine Zeichenkette\nmit Doppelapostroph \" und Backslash \\"
1.2. Datentypen Zeichenketten: Zeichenkettenliterale wie»üblich«"eine Zeichenkette\nmit Doppelapostroph \" und Backslash \\" werden als 0-terminierte char-felder realisiert char* hello = "Hello, World";
MehrEinführung in PVM. Das PVM System
Einführung in PVM Übungen zur Vorlesung Parallele und verteilte Algorithmen Philipps-Universität Marburg Sommersemester 2002 Das PVM System PVM steht für Parallele Virtuelle Maschine Netzwerk von Unix-Workstations
Mehr7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
MehrWissenschaftliches Rechnen
Institut für Numerische und Angewandte Mathematik 11.04.2012 FB Mathematik und Informatik der Universität Münster Prof. Dr. Christian Engwer, Dipl. Math. Dipl. Inf. Sebastian Westerheide Übung zur Vorlesung
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A 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 ( / 12 Pkt.) Was liefert
MehrC++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11
C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 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 ( / 10 Pkt.) a) Wer
MehrKlausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F 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 ( / 15 Pkt.) Was liefert
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrKonzepte 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
MehrSimulation 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
MehrC++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16
C++ Teil 4 Sven Groß IGPM, RWTH Aachen 30. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 4 30. Apr 2015 1 / 16 Themen der letzten Vorlesung Funktionen: Definition und Aufruf Wert- und Referenzparameter,
MehrProgrammierkurs. Steffen Müthing. November 16, Interdisciplinary Center for Scientific Computing, Heidelberg University
Programmierkurs Steffen Müthing Interdisciplinary Center for Scientific Computing, Heidelberg University November 16, 2018 Standardbibliothek Datenstrukturen Algorithmen Variablen und Referenzen Aufrufkonventionen
MehrParallele 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
MehrGrundlagen der Informatik 2. Typen
Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace
MehrVorlesungsprüfung Programmiersprache 1
Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,
MehrPThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes
PThreads Prozesse und Threads Ein Unix-Prozess hat IDs (process,user,group) Umgebungsvariablen Verzeichnis Programmcode Register, Stack, Heap Dateideskriptoren, Signale message queues, pipes, shared memory
MehrKlausur 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
MehrLinux Cluster in Theorie und Praxis
Foliensatz Center for Information Services and High Performance Computing (ZIH) Linux Cluster in Theorie und Praxis Parallelisierung und Cell Programmierung 03. Dezember 2009 Verfügbarkeit der Folien Vorlesungswebseite:
MehrMulticomputer ohne gemeinsamen Speicher 170
Multicomputer ohne gemeinsamen Speicher 170 CPU RAM CPU RAM Netzwerk CPU RAM CPU RAM CPU RAM Multicomputer bestehen aus einzelnen Rechnern mit eigenem Speicher, die über ein Netzwerk miteinander verbunden
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
Mehr16. Structs und Klassen I. Rationale Zahlen, Struct-Definition, Operator-Überladung, Datenkapselung, Klassen-Typen
491 16. Structs und Klassen I Rationale Zahlen, Struct-Definition, Operator-Überladung, Datenkapselung, Klassen-Typen Rechnen mit rationalen Zahlen 492 Rationale Zahlen (Q) sind von der Form n d mit n
MehrProgrammieren mit MPI
Programmieren mit MPI MPI steht für: Message Passing Interface Standard. Spezifiziert die Schnittstelle einer Bibliothek für Nachrichtentausch. Standardisierung durch ein Gremium, in dem: Hersteller v.
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 8, 22.4.2009 simonmayer@student.ethz.ch ETH Zürich Aufgabe 1: Pointer & Structs Schauen wir s uns an! Aufgabe 2: Grossteils gut gemacht! Dynamische Arrays! Sortieren:
MehrEntwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben!
Projekt: Artikelverwaltung Seite 1 von 5 Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben! Legen Sie global einen benutzerdefinierten Datentyp artikel an:
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
Mehr2 MPI MESSAGE-PASSING INTERFACE
2-1 2 MPI MESSAGE-PASSING INTERFACE 2.1 IMPLEMENTIERUNGEN VON MPI Mittlerweile gibt es eine Vielzahl an Implementierungen des Message-Passing Interfaces. Sowohl freie (GNU GPL) also auch kommerziell nutzbare
MehrProzesse und Threads. wissen leben WWU Münster
Münster Multi Threading in C++ 1 /19 Prozesse und Threads Ein Unix-Prozess hat IDs (process,user,group) Umgebungsvariablen Verzeichnis Programmcode Register, Stack, Heap Dateideskriptoren, Signale message
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 8 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
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main Vorbemerkungen
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 8 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
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
Mehr