Beispiel: Schleifenparallelisierung
|
|
|
- Andrea Simen
- vor 7 Jahren
- Abrufe
Transkript
1 Beispiel: Schleifenparallelisierung for (i = 0; i<m; i++) { low = a[i]; high = b[i]; if (low > high) { printf ( Exiting during iteration %d\n,i); break; for (j=low;j<high;j++) c[j] = (c[j] a[i]) / b[i]; Wegen break ist die äußere Schleife nicht parallelisierbar. Die innere Schleife wäre parallelisierbar, aber fork/join pro Iteration von äußerer Schleife soll vermieden werden. 261
2 Beispiel: LösungsansatzL #pragma omp parallel private (i,j) for (i = 0; i<m; i++) { low = a[i]; high = b[i]; if (low > high) { printf ( Exiting during iteration %d\n,i); break; #pragma omp for for (j=low;j<high;j++) c[j] = (c[j] a[i]) / b[i]; Aber die Fehlermeldung wird von jedem Thread ausgegeben. 262
3 Pragma single Das Pragma #pragma omp single weist den Compiler an, dass der nachfolgende Codeblock nur von einem Thread ausgeführt werden soll. #pragma omp parallel private (i,j) for (i = 0; i<m; i++) { low = a[i]; high = b[i]; if (low > high) { #pragma omp single printf ( Exiting during iteration %d\n,i); break; #pragma omp for for (j=low;j<high;j++) c[j] = (c[j] a[i]) / b[i]; 263
4 Klausel nowait Die Klausel nowait lässt den Compiler die implizite Barrierensynchronisation am Ende einer Schleife aufheben. #pragma omp parallel private (i,j, low, high) for (i = 0; i<m; i++) { low = a[i]; high = b[i]; if (low > high) { #pragma omp single printf ( Exiting during iteration %d\n,i); break; #pragma omp for nowait for (j=low;j<high;j++) c[j] = (c[j] a[i]) / b[i]; 264
5 Arbeit aufteilende Direktiven Parallelisierung von Schleifen Die for Direktive dient der Aufteilung von Schleifendurchläufen auf mehrere Threads: #pragma omp for [clause list] /* for loop */ Mögliche Klauseln sind dabei: private, firstprivate, lastprivate, reduction, schedule, nowait. Parallele statische Abschnitte Eine Menge voneinander unabhängiger Codeblöcke (sections) wird auf die Threads eines Teams aufgeteilt und von diesen nichtiterativ parallel ausgeführt. 265
6 Die sections Direktive OpenMP unterstützt nicht-iterative Parallelisierungen mittels der sections Direktive. allgemeine Form: #pragma omp sections [clause list] { [#pragma omp section /* structured block */ ] [#pragma omp section /* structured block */ ]
7 Beispiel #pragma omp parallel { #pragma omp sections { #pragma omp section { taska(); #pragma omp section { taskb(); #pragma omp section { taskc(); #pragma omp parallel sections 267
8 Synchronisationskonstrukte in OpenMP #pragma omp barrier #pragma omp single [clause list] structured block #pragma omp master structured block explizite Barriere Ausführung durch einzelnen Thread Ausführung durch Master Thread (keine implizite Barriere) #pragma omp critical [(name)] kritischer Abschnitt mit structured block globalem Namen -> wechselseitiger Ausschluss in allen kritischen Abschnitten gleichen Namens #pragma omp atomic atomare Zuweisung assignment 268
9 OpenMP Bibliotheksfunktionen /* Thread- und Prozessorzaehler */ void omp_set_num_threads (int num_threads); int omp_get_num_threads (); int omp_get_max_threads (); int omp_get_thread_num (); int omp_get_num_procs (); int omp_in_parallel(); 269
10 OpenMP Bibliotheksfunktionen /* Dynamische Threadanzahl / Geschachtelte Par. */ void omp_set_dynamic (int dynamic_threads); int omp_get_dynamic (); void omp_set_nested (int nested); int omp_get_nested (); /* mutual exclusion */ void omp_init_lock (omp_lock_t *lock); void omp_destroy_lock (omp_lock_t *lock); void omp_set_lock (omp_lock_t *lock); void omp_unset_lock (omp_lock_t *lock); int omp_test_lock (omp_lock_t *lock); Alle lock Routinen haben ein Gegenstück (_nest_lock) für rekursive Mutexe. 270
11 Umgebungsvariablen in OpenMP OMP_NUM_THREADS Festlegung der Standardanzahl zu erzeugender Threads OMP_SET_DYNAMIC Festlegung, ob die Threadanzahl dynamisch geändert werden kann OMP_NESTED Ermöglichung geschachtelter Parallelität OMP_SCHEDULE Scheduling von for-schleifen falls die Klausel runtime festlegt 271
12 Explizite Threads (PThreads( PThreads) vs Direktiven (OpenMP) Direktiven vereinfachen viele Aufgaben, wie zum Beispiel: Initialisierung von Attributobjekten für Threads Argumentzuweisung an Threads Parallelisierung von Schleifen etc. Es gibt aber auch Nachteile: versteckter Mehraufwand durch impliziten Datenaustausch Explizite Threads bieten ein umfangreicheres API, zum Beispiel condition waits verschiedene Sperrmechanismen (locks) Explizite Threads bieten mehr Flexibilität zur Definition eigener Synchronisationsoperationen. 272
13 Beispielprogramm: Berechnung von pi /* *************************************************** An OpenMP version of a threaded program to compute PI. ***************************************************** */ sum=0; sample_points_per_thread = sample_points / num_threads; #pragma omp parallel \ private(rand_no_x, rand_no_y, seed, i) \ shared(sample_points, sample_points_per_thread) \ reduction(+: sum) num_threads(num_threads) { seed = omp_get_thread_num(); for (i = 0; i < sample_points_per_thread; i++) { rand_no_x =(double)(rand_r(&seed))/(double)((2<<30)-1); rand_no_y =(double)(rand_r(&seed))/(double)((2<<30)-1); if (( (rand_no_x - 0.5) * (rand_no_x - 0.5) + (rand_no_y - 0.5) * (rand_no_y - 0.5)) < 0.25) sum ++; 273
14 Beispiel: Berechnung von pi mit Schleifenparallelisierung sum = 0; #pragma omp parallel private(rand_no_x, rand_no_y, seed) \ shared(sample_points) reduction(+:sum) \ num_threads(num_threads) { num_threads = omp_get_num_threads(); seed = omp_get_thread_num(); #pragma omp for for (i = 0; i < sample_points; i++) { rand_no_x =(double)(rand_r(&seed))/(double)((2<<30)-1); rand_no_y =(double)(rand_r(&seed))/(double)((2<<30)-1); if (( (rand_no_x - 0.5) * (rand_no_x - 0.5) + (rand_no_y - 0.5) * (rand_no_y - 0.5)) < 0.25) sum ++; 274
6. Der OpenMP Standard. Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++
6. Der OpenMP Standard Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++ OpenMP Programmiermodell OpenMP Direktiven basieren in C and C++
Threads und OpenMP. Frank Mietke <[email protected]> Cluster- & Gridcomputing Frank Mietke 7/4/04
Threads und OpenMP Frank Mietke 1 Ziel der Vorlesungen Einführung in Threads Programmierung mit Threads Einführung in OpenMP Programmierung mit OpenMP 2 Was ist
Master-Thread führt Programm aus, bis durch die Direktive
OpenMP seit 1998 Standard (www.openmp.org) für die Shared-Memory Programmierung; (Prä-)Compiler für viele Systeme kommerziell oder frei (z.b. Omni von phase.hpcc.jp/omni) verfügbar Idee: automatische Generierung
1. Einführung in OpenMP
1. Einführung in OpenMP Übersicht Einführung Homogene und inhomogene Arbeitsverteilung Rekursive Parallelität Beispiele Parallele Programmierung 1 Nicolas Maillard, Marcus Ritt 1 Überblick OpenMP: Vereinfachte
OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009
- Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 Grundlagen der Parallelen Programmierung Hardware Threads vs. Prozesse Kritische Abschnitte Lange
OpenMP. Viktor Styrbul
OpenMP Viktor Styrbul Inhaltsverzeichnis Was ist OpenMP Warum Parallelisierung Geschichte Merkmale von OpenMP OpenMP-fähige Compiler OpenMP Ausführungsmodell Kernelemente von OpenMP Zusammenfassung Was
Lehrstuhl für Datenverarbeitung. Technische Universität München. Leistungskurs C++ Multithreading
Leistungskurs C++ Multithreading Threading mit Qt Plattformübergreifende Thread-Klasse Sehr einfach zu benutzen Leider etwas schlecht dokumentiert Leistungskurs C++ 2 QThread Plattformübergreifende Thread-Klasse
Programmieren mit OpenMP
Programmieren mit OpenMP Dr. Victor Pankratius David J. Meder IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Inhalt Was
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
Praktikum: Paralleles Programmieren für Geowissenschaftler
Praktikum: Paralleles Programmieren für Geowissenschaftler Prof. Thomas Ludwig, Hermann Lenhart, Ulrich Körner, Nathanael Hübbe [email protected] OpenMP Einführung I: Allgemeine Einführung Prozesse
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
4. Parallelprogrammierung
4. Parallelprogrammierung AlDaBi Prak4kum David Weese 2010/11 Enrico Siragusa WS 2011/12 Inhalt Einführung in Parallelität OpenMP Bemerkungen zur P- Aufgabe EINFÜHRUNG IN PARALLELITÄT Folien z.t. aus VL
4. Parallelprogrammierung. AlDaBi Praktikum
4. Parallelprogrammierung AlDaBi Praktikum Inhalt Einführung in Parallelität OpenMP Bemerkungen zur P-Aufgabe Einführung in Parallelität Folien z.t. aus VL Programmierung von Hardwarebeschleunigern von
Vorlesung Parallelrechner und Parallelprogrammierung, SoSe 2016
Paralleles Programmieren mit und MPI Vorlesung Parallelrechner und Parallelprogrammierung, SoSe 2016 Steinbuch Centre for Computing Hartmut Häfner, Steinbuch Centre for Computing (SCC) STEINBUCH CENTRE
Parallele Programmierung. Parallele Programmierung Memory-Rechner mit OpenMP
Parallele Programmierung für Shared-Memory Memory-Rechner mit OpenMP Dieter an Mey Rechen- und Kommunikationszentrum der RWTH Aachen 21. Januar 2002 anmey@rz rz.rwth-aachen.de http://www www.rz.rwth-aachen.de
4. Parallelprogrammierung
4. Parallelprogrammierung AlDaBi Prak4kum David Weese 2010/11 René Rahn WS 2014/15 Inhalt Einführung in Parallelität OpenMP Bemerkungen zur P- Aufgabe Einführung in Parallelität Folien z.t. aus VL Programmierung
Parallele Programmierung mit OpenMP
Parallele Programmierung mit OpenMP Wolfgang Dautermann FH Joanneum Chemnitzer Linuxtage 2008 1 Motivation 2 OpenMP Übersicht 3 Hello World - der erste Code 4 OpenMP-Compilerdirektiven Threaderzeugung
Parallele Programmierung in C++ mit OpenMP
Parallele Programmierung in C++ mit OpenMP Lukas Wendt Hochschule für Angewandte Wissenschaften Hamburg [email protected] 31. Januar 2017 Zusammenfassung In den letzten Jahren haben sich Mehrkernsystem
Parallelisierung der Vektoraddition 149
OpenMP 148 OpenMP ist ein seit 1997 bestehender Standard mit Pragma-basierten Spracherweiterungen zu Fortran, C und C++, die eine Parallelisierung auf MP-Systemen unterstützt. Pragmas sind Hinweise an
Parallele Programmierung mit OpenMP
Parallele Programmierung mit OpenMP Wolfgang Dautermann FH Joanneum Chemnitzer Linuxtage 2009 1 Motivation 2 OpenMP Übersicht 3 Hello World - der erste Code 4 OpenMP-Compilerdirektiven Threaderzeugung
4. Parallelprogrammierung AlDaBi Prak4kum
4. Parallelprogrammierung AlDaBi Prak4kum David Weese WS 2010/11 Inhalt Einführung in Parallelität OpenMP Bemerkungen zur P- Aufgabe EINFÜHRUNG IN PARALLELITÄT Folien z.t. aus VL Programmierung von Hardwarebeschleunigern
Parallelverarbeitung
Parallelverarbeitung WS 2015/16 Universität Siegen [email protected] Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 4. Januar 2016 Betriebssysteme / verteilte Systeme Parallelverarbeitung
Automatische Parallelisierung
MPI und OpenMP in HPC Anwendungen findet man immer häufiger auch den gemeinsamen Einsatz von MPI und OpenMP: OpenMP wird zur thread-parallelen Implementierung des Codes auf einem einzelnen Rechenknoten
Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester
Seminar: Multicore Programmierung Sommersemester 2009 16.07.2009 Inhaltsverzeichnis 1 Speichermodell 2 3 Implementierungsvielfalt Prioritätsinversion 4 Threads Speichermodell Was sind Threads innerhalb
http://www.uniregensburg.de/edv/kurs_info/brf09510/hpc/openmp/openmp.dvi
Open Multi Processing Dipl. Math. F. Braun Universität Regensburg Rechenzentrum http://www.uniregensburg.de/edv/kurs_info/brf09510/hpc/openmp/openmp.html http://www.uniregensburg.de/edv/kurs_info/brf09510/hpc/openmp/openmp.pdf
Einige 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
Shared-Memory Programmiermodelle
Shared-Memory Programmiermodelle mehrere, unabhängige Programmsegmente greifen direkt auf gemeinsame Variablen ( shared variables ) zu Prozeßmodell gemäß fork/join Prinzip, z.b. in Unix: fork: Erzeugung
5. Parallelprogrammierung II und q-gram Indizes. AlDaBi Praktikum
5. Parallelprogrammierung II und q-gram Indizes AlDaBi Praktikum Inhalt Parallelprogrammierung II q-gram Indizes Bemerkungen zur P-Aufgabe PARALLELPROGRAMMIERUNG II OpenMP - Eine Einführung in die parallele
OpenMP am Beispiel der Matrizenmultiplikation
OpenMP am Beispiel der Matrizenmultiplikation David J. Meder, Dr. Victor Pankratius IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe
I Grundlagen der parallelen Programmierung 1
vii I Grundlagen der parallelen Programmierung 1 1 Einführung...... 3 1.1 Paradigmenwechsel in der Softwareentwicklung..... 4 1.2 Anwendungsbereiche...... 5 1.3 Parallelität in der Hardware..... 5 1.3.1
Multicore Parallelismus! in modernen CPUs
Multicore Parallelismus! in modernen CPUs Johannes Hofmann, 21.5.2014 Seminar Architekturen von Multi- und Vielkern-Prozessoren Universität Erlangen-Nürnberg Lehrstuhl für Rechnerarchitektur Informatik
Paralleles Programmieren mit OpenMP und MPI OpenMP-Übungsaufgaben Steinbuch Centre for Computing
Paralleles Programmieren mit OpenMP und MPI OpenMP-Übungsaufgaben Steinbuch Centre for Computing und Universität Karlsruhe (TH) www.scc.kit.edu Parallele Berechnung von PI program compute_pi integer integer,
Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen
Inhalt 3 Bemerkung... 9 Vorwort... 10 1 Programme und Programmiersprachen 1.1 Assembler... 13 1.2 Höhere Programmiersprachen... 15 1.2.1 Interpreter... 16 1.2.2 Compiler... 17 1.2.3 Zwischencode... 18
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 /
PThreads. 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
Parallel 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
4.4 Imperative Algorithmen Verzweigung und Iteration
Eine weitere bedingte Schleife kann in Java mit dem Schlüsselwort for definiert werden: for (; i ; ) Alle drei Bestandteile im Schleifenkopf sind Ausdrücke
Projektseminar 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
Lehrstuhl für Datenverarbeitung. Technische Universität München. Leistungskurs C++ Multithreading
Leistungskurs C++ Multithreading Threading mit Qt Plattformübergreifende Thread-Klasse Sehr einfach zu benutzen Leider etwas schlecht dokumentiert Leistungskurs C++ 2 QThread Plattformübergreifende Thread-Klasse
Anleitung für zwei Fortran-Openmp-Beispiele auf der NWZSuperdome
Anleitung für zwei Fortran-Openmp-Beispiele auf der NWZSuperdome (Timo Heinrich, [email protected]) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.f90 1.2
Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome
Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome (Timo Heinrich, [email protected]) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.cpp 1.2
Tutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 11. Juli 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 11. Juli 2017 Moritz Klammler - Tutorium Softwaretechnik
2. Aufgabenblatt Threads
Fakultät Informatik Institut für Systemarchitektur, Professur für Betriebssysteme Betriebssysteme und Sicherheit, WS 2016/17 2. Aufgabenblatt Threads Geplante Bearbeitungszeit: drei Wochen TEIL A THREADS
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
Evaluation. Einleitung. Implementierung Integration. Zusammenfassung Ausblick
Christopher Schleiden Bachelor Kolloquium 15.09.2009 Einleitung Evaluation Implementierung Integration Zusammenfassung Ausblick Einleitung laperf Lineare Algebra Bibliothek für C++ Möglichkeit zur Integration
Parallele Systeme. 1 Einführung 2 1.1 Durchführung der erweiterten Übung... 3 1.2 OpenMP... 3
Lehrstuhl für Informatik 12 Cauerstraße 11 91058 Erlangen TECHNISCHE FAKULTÄT 1. Erweiterte Übung zur Vorlesung Parallele Systeme Inhaltsverzeichnis 1 Einführung 2 1.1 Durchführung der erweiterten Übung..........................
Parallele Programmiermodelle
Parallele Programmiermodelle ProSeminar: Parallele Programmierung Semester: WS 2012/2013 Dozentin: Margarita Esponda Einleitung - Kurzer Rückblick Flynn'sche Klassifikationsschemata Unterteilung nach Speicherorganissation
Wiederholungen / Schleifen
Wiederholungen / Schleifen Repetitive Ausführung von Instruktionen InE1 M. Thaler, [email protected] Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Beispiel Quadratzahlen von 1000 bis 1009 berechnen
4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan)
4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 4. Ablaufsteuerung 4-1 4.1 Anweisungen Ein Programm besteht
Raytracing in GA mittels OpenACC. Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt
Raytracing in GA mittels OpenACC Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt [email protected] 05.11.12 FB Computer Science Scientific Computing Michael Burger 1 / 33 Agenda
C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.
C++ Teil 3 3.3 Schleifen Man kann bestimme en in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. for-schleife for-schleife while-schleife do-while-schleife for ( Ausdruck1;
Einführung in OpenMP
Einführung in die Parallelprogrammierung OpenMP Teil 1: Einführung in OpenMP Annika Hagemeier Jülich Supercomputing Centre (JSC) Forschungszentrum Jülich Inhalt Motivation Was ist OpenMP? Historie OpenMP
Multi-threaded Programming with Cilk
Multi-threaded Programming with Cilk Hobli Taffame Institut für Informatik Ruprecht-Karls Universität Heidelberg 3. Juli 2013 1 / 27 Inhaltsverzeichnis 1 Einleitung Warum Multithreading? Ziele 2 Was ist
JaMP Implementierung eines OpenMP Dialektes im DSM System Jackal
JaMP Implementierung eines OpenMP Dialektes im DSM System Jackal Studienarbeit im Fach Informatik vorgelegt von Matthias Bezold angefertigt am Institut für Informatik Lehrstuhl für Informatik 2 Programmiersysteme
Parallele Programmierung
Parallele Programmierung PThreads OpenMP MPI Übung: Architektur Paralleler Rechnersysteme WS08/09 J.Simon 1 PThread Programmierung Übung: Architektur Paralleler Rechnersysteme WS08/09 J.Simon 2 1 PThreads
Projektseminar 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
Memory Models Frederik Zipp
Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1
