OpenMP: eine Einführung in die parallele Programmierung mit C/C++
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Berlin [u.a.]
Springer
2008
|
Schriftenreihe: | Informatik im Fokus
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Literaturverz. S. 155 - 158 |
Beschreibung: | X, 161 S. graph. Darst. |
ISBN: | 3540731229 9783540731221 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV023172629 | ||
003 | DE-604 | ||
005 | 20090513 | ||
007 | t | ||
008 | 080219s2008 d||| |||| 00||| ger d | ||
016 | 7 | |a 988008475 |2 DE-101 | |
020 | |a 3540731229 |9 3-540-73122-9 | ||
020 | |a 9783540731221 |9 978-3-540-73122-1 | ||
035 | |a (OCoLC)244015273 | ||
035 | |a (DE-599)BVBBV023172629 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a ger | |
049 | |a DE-384 |a DE-573 |a DE-523 | ||
082 | 0 | |a 005.275 |2 22/ger | |
084 | |a ST 151 |0 (DE-625)143595: |2 rvk | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Hoffmann, Simon |e Verfasser |4 aut | |
245 | 1 | 0 | |a OpenMP |b eine Einführung in die parallele Programmierung mit C/C++ |c Simon Hoffmann ; Rainer Lienhart |
246 | 1 | 3 | |a Open MP |
264 | 1 | |a Berlin [u.a.] |b Springer |c 2008 | |
300 | |a X, 161 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Informatik im Fokus | |
500 | |a Literaturverz. S. 155 - 158 | ||
650 | 0 | 7 | |a OpenMP |0 (DE-588)4648816-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a OpenMP |0 (DE-588)4648816-9 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Lienhart, Rainer |d 1969- |e Sonstige |0 (DE-588)120439034 |4 oth | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-540-73123-8 |
856 | 4 | 2 | |m Digitalisierung UB Augsburg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016359281&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-016359281 |
Datensatz im Suchindex
_version_ | 1804137435622277120 |
---|---|
adam_text | Inhaltsverzeichnis
Einführimg................................ 1
1.1 Merkmale von OpcnMP.................. 2
1.1.1 OpenMP-fähige Compiler .......... 6
1.2 Parallele Programmierung................ 7
1.2.1 Prozesse und
Threads
.............. 8
1.2.2 Parallele Hardwarearchitekturen..... 10
1.2.3 Leistmigsmessung................. 13
1.2.4 Das
Amdaliľsehe
Gesetz ........... 14
1.2.5 Eine andere Sichhveise - das
Gustafson sche Gesetz ............. 16
Das OpenMP-Ausführungsmodell.......... 23
2.1 Hallo Welt!............................. 24
2.2 Arbeit aufteilende Direktiven ............. 28
2.3 Fehlerbehandlung in OpenMP............. 29
Parallelisierung von Schleifen.............. 31
3.1 Parallelität auf Sehleifenebene............. 31
3.2 Zugriff auf Variablen und Kommunikation
zwischen
Threads
........................ 37
VIH
Inhaltsverzeichnis
3.2.1 Gemeinsam und privat genutzte
Variablen......................... 40
3.2.2 Änderung des Standardverhaltens
mit default...................... 45
3.2.3 Parallele Berechnungen mit
reduction
....................... 40
3.2.4 Lokale und automatische Variablen . . 49
3.2.5 Initialisierung und Finalisierung
von
privaten
Variablen............. 51
3.3 Ablaufpläne mit
schedule
................ 58
3.3.1 Statische und dynamische Ablaufpläne 59
3.3.2 Syntax........................... 60
3.3.3 Bedingte Parallelisierung........... 64
3.4 Anzahl der
Threads
in einem Team........ 64
3.5 Datenabhängigkeiten..................... 67
3.5.1 Das Problem der Datenabhängigkeiten 68
3.5.2 Datenabhängigkeiten in Schleifen .... 69
3.5.3 Datenabhängigkeiten finden ........ 69
3.5.4 Datenabhängigkeiten in
verschachtelten Schleifen........... 72
3.5.5 Typen von Datenabhängigkeiten .... 74
3.5.6 Entfernen von Datenabhängigkeiten . 75
3.6 Nicht-parallele Ausführung mit
single
..... 82
3.6.1 Die copyprivate-Klausel........... 82
3.7 Implizite Barrieren mit nowait umgehen ... 83
3.8 Paralleles
Traversieren
von Containerklassen 84
4 Synchronisation ........................... 89
4.1 Wettlaufsituationen und kritische Abschnitte 89
4.2 Kritische Abschnitte in OpenMP.......... 92
4.2.1
Deadlocks
........................ 94
4.3 Atomare Operationen mit
atomic
......... 95
4.4
reduction
und Vergleich der Laufzeiten .... 97
Inhaltsverzeichnis
IX
4.5 Synchronisierung mit der OpenMP-
Laufzoitbibliotliek....................... 98
4.5.1
Deadlocks
und verschachteltes
Locking
..........................
J
00
4.5.2
Scoped Locking in
С
■ ............101
4.
(j
Synchronisierung von Ereignissen..........105
4.6.1 Barrieren.........................106
4.0.2 Geordnete Ausführung.............106
4.6.3 Nichtparallele Ausführung durch
don Master-Thread
................108
4.6.4 Konsistente Speicherbelegung mit
flush
............................109
5 Parallele Abschnitte.......................113
5.1 Parallele Teilaufgaben mit
sections
.......113
5.2 Globale Variablen und threadprivate.....118
5.3 Verwaiste Direktiven.....................121
5.4 Verschachtelte parallele Abschnitte........122
6 Parallele Aufgaben ........................125
6.1 Eine Task-Wartesehlange mit OpenMP-
Bordmitteln ............................127
0.2 Intel-spezifische Erweiterungen: taskq und
task
...................................129
6.3 Ausblick auf die task-Direktive in
OpenMP 3.0............................134
6.3.1
Scheduling-
Punkte.................136
7 Die OpenMP-Laufzeitbibliothek...........139
7.1 Zeitmessung............................139
7.2 Parameter der Laufzeitunigebung..........141
7.2.1 Dynamische Anpassung von
Thread-Teamgröisen...............141
7.3 Sviichronisation.........................143
X
Inhaltsverzeichnis
8 Effiziente Parallelisierimg..................145
Literaturverzeichnis ...........................155
|
adam_txt |
Inhaltsverzeichnis
Einführimg. 1
1.1 Merkmale von OpcnMP. 2
1.1.1 OpenMP-fähige Compiler . 6
1.2 Parallele Programmierung. 7
1.2.1 Prozesse und
Threads
. 8
1.2.2 Parallele Hardwarearchitekturen. 10
1.2.3 Leistmigsmessung. 13
1.2.4 Das
Amdaliľsehe
Gesetz . 14
1.2.5 Eine andere Sichhveise - das
Gustafson'sche Gesetz . 16
Das OpenMP-Ausführungsmodell. 23
2.1 Hallo Welt!. 24
2.2 Arbeit aufteilende Direktiven . 28
2.3 Fehlerbehandlung in OpenMP. 29
Parallelisierung von Schleifen. 31
3.1 Parallelität auf Sehleifenebene. 31
3.2 Zugriff' auf Variablen und Kommunikation
zwischen
Threads
. 37
VIH
Inhaltsverzeichnis
3.2.1 Gemeinsam und privat genutzte
Variablen. 40
3.2.2 Änderung des Standardverhaltens
mit default. 45
3.2.3 Parallele Berechnungen mit
reduction
. 40
3.2.4 Lokale und automatische Variablen . . 49
3.2.5 Initialisierung und Finalisierung
von
privaten
Variablen. 51
3.3 Ablaufpläne mit
schedule
. 58
3.3.1 Statische und dynamische Ablaufpläne 59
3.3.2 Syntax. 60
3.3.3 Bedingte Parallelisierung. 64
3.4 Anzahl der
Threads
in einem Team. 64
3.5 Datenabhängigkeiten. 67
3.5.1 Das Problem der Datenabhängigkeiten 68
3.5.2 Datenabhängigkeiten in Schleifen . 69
3.5.3 Datenabhängigkeiten finden . 69
3.5.4 Datenabhängigkeiten in
verschachtelten Schleifen. 72
3.5.5 Typen von Datenabhängigkeiten . 74
3.5.6 Entfernen von Datenabhängigkeiten . 75
3.6 Nicht-parallele Ausführung mit
single
. 82
3.6.1 Die copyprivate-Klausel. 82
3.7 Implizite Barrieren mit nowait umgehen . 83
3.8 Paralleles
Traversieren
von Containerklassen 84
4 Synchronisation . 89
4.1 Wettlaufsituationen und kritische Abschnitte 89
4.2 Kritische Abschnitte in OpenMP. 92
4.2.1
Deadlocks
. 94
4.3 Atomare Operationen mit
atomic
. 95
4.4
reduction
und Vergleich der Laufzeiten . 97
Inhaltsverzeichnis
IX
4.5 Synchronisierung mit der OpenMP-
Laufzoitbibliotliek. 98
4.5.1
Deadlocks
und verschachteltes
Locking
.
J
00
4.5.2
Scoped Locking in
С
■ .101
4.
(j
Synchronisierung von Ereignissen.105
4.6.1 Barrieren.106
4.0.2 Geordnete Ausführung.106
4.6.3 Nichtparallele Ausführung durch
don Master-Thread
.108
4.6.4 Konsistente Speicherbelegung mit
flush
.109
5 Parallele Abschnitte.113
5.1 Parallele Teilaufgaben mit
sections
.113
5.2 Globale Variablen und threadprivate.118
5.3 Verwaiste Direktiven.121
5.4 Verschachtelte parallele Abschnitte.122
6 Parallele Aufgaben .125
6.1 Eine Task-Wartesehlange mit OpenMP-
Bordmitteln .127
0.2 Intel-spezifische Erweiterungen: taskq und
task
.129
6.3 Ausblick auf die task-Direktive in
OpenMP 3.0.134
6.3.1
Scheduling-
Punkte.136
7 Die OpenMP-Laufzeitbibliothek.139
7.1 Zeitmessung.139
7.2 Parameter der Laufzeitunigebung.141
7.2.1 Dynamische Anpassung von
Thread-Teamgröisen.141
7.3 Sviichronisation.143
X
Inhaltsverzeichnis
8 Effiziente Parallelisierimg.145
Literaturverzeichnis .155 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Hoffmann, Simon |
author_GND | (DE-588)120439034 |
author_facet | Hoffmann, Simon |
author_role | aut |
author_sort | Hoffmann, Simon |
author_variant | s h sh |
building | Verbundindex |
bvnumber | BV023172629 |
classification_rvk | ST 151 ST 250 |
ctrlnum | (OCoLC)244015273 (DE-599)BVBBV023172629 |
dewey-full | 005.275 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.275 |
dewey-search | 005.275 |
dewey-sort | 15.275 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01627nam a2200433 c 4500</leader><controlfield tag="001">BV023172629</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20090513 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">080219s2008 d||| |||| 00||| ger d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">988008475</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3540731229</subfield><subfield code="9">3-540-73122-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783540731221</subfield><subfield code="9">978-3-540-73122-1</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)244015273</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV023172629</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-384</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-523</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.275</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 151</subfield><subfield code="0">(DE-625)143595:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Hoffmann, Simon</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">OpenMP</subfield><subfield code="b">eine Einführung in die parallele Programmierung mit C/C++</subfield><subfield code="c">Simon Hoffmann ; Rainer Lienhart</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Open MP</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Berlin [u.a.]</subfield><subfield code="b">Springer</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">X, 161 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Informatik im Fokus</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Literaturverz. S. 155 - 158</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">OpenMP</subfield><subfield code="0">(DE-588)4648816-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">OpenMP</subfield><subfield code="0">(DE-588)4648816-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Lienhart, Rainer</subfield><subfield code="d">1969-</subfield><subfield code="e">Sonstige</subfield><subfield code="0">(DE-588)120439034</subfield><subfield code="4">oth</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-540-73123-8</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Augsburg</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016359281&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016359281</subfield></datafield></record></collection> |
id | DE-604.BV023172629 |
illustrated | Illustrated |
index_date | 2024-07-02T19:58:22Z |
indexdate | 2024-07-09T21:12:15Z |
institution | BVB |
isbn | 3540731229 9783540731221 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016359281 |
oclc_num | 244015273 |
open_access_boolean | |
owner | DE-384 DE-573 DE-523 |
owner_facet | DE-384 DE-573 DE-523 |
physical | X, 161 S. graph. Darst. |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Springer |
record_format | marc |
series2 | Informatik im Fokus |
spelling | Hoffmann, Simon Verfasser aut OpenMP eine Einführung in die parallele Programmierung mit C/C++ Simon Hoffmann ; Rainer Lienhart Open MP Berlin [u.a.] Springer 2008 X, 161 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier Informatik im Fokus Literaturverz. S. 155 - 158 OpenMP (DE-588)4648816-9 gnd rswk-swf OpenMP (DE-588)4648816-9 s DE-604 Lienhart, Rainer 1969- Sonstige (DE-588)120439034 oth Erscheint auch als Online-Ausgabe 978-3-540-73123-8 Digitalisierung UB Augsburg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016359281&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Hoffmann, Simon OpenMP eine Einführung in die parallele Programmierung mit C/C++ OpenMP (DE-588)4648816-9 gnd |
subject_GND | (DE-588)4648816-9 |
title | OpenMP eine Einführung in die parallele Programmierung mit C/C++ |
title_alt | Open MP |
title_auth | OpenMP eine Einführung in die parallele Programmierung mit C/C++ |
title_exact_search | OpenMP eine Einführung in die parallele Programmierung mit C/C++ |
title_exact_search_txtP | OpenMP eine Einführung in die parallele Programmierung mit C/C++ |
title_full | OpenMP eine Einführung in die parallele Programmierung mit C/C++ Simon Hoffmann ; Rainer Lienhart |
title_fullStr | OpenMP eine Einführung in die parallele Programmierung mit C/C++ Simon Hoffmann ; Rainer Lienhart |
title_full_unstemmed | OpenMP eine Einführung in die parallele Programmierung mit C/C++ Simon Hoffmann ; Rainer Lienhart |
title_short | OpenMP |
title_sort | openmp eine einfuhrung in die parallele programmierung mit c c |
title_sub | eine Einführung in die parallele Programmierung mit C/C++ |
topic | OpenMP (DE-588)4648816-9 gnd |
topic_facet | OpenMP |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016359281&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT hoffmannsimon openmpeineeinfuhrungindieparalleleprogrammierungmitcc AT lienhartrainer openmpeineeinfuhrungindieparalleleprogrammierungmitcc AT hoffmannsimon openmp AT lienhartrainer openmp |