Using OpenMP - the next step : affinity, accelerators, tasking, and SIMD
Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Construct...
Ausführliche Beschreibung
Autor*in: |
Pas, Ruud van der [verfasserIn] Stotzer, Eric [verfasserIn] Terboven, Christian [verfasserIn] |
---|
Format: |
E-Book |
---|---|
Sprache: |
Englisch |
Erschienen: |
Cambridge, Massachusetts London: The MIT Press ; 2017 © 2017 |
---|
Schlagwörter: |
Application program interfaces (Computer software) |
---|
Umfang: |
1 Online-Ressource (xxi, 365 Seiten) |
---|
Reihe: |
Scientific and engineering computation |
---|
Links: | |
---|---|
ISBN: |
978-0-262-34401-2 |
Katalog-ID: |
1654552275 |
---|
LEADER | 01000cam a2200265 4500 | ||
---|---|---|---|
001 | 1654552275 | ||
003 | DE-627 | ||
005 | 20220727014424.0 | ||
007 | cr uuu---uuuuu | ||
008 | 180717s2017 xx |||||o 00| ||eng c | ||
020 | |a 9780262344012 |9 978-0-262-34401-2 | ||
035 | |a (DE-627)1654552275 | ||
035 | |a (DE-576)50766146X | ||
035 | |a (DE-599)BSZ50766146X | ||
035 | |a (OCoLC)1085383369 | ||
035 | |a (OCoLC)1047885625 | ||
040 | |a DE-627 |b ger |c DE-627 |e rda | ||
041 | |a eng | ||
100 | 1 | |a Pas, Ruud van der |e verfasserin |0 (DE-588)137238975 |0 (DE-627)69497255X |0 (DE-576)348611404 |4 aut | |
245 | 1 | 0 | |a Using OpenMP - the next step |b affinity, accelerators, tasking, and SIMD |c Ruud van der Pas, Eric Stotzer, and Christian Terboven |
264 | 1 | |a Cambridge, Massachusetts |a London |b The MIT Press |c [2017] | |
264 | 4 | |c © 2017 | |
300 | |a 1 Online-Ressource (xxi, 365 Seiten) | ||
336 | |a Text |b txt |2 rdacontent | ||
337 | |a Computermedien |b c |2 rdamedia | ||
338 | |a Online-Ressource |b cr |2 rdacarrier | ||
490 | 0 | |a Scientific and engineering computation | |
520 | |a Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. | ||
520 | |a 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks | ||
520 | |a 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management | ||
520 | |a 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index | ||
650 | 4 | |a Application program interfaces (Computer software) | |
650 | 4 | |a Parallel programming (Computer science) | |
650 | 4 | |a Electronic books | |
700 | 1 | |a Stotzer, Eric |e verfasserin |0 (DE-588)1154969533 |0 (DE-627)1016283725 |0 (DE-576)501344446 |4 aut | |
700 | 1 | |a Terboven, Christian |e verfasserin |0 (DE-588)1078473412 |0 (DE-627)838764835 |0 (DE-576)451545192 |4 aut | |
776 | 1 | |z 9780262534789 | |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |z 9780262534789 |
856 | 4 | 0 | |u https://ieeexplore.ieee.org/book/8169743 |x Verlag |3 Volltext |
856 | 4 | 0 | |u https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028 |m X:EBC |x Verlag |3 Volltext |
912 | |a ZDB-30-PQE | ||
912 | |a ZDB-37-IEM | ||
912 | |a GBV_ILN_22 | ||
912 | |a ISIL_DE-18 | ||
912 | |a SYSFLAG_1 | ||
912 | |a GBV_KXP | ||
912 | |a GBV_ILN_22_i22818 | ||
912 | |a GBV_ILN_23 | ||
912 | |a ISIL_DE-830 | ||
912 | |a GBV_ILN_62 | ||
912 | |a ISIL_DE-28 | ||
912 | |a GBV_ILN_370 | ||
912 | |a ISIL_DE-1373 | ||
912 | |a GBV_ILN_2015 | ||
912 | |a ISIL_DE-93 | ||
951 | |a BO | ||
980 | |2 22 |1 01 |x 0018 |b 3793968375 |h olrm-h228-ebc |k Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. |k Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek. |y zi22818 |z 09-11-20 | ||
980 | |2 23 |1 01 |x 0830 |b 3542593680 |h olr-MIT |u i |y z |z 19-11-19 | ||
980 | |2 62 |1 01 |x 0028 |b 3601569027 |c 00 |f --%%-- |d --%%-- |e s |j --%%-- |h OLR-MIT |k Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. |y z |z 02-03-20 | ||
980 | |2 370 |1 01 |x 4370 |b 4011219142 |h olr-ebook mitieee |k Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots. |u i |y z |z 01-12-21 | ||
980 | |2 2015 |1 01 |x DE-93 |b 3374188079 |c 00 |f --%%-- |d --%%-- |e p |j --%%-- |k Campuslizenz |y l01 |z 17-07-18 | ||
981 | |2 22 |1 01 |x 0018 |y Volltextzugang Campus |r http://ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 | ||
981 | |2 22 |1 01 |x 0018 |y Volltextzugang von außerhalb des Campus |r http://emedien.sub.uni-hamburg.de/han/proquest-ebook-central/ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 | ||
981 | |2 23 |1 01 |x 0830 |y MIT Press EBook |r https://ieeexplore.ieee.org/book/8169743 | ||
981 | |2 62 |1 01 |x 0028 |r https://ieeexplore.ieee.org/book/8169743 | ||
981 | |2 370 |1 01 |x 4370 |y E-Book: Zugriff im HCU-Netz. Zugriff von außerhalb nur für HCU-Angehörige möglich |r https://ieeexplore.ieee.org/book/8169743 | ||
981 | |2 2015 |1 01 |x DE-93 |r https://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=8169743 | ||
985 | |2 23 |1 01 |x 0830 |a 2018-01805, 2018-01806, 2018-01808 | ||
995 | |2 22 |1 01 |x 0018 |a olrm-h228-ebc | ||
995 | |2 22 |1 01 |x 0018 |a ILNemk | ||
995 | |2 22 |1 01 |x 0018 |a ACQ | ||
995 | |2 23 |1 01 |x 0830 |a olr-MIT | ||
995 | |2 62 |1 01 |x 0028 |a OLR-MIT | ||
995 | |2 370 |1 01 |x 4370 |a olr-ebook mitieee | ||
998 | |2 370 |1 01 |x 4370 |0 2021.12.01 |
author_variant |
r v d p rvd rvdp e s es c t ct |
---|---|
matchkey_str |
book:9780262344012:2017---- |
oclc_num |
1085383369 1047885625 |
hierarchy_sort_str |
[2017] |
publishDate |
2017 |
allfields |
9780262344012 978-0-262-34401-2 (DE-627)1654552275 (DE-576)50766146X (DE-599)BSZ50766146X (OCoLC)1085383369 (OCoLC)1047885625 DE-627 ger DE-627 rda eng Pas, Ruud van der verfasserin (DE-588)137238975 (DE-627)69497255X (DE-576)348611404 aut Using OpenMP - the next step affinity, accelerators, tasking, and SIMD Ruud van der Pas, Eric Stotzer, and Christian Terboven Cambridge, Massachusetts London The MIT Press [2017] © 2017 1 Online-Ressource (xxi, 365 Seiten) Text txt rdacontent Computermedien c rdamedia Online-Ressource cr rdacarrier Scientific and engineering computation Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index Application program interfaces (Computer software) Parallel programming (Computer science) Electronic books Stotzer, Eric verfasserin (DE-588)1154969533 (DE-627)1016283725 (DE-576)501344446 aut Terboven, Christian verfasserin (DE-588)1078473412 (DE-627)838764835 (DE-576)451545192 aut 9780262534789 Erscheint auch als Druck-Ausgabe 9780262534789 https://ieeexplore.ieee.org/book/8169743 Verlag Volltext https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028 X:EBC Verlag Volltext ZDB-30-PQE ZDB-37-IEM GBV_ILN_22 ISIL_DE-18 SYSFLAG_1 GBV_KXP GBV_ILN_22_i22818 GBV_ILN_23 ISIL_DE-830 GBV_ILN_62 ISIL_DE-28 GBV_ILN_370 ISIL_DE-1373 GBV_ILN_2015 ISIL_DE-93 BO 22 01 0018 3793968375 olrm-h228-ebc Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek. zi22818 09-11-20 23 01 0830 3542593680 olr-MIT i z 19-11-19 62 01 0028 3601569027 00 --%%-- --%%-- s --%%-- OLR-MIT Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. z 02-03-20 370 01 4370 4011219142 olr-ebook mitieee Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots. i z 01-12-21 2015 01 DE-93 3374188079 00 --%%-- --%%-- p --%%-- Campuslizenz l01 17-07-18 22 01 0018 Volltextzugang Campus http://ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 22 01 0018 Volltextzugang von außerhalb des Campus http://emedien.sub.uni-hamburg.de/han/proquest-ebook-central/ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 23 01 0830 MIT Press EBook https://ieeexplore.ieee.org/book/8169743 62 01 0028 https://ieeexplore.ieee.org/book/8169743 370 01 4370 E-Book: Zugriff im HCU-Netz. Zugriff von außerhalb nur für HCU-Angehörige möglich https://ieeexplore.ieee.org/book/8169743 2015 01 DE-93 https://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=8169743 23 01 0830 2018-01805, 2018-01806, 2018-01808 22 01 0018 olrm-h228-ebc 22 01 0018 ILNemk 22 01 0018 ACQ 23 01 0830 olr-MIT 62 01 0028 OLR-MIT 370 01 4370 olr-ebook mitieee 370 01 4370 2021.12.01 |
spelling |
9780262344012 978-0-262-34401-2 (DE-627)1654552275 (DE-576)50766146X (DE-599)BSZ50766146X (OCoLC)1085383369 (OCoLC)1047885625 DE-627 ger DE-627 rda eng Pas, Ruud van der verfasserin (DE-588)137238975 (DE-627)69497255X (DE-576)348611404 aut Using OpenMP - the next step affinity, accelerators, tasking, and SIMD Ruud van der Pas, Eric Stotzer, and Christian Terboven Cambridge, Massachusetts London The MIT Press [2017] © 2017 1 Online-Ressource (xxi, 365 Seiten) Text txt rdacontent Computermedien c rdamedia Online-Ressource cr rdacarrier Scientific and engineering computation Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index Application program interfaces (Computer software) Parallel programming (Computer science) Electronic books Stotzer, Eric verfasserin (DE-588)1154969533 (DE-627)1016283725 (DE-576)501344446 aut Terboven, Christian verfasserin (DE-588)1078473412 (DE-627)838764835 (DE-576)451545192 aut 9780262534789 Erscheint auch als Druck-Ausgabe 9780262534789 https://ieeexplore.ieee.org/book/8169743 Verlag Volltext https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028 X:EBC Verlag Volltext ZDB-30-PQE ZDB-37-IEM GBV_ILN_22 ISIL_DE-18 SYSFLAG_1 GBV_KXP GBV_ILN_22_i22818 GBV_ILN_23 ISIL_DE-830 GBV_ILN_62 ISIL_DE-28 GBV_ILN_370 ISIL_DE-1373 GBV_ILN_2015 ISIL_DE-93 BO 22 01 0018 3793968375 olrm-h228-ebc Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek. zi22818 09-11-20 23 01 0830 3542593680 olr-MIT i z 19-11-19 62 01 0028 3601569027 00 --%%-- --%%-- s --%%-- OLR-MIT Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. z 02-03-20 370 01 4370 4011219142 olr-ebook mitieee Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots. i z 01-12-21 2015 01 DE-93 3374188079 00 --%%-- --%%-- p --%%-- Campuslizenz l01 17-07-18 22 01 0018 Volltextzugang Campus http://ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 22 01 0018 Volltextzugang von außerhalb des Campus http://emedien.sub.uni-hamburg.de/han/proquest-ebook-central/ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 23 01 0830 MIT Press EBook https://ieeexplore.ieee.org/book/8169743 62 01 0028 https://ieeexplore.ieee.org/book/8169743 370 01 4370 E-Book: Zugriff im HCU-Netz. Zugriff von außerhalb nur für HCU-Angehörige möglich https://ieeexplore.ieee.org/book/8169743 2015 01 DE-93 https://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=8169743 23 01 0830 2018-01805, 2018-01806, 2018-01808 22 01 0018 olrm-h228-ebc 22 01 0018 ILNemk 22 01 0018 ACQ 23 01 0830 olr-MIT 62 01 0028 OLR-MIT 370 01 4370 olr-ebook mitieee 370 01 4370 2021.12.01 |
allfields_unstemmed |
9780262344012 978-0-262-34401-2 (DE-627)1654552275 (DE-576)50766146X (DE-599)BSZ50766146X (OCoLC)1085383369 (OCoLC)1047885625 DE-627 ger DE-627 rda eng Pas, Ruud van der verfasserin (DE-588)137238975 (DE-627)69497255X (DE-576)348611404 aut Using OpenMP - the next step affinity, accelerators, tasking, and SIMD Ruud van der Pas, Eric Stotzer, and Christian Terboven Cambridge, Massachusetts London The MIT Press [2017] © 2017 1 Online-Ressource (xxi, 365 Seiten) Text txt rdacontent Computermedien c rdamedia Online-Ressource cr rdacarrier Scientific and engineering computation Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index Application program interfaces (Computer software) Parallel programming (Computer science) Electronic books Stotzer, Eric verfasserin (DE-588)1154969533 (DE-627)1016283725 (DE-576)501344446 aut Terboven, Christian verfasserin (DE-588)1078473412 (DE-627)838764835 (DE-576)451545192 aut 9780262534789 Erscheint auch als Druck-Ausgabe 9780262534789 https://ieeexplore.ieee.org/book/8169743 Verlag Volltext https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028 X:EBC Verlag Volltext ZDB-30-PQE ZDB-37-IEM GBV_ILN_22 ISIL_DE-18 SYSFLAG_1 GBV_KXP GBV_ILN_22_i22818 GBV_ILN_23 ISIL_DE-830 GBV_ILN_62 ISIL_DE-28 GBV_ILN_370 ISIL_DE-1373 GBV_ILN_2015 ISIL_DE-93 BO 22 01 0018 3793968375 olrm-h228-ebc Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek. zi22818 09-11-20 23 01 0830 3542593680 olr-MIT i z 19-11-19 62 01 0028 3601569027 00 --%%-- --%%-- s --%%-- OLR-MIT Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. z 02-03-20 370 01 4370 4011219142 olr-ebook mitieee Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots. i z 01-12-21 2015 01 DE-93 3374188079 00 --%%-- --%%-- p --%%-- Campuslizenz l01 17-07-18 22 01 0018 Volltextzugang Campus http://ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 22 01 0018 Volltextzugang von außerhalb des Campus http://emedien.sub.uni-hamburg.de/han/proquest-ebook-central/ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 23 01 0830 MIT Press EBook https://ieeexplore.ieee.org/book/8169743 62 01 0028 https://ieeexplore.ieee.org/book/8169743 370 01 4370 E-Book: Zugriff im HCU-Netz. Zugriff von außerhalb nur für HCU-Angehörige möglich https://ieeexplore.ieee.org/book/8169743 2015 01 DE-93 https://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=8169743 23 01 0830 2018-01805, 2018-01806, 2018-01808 22 01 0018 olrm-h228-ebc 22 01 0018 ILNemk 22 01 0018 ACQ 23 01 0830 olr-MIT 62 01 0028 OLR-MIT 370 01 4370 olr-ebook mitieee 370 01 4370 2021.12.01 |
allfieldsGer |
9780262344012 978-0-262-34401-2 (DE-627)1654552275 (DE-576)50766146X (DE-599)BSZ50766146X (OCoLC)1085383369 (OCoLC)1047885625 DE-627 ger DE-627 rda eng Pas, Ruud van der verfasserin (DE-588)137238975 (DE-627)69497255X (DE-576)348611404 aut Using OpenMP - the next step affinity, accelerators, tasking, and SIMD Ruud van der Pas, Eric Stotzer, and Christian Terboven Cambridge, Massachusetts London The MIT Press [2017] © 2017 1 Online-Ressource (xxi, 365 Seiten) Text txt rdacontent Computermedien c rdamedia Online-Ressource cr rdacarrier Scientific and engineering computation Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index Application program interfaces (Computer software) Parallel programming (Computer science) Electronic books Stotzer, Eric verfasserin (DE-588)1154969533 (DE-627)1016283725 (DE-576)501344446 aut Terboven, Christian verfasserin (DE-588)1078473412 (DE-627)838764835 (DE-576)451545192 aut 9780262534789 Erscheint auch als Druck-Ausgabe 9780262534789 https://ieeexplore.ieee.org/book/8169743 Verlag Volltext https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028 X:EBC Verlag Volltext ZDB-30-PQE ZDB-37-IEM GBV_ILN_22 ISIL_DE-18 SYSFLAG_1 GBV_KXP GBV_ILN_22_i22818 GBV_ILN_23 ISIL_DE-830 GBV_ILN_62 ISIL_DE-28 GBV_ILN_370 ISIL_DE-1373 GBV_ILN_2015 ISIL_DE-93 BO 22 01 0018 3793968375 olrm-h228-ebc Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek. zi22818 09-11-20 23 01 0830 3542593680 olr-MIT i z 19-11-19 62 01 0028 3601569027 00 --%%-- --%%-- s --%%-- OLR-MIT Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. z 02-03-20 370 01 4370 4011219142 olr-ebook mitieee Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots. i z 01-12-21 2015 01 DE-93 3374188079 00 --%%-- --%%-- p --%%-- Campuslizenz l01 17-07-18 22 01 0018 Volltextzugang Campus http://ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 22 01 0018 Volltextzugang von außerhalb des Campus http://emedien.sub.uni-hamburg.de/han/proquest-ebook-central/ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 23 01 0830 MIT Press EBook https://ieeexplore.ieee.org/book/8169743 62 01 0028 https://ieeexplore.ieee.org/book/8169743 370 01 4370 E-Book: Zugriff im HCU-Netz. Zugriff von außerhalb nur für HCU-Angehörige möglich https://ieeexplore.ieee.org/book/8169743 2015 01 DE-93 https://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=8169743 23 01 0830 2018-01805, 2018-01806, 2018-01808 22 01 0018 olrm-h228-ebc 22 01 0018 ILNemk 22 01 0018 ACQ 23 01 0830 olr-MIT 62 01 0028 OLR-MIT 370 01 4370 olr-ebook mitieee 370 01 4370 2021.12.01 |
allfieldsSound |
9780262344012 978-0-262-34401-2 (DE-627)1654552275 (DE-576)50766146X (DE-599)BSZ50766146X (OCoLC)1085383369 (OCoLC)1047885625 DE-627 ger DE-627 rda eng Pas, Ruud van der verfasserin (DE-588)137238975 (DE-627)69497255X (DE-576)348611404 aut Using OpenMP - the next step affinity, accelerators, tasking, and SIMD Ruud van der Pas, Eric Stotzer, and Christian Terboven Cambridge, Massachusetts London The MIT Press [2017] © 2017 1 Online-Ressource (xxi, 365 Seiten) Text txt rdacontent Computermedien c rdamedia Online-Ressource cr rdacarrier Scientific and engineering computation Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index Application program interfaces (Computer software) Parallel programming (Computer science) Electronic books Stotzer, Eric verfasserin (DE-588)1154969533 (DE-627)1016283725 (DE-576)501344446 aut Terboven, Christian verfasserin (DE-588)1078473412 (DE-627)838764835 (DE-576)451545192 aut 9780262534789 Erscheint auch als Druck-Ausgabe 9780262534789 https://ieeexplore.ieee.org/book/8169743 Verlag Volltext https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028 X:EBC Verlag Volltext ZDB-30-PQE ZDB-37-IEM GBV_ILN_22 ISIL_DE-18 SYSFLAG_1 GBV_KXP GBV_ILN_22_i22818 GBV_ILN_23 ISIL_DE-830 GBV_ILN_62 ISIL_DE-28 GBV_ILN_370 ISIL_DE-1373 GBV_ILN_2015 ISIL_DE-93 BO 22 01 0018 3793968375 olrm-h228-ebc Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek. zi22818 09-11-20 23 01 0830 3542593680 olr-MIT i z 19-11-19 62 01 0028 3601569027 00 --%%-- --%%-- s --%%-- OLR-MIT Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. z 02-03-20 370 01 4370 4011219142 olr-ebook mitieee Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots. i z 01-12-21 2015 01 DE-93 3374188079 00 --%%-- --%%-- p --%%-- Campuslizenz l01 17-07-18 22 01 0018 Volltextzugang Campus http://ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 22 01 0018 Volltextzugang von außerhalb des Campus http://emedien.sub.uni-hamburg.de/han/proquest-ebook-central/ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028 23 01 0830 MIT Press EBook https://ieeexplore.ieee.org/book/8169743 62 01 0028 https://ieeexplore.ieee.org/book/8169743 370 01 4370 E-Book: Zugriff im HCU-Netz. Zugriff von außerhalb nur für HCU-Angehörige möglich https://ieeexplore.ieee.org/book/8169743 2015 01 DE-93 https://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=8169743 23 01 0830 2018-01805, 2018-01806, 2018-01808 22 01 0018 olrm-h228-ebc 22 01 0018 ILNemk 22 01 0018 ACQ 23 01 0830 olr-MIT 62 01 0028 OLR-MIT 370 01 4370 olr-ebook mitieee 370 01 4370 2021.12.01 |
language |
English |
format_phy_str_mv |
Book |
building |
22:i 23 62 370 2015:0 |
institution |
findex.gbv.de |
selectbib_iln_str_mv |
22@i22818 23@ 62@ 370@ 2015@01 |
topic_facet |
Application program interfaces (Computer software) Parallel programming (Computer science) Electronic books |
isfreeaccess_bool |
false |
authorswithroles_txt_mv |
Pas, Ruud van der @@aut@@ Stotzer, Eric @@aut@@ Terboven, Christian @@aut@@ |
publishDateDaySort_date |
2017-01-01T00:00:00Z |
id |
1654552275 |
language_de |
englisch |
fullrecord |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01000cam a2200265 4500</leader><controlfield tag="001">1654552275</controlfield><controlfield tag="003">DE-627</controlfield><controlfield tag="005">20220727014424.0</controlfield><controlfield tag="007">cr uuu---uuuuu</controlfield><controlfield tag="008">180717s2017 xx |||||o 00| ||eng c</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780262344012</subfield><subfield code="9">978-0-262-34401-2</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627)1654552275</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-576)50766146X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BSZ50766146X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1085383369</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1047885625</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-627</subfield><subfield code="b">ger</subfield><subfield code="c">DE-627</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1=" " ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Pas, Ruud van der</subfield><subfield code="e">verfasserin</subfield><subfield code="0">(DE-588)137238975</subfield><subfield code="0">(DE-627)69497255X</subfield><subfield code="0">(DE-576)348611404</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Using OpenMP - the next step</subfield><subfield code="b">affinity, accelerators, tasking, and SIMD</subfield><subfield code="c">Ruud van der Pas, Eric Stotzer, and Christian Terboven</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Cambridge, Massachusetts</subfield><subfield code="a">London</subfield><subfield code="b">The MIT Press</subfield><subfield code="c">[2017]</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2017</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource (xxi, 365 Seiten)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">Text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">Computermedien</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">Online-Ressource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Scientific and engineering computation</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List.</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Application program interfaces (Computer software)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Parallel programming (Computer science)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Electronic books</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Stotzer, Eric</subfield><subfield code="e">verfasserin</subfield><subfield code="0">(DE-588)1154969533</subfield><subfield code="0">(DE-627)1016283725</subfield><subfield code="0">(DE-576)501344446</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Terboven, Christian</subfield><subfield code="e">verfasserin</subfield><subfield code="0">(DE-588)1078473412</subfield><subfield code="0">(DE-627)838764835</subfield><subfield code="0">(DE-576)451545192</subfield><subfield code="4">aut</subfield></datafield><datafield tag="776" ind1="1" ind2=" "><subfield code="z">9780262534789</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="z">9780262534789</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://ieeexplore.ieee.org/book/8169743</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028</subfield><subfield code="m">X:EBC</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-PQE</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-37-IEM</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_22</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-18</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SYSFLAG_1</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_KXP</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_22_i22818</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_23</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-830</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_62</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-28</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_370</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-1373</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_2015</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-93</subfield></datafield><datafield tag="951" ind1=" " ind2=" "><subfield code="a">BO</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="b">3793968375</subfield><subfield code="h">olrm-h228-ebc</subfield><subfield code="k">Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt.</subfield><subfield code="k">Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek.</subfield><subfield code="y">zi22818</subfield><subfield code="z">09-11-20</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">23</subfield><subfield code="1">01</subfield><subfield code="x">0830</subfield><subfield code="b">3542593680</subfield><subfield code="h">olr-MIT</subfield><subfield code="u">i</subfield><subfield code="y">z</subfield><subfield code="z">19-11-19</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">62</subfield><subfield code="1">01</subfield><subfield code="x">0028</subfield><subfield code="b">3601569027</subfield><subfield code="c">00</subfield><subfield code="f">--%%--</subfield><subfield code="d">--%%--</subfield><subfield code="e">s</subfield><subfield code="j">--%%--</subfield><subfield code="h">OLR-MIT</subfield><subfield code="k">Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt.</subfield><subfield code="y">z</subfield><subfield code="z">02-03-20</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">370</subfield><subfield code="1">01</subfield><subfield code="x">4370</subfield><subfield code="b">4011219142</subfield><subfield code="h">olr-ebook mitieee</subfield><subfield code="k">Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots.</subfield><subfield code="u">i</subfield><subfield code="y">z</subfield><subfield code="z">01-12-21</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">2015</subfield><subfield code="1">01</subfield><subfield code="x">DE-93</subfield><subfield code="b">3374188079</subfield><subfield code="c">00</subfield><subfield code="f">--%%--</subfield><subfield code="d">--%%--</subfield><subfield code="e">p</subfield><subfield code="j">--%%--</subfield><subfield code="k">Campuslizenz</subfield><subfield code="y">l01</subfield><subfield code="z">17-07-18</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="y">Volltextzugang Campus</subfield><subfield code="r">http://ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="y">Volltextzugang von außerhalb des Campus</subfield><subfield code="r">http://emedien.sub.uni-hamburg.de/han/proquest-ebook-central/ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">23</subfield><subfield code="1">01</subfield><subfield code="x">0830</subfield><subfield code="y">MIT Press EBook</subfield><subfield code="r">https://ieeexplore.ieee.org/book/8169743</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">62</subfield><subfield code="1">01</subfield><subfield code="x">0028</subfield><subfield code="r">https://ieeexplore.ieee.org/book/8169743</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">370</subfield><subfield code="1">01</subfield><subfield code="x">4370</subfield><subfield code="y">E-Book: Zugriff im HCU-Netz. Zugriff von außerhalb nur für HCU-Angehörige möglich</subfield><subfield code="r">https://ieeexplore.ieee.org/book/8169743</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">2015</subfield><subfield code="1">01</subfield><subfield code="x">DE-93</subfield><subfield code="r">https://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=8169743</subfield></datafield><datafield tag="985" ind1=" " ind2=" "><subfield code="2">23</subfield><subfield code="1">01</subfield><subfield code="x">0830</subfield><subfield code="a">2018-01805, 2018-01806, 2018-01808</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="a">olrm-h228-ebc</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="a">ILNemk</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="a">ACQ</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">23</subfield><subfield code="1">01</subfield><subfield code="x">0830</subfield><subfield code="a">olr-MIT</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">62</subfield><subfield code="1">01</subfield><subfield code="x">0028</subfield><subfield code="a">OLR-MIT</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">370</subfield><subfield code="1">01</subfield><subfield code="x">4370</subfield><subfield code="a">olr-ebook mitieee</subfield></datafield><datafield tag="998" ind1=" " ind2=" "><subfield code="2">370</subfield><subfield code="1">01</subfield><subfield code="x">4370</subfield><subfield code="0">2021.12.01</subfield></datafield></record></collection>
|
standort_str_mv |
--%%-- |
series2 |
Scientific and engineering computation |
standort_iln_str_mv |
62:--%%-- 0028:--%%-- 2015:--%%-- DE-93:--%%-- |
author |
Pas, Ruud van der |
spellingShingle |
Pas, Ruud van der misc Application program interfaces (Computer software) misc Parallel programming (Computer science) misc Electronic books Using OpenMP - the next step affinity, accelerators, tasking, and SIMD |
authorStr |
Pas, Ruud van der |
format |
eBook |
delete_txt_mv |
keep |
author_role |
aut aut aut |
typewithnormlink_str_mv |
Person@(DE-588)137238975 DifferentiatedPerson@(DE-588)137238975 DifferentiatedPerson@(DE-588)1154969533 Person@(DE-588)1154969533 DifferentiatedPerson@(DE-588)1078473412 Person@(DE-588)1078473412 |
collection |
KXP GVK SWB |
publishPlace |
Cambridge, Massachusetts London |
remote_str |
true |
abrufzeichen_iln_str_mv |
22@olrm-h228-ebc 22@ILNemk 22@ACQ 23@olr-MIT 62@OLR-MIT 370@olr-ebook mitieee |
abrufzeichen_iln_scis_mv |
22@olrm-h228-ebc 22@ILNemk 22@ACQ 23@olr-MIT 62@OLR-MIT 370@olr-ebook mitieee |
last_changed_iln_str_mv |
22@09-11-20 23@19-11-19 62@02-03-20 370@01-12-21 2015@17-07-18 |
illustrated |
Not Illustrated |
topic_title |
Using OpenMP - the next step affinity, accelerators, tasking, and SIMD Ruud van der Pas, Eric Stotzer, and Christian Terboven Application program interfaces (Computer software) Parallel programming (Computer science) Electronic books |
publisher |
The MIT Press |
publisherStr |
The MIT Press |
topic |
misc Application program interfaces (Computer software) misc Parallel programming (Computer science) misc Electronic books |
topic_unstemmed |
misc Application program interfaces (Computer software) misc Parallel programming (Computer science) misc Electronic books |
topic_browse |
misc Application program interfaces (Computer software) misc Parallel programming (Computer science) misc Electronic books |
format_facet |
Elektronische Bücher Bücher Elektronische Ressource |
standort_txtP_mv |
--%%-- |
format_main_str_mv |
Text Buch |
carriertype_str_mv |
cr |
normlinkwithtype_str_mv |
(DE-588)137238975@Person (DE-588)137238975@DifferentiatedPerson (DE-588)1154969533@DifferentiatedPerson (DE-588)1154969533@Person (DE-588)1078473412@DifferentiatedPerson (DE-588)1078473412@Person |
signature |
--%%-- |
signature_str_mv |
--%%-- |
isbn |
9780262344012 0262344017 9780262534789 0262534789 |
isfreeaccess_txt |
false |
normlinkwithrole_str_mv |
(DE-588)137238975@@aut@@ (DE-588)1154969533@@aut@@ (DE-588)1078473412@@aut@@ |
title |
Using OpenMP - the next step affinity, accelerators, tasking, and SIMD |
ctrlnum |
(DE-627)1654552275 (DE-576)50766146X (DE-599)BSZ50766146X (OCoLC)1085383369 (OCoLC)1047885625 |
exemplarkommentar_str_mv |
22@Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. 22@Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek. 62@Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt. 370@Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots. 2015@Campuslizenz |
title_full |
Using OpenMP - the next step affinity, accelerators, tasking, and SIMD Ruud van der Pas, Eric Stotzer, and Christian Terboven |
author_sort |
Pas, Ruud van der |
callnumber-first-code |
- |
lang_code |
eng |
selektneu_str_mv |
370@2021.12.01 |
isOA_bool |
false |
recordtype |
marc |
publishDateSort |
2017 |
contenttype_str_mv |
txt |
author_browse |
Pas, Ruud van der Stotzer, Eric Terboven, Christian |
selectkey |
22:z 23:z 62:z 370:z 2015:l |
physical |
1 Online-Ressource (xxi, 365 Seiten) |
format_se |
Elektronische Bücher |
author-letter |
Pas, Ruud van der |
title_sub |
affinity, accelerators, tasking, and SIMD |
normlink |
137238975 69497255X 348611404 1154969533 1016283725 501344446 1078473412 838764835 451545192 2021.12.01 |
normlink_prefix_str_mv |
(DE-588)137238975 (DE-627)69497255X (DE-576)348611404 (DE-588)1154969533 (DE-627)1016283725 (DE-576)501344446 (DE-588)1078473412 (DE-627)838764835 (DE-576)451545192 2021.12.01 |
author2-role |
verfasserin |
title_sort |
using openmp - the next stepaffinity, accelerators, tasking, and simd |
title_auth |
Using OpenMP - the next step affinity, accelerators, tasking, and SIMD |
abstract |
Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index |
abstractGer |
Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index |
abstract_unstemmed |
Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List. 3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks 5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management 7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index |
collection_details |
ZDB-30-PQE ZDB-37-IEM GBV_ILN_22 ISIL_DE-18 SYSFLAG_1 GBV_KXP GBV_ILN_22_i22818 GBV_ILN_23 ISIL_DE-830 GBV_ILN_62 ISIL_DE-28 GBV_ILN_370 ISIL_DE-1373 GBV_ILN_2015 ISIL_DE-93 |
title_short |
Using OpenMP - the next step |
url |
https://ieeexplore.ieee.org/book/8169743 https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028 |
ausleihindikator_str_mv |
22 23 62:s 370 2015:p |
rolewithnormlink_str_mv |
@@aut@@(DE-588)137238975 @@aut@@(DE-588)1154969533 @@aut@@(DE-588)1078473412 |
remote_bool |
true |
author2 |
Stotzer, Eric Terboven, Christian |
author2Str |
Stotzer, Eric Terboven, Christian |
GND_str_mv |
Van der Pas, Ruud VanderPas, Ruud Der Pas, Ruud van Pas, Ruud van der Stotzer, Eric Terboven, C. Terboven, Christian |
GND_txt_mv |
Van der Pas, Ruud VanderPas, Ruud Der Pas, Ruud van Pas, Ruud van der Stotzer, Eric Terboven, C. Terboven, Christian |
GND_txtF_mv |
Van der Pas, Ruud VanderPas, Ruud Der Pas, Ruud van Pas, Ruud van der Stotzer, Eric Terboven, C. Terboven, Christian |
mediatype_str_mv |
c |
isOA_txt |
false |
hochschulschrift_bool |
false |
callnumber-a |
--%%-- |
up_date |
2024-07-04T23:58:21.422Z |
_version_ |
1803694900695269376 |
fullrecord_marcxml |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01000cam a2200265 4500</leader><controlfield tag="001">1654552275</controlfield><controlfield tag="003">DE-627</controlfield><controlfield tag="005">20220727014424.0</controlfield><controlfield tag="007">cr uuu---uuuuu</controlfield><controlfield tag="008">180717s2017 xx |||||o 00| ||eng c</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780262344012</subfield><subfield code="9">978-0-262-34401-2</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627)1654552275</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-576)50766146X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BSZ50766146X</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1085383369</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1047885625</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-627</subfield><subfield code="b">ger</subfield><subfield code="c">DE-627</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1=" " ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Pas, Ruud van der</subfield><subfield code="e">verfasserin</subfield><subfield code="0">(DE-588)137238975</subfield><subfield code="0">(DE-627)69497255X</subfield><subfield code="0">(DE-576)348611404</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Using OpenMP - the next step</subfield><subfield code="b">affinity, accelerators, tasking, and SIMD</subfield><subfield code="c">Ruud van der Pas, Eric Stotzer, and Christian Terboven</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Cambridge, Massachusetts</subfield><subfield code="a">London</subfield><subfield code="b">The MIT Press</subfield><subfield code="c">[2017]</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2017</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource (xxi, 365 Seiten)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">Text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">Computermedien</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">Online-Ressource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Scientific and engineering computation</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Intro -- Contents -- Series Foreword -- Foreword -- Preface -- 1 A Recap of OpenMP 2.5 -- 1.1 OpenMP Directives and Syntax -- 1.2 Creating a Parallel Program with OpenMP -- 1.2.1 The Parallel Region -- 1.2.2 The OpenMP Execution Model -- 1.2.3 The OpenMP Memory Model -- 1.3 The Worksharing Constructs -- 1.3.1 The Loop Construct -- 1.3.2 The Sections Construct -- 1.3.3 The Single Construct -- 1.3.4 The Fortran Workshare Construct -- 1.3.5 The Combined Worksharing Constructs -- 1.4 The Master Construct -- 1.5 Nested Parallelism -- 1.6 Synchronization Constructs -- 1.6.1 The Barrier Construct -- 1.6.2 The Critical Construct -- 1.6.3 The Atomic Construct -- 1.6.4 The Ordered Construct -- 1.7 The OpenMP 2.5 Environment Variables -- 1.8 The OpenMP 2.5 Runtime Functions -- 1.9 Internal Control Variables in OpenMP -- 1.10 Concluding Remarks -- 2 New Features in OpenMP -- 2.1 Enhancements to Existing Constructs -- 2.1.1 The Schedule Clause -- 2.1.2 The If Clause -- 2.1.3 The Collapse Clause -- 2.1.4 The Linear Clause -- 2.1.5 The Critical Construct -- 2.1.6 The Atomic Construct -- 2.2 New Environment Variables -- 2.3 New Runtime Functions -- 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism -- 2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity -- 2.3.3 Runtime Functions for Locking -- 2.3.4 Runtime Functions for Heterogeneous Systems -- 2.3.5 Usage Examples of the New Runtime Functions -- 2.4 New Functionality -- 2.4.1 Changed Ownership of Locks -- 2.4.2 Cancellation -- 2.4.3 User-Defined Reduction -- 2.4.4 The Doacross Loop -- 2.5 Concluding Remarks -- 3 Tasking -- 3.1 Hello Task -- 3.1.1 Parallelizing a Palindrome -- 3.1.2 Parallelizing a Sentence with a Palindrome -- 3.1.3 Closing Comments on the Palindrome Example -- 3.2 Using Tasks to Parallelize a Linked List.</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">3.2.1 The Sequential Version of the Linked List Program -- 3.2.2 The Parallel Version of the Linked List Program -- 3.2.3 Closing Comments on the Linked List Example -- 3.3 Sorting Things Out with Tasks -- 3.3.1 The Sequential Quicksort Algorithm -- 3.3.2 The OpenMP Quicksort Algorithm -- 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm -- 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm -- 3.4 Overlapping I/O and Computations Using Tasks -- 3.4.1 Using Tasks and Task Dependences -- 3.4.2 Using the Taskloop Construct -- 3.4.3 Closing Comments on the Pipeline Example -- 3.5 The Data Environment with Tasks -- 3.6 What is a Task? -- 3.7 Task Creation, Synchronization, and Scheduling -- 3.8 The Taskloop Construct -- 3.9 Concluding Remarks -- 4 Thread A nity -- 4.1 The Characteristics of a cc-NUMA Architecture -- 4.2 First Touch Data Placement -- 4.2.1 The Pros and Cons of First Touch Data Placement -- 4.2.2 How to Exploit the First Touch Policy -- 4.3 The Need for Thread A nity Support -- 4.4 The OpenMP Thread A nity Philosophy -- 4.5 The OpenMP Places Concept -- 4.5.1 Defining OpenMP Places Using Sets with Numbers -- 4.5.2 The OpenMP Place List -- 4.5.3 Defining OpenMP Places Using Abstract Names -- 4.5.4 How to Define the OpenMP Place List -- 4.6 Mapping Threads onto OpenMP Places -- 4.6.1 The Master A nity Policy -- 4.6.2 The Close A nity Policy -- 4.6.3 The Spread A nity Policy -- 4.6.4 What's in a Name? -- 4.7 Making it Easier to Use the Thread Affi nity Policies -- 4.7.1 The Sockets Abstract Place List -- 4.7.2 The Cores Abstract Place List -- 4.7.3 The Threads Abstract Place List -- 4.8 Where Are My Threads Running? -- 4.8.1 Affi nity Examples for a Single-Level Parallel Region -- 4.8.2 Affi nity Examples for a Nested Parallel Region -- 4.8.3 Making Things Easier Again -- 4.8.4 Moving Threads Around -- 4.9 Concluding Remarks</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">5 SIMD - Single Instruction Multiple Data -- 5.1 An Introduction to SIMD Parallelism -- 5.2 SIMD loops -- 5.2.1 The Simd Construct -- 5.2.2 The Simdlen Clause -- 5.2.3 The Safelen Clause -- 5.2.4 The Linear Clause -- 5.2.5 The Aligned Clause -- 5.2.6 The Composite Loop SIMD Construct -- 5.2.7 Use of the Simd Construct with the Ordered Construct -- 5.3 SIMD Functions -- 5.3.1 The Declare Simd Directive -- 5.3.2 SIMD Function Parameter Attributes -- 5.3.3 Conditional Calls to SIMD Functions -- 5.3.4 Multiple Versions of a SIMD Function -- 5.4 Concluding Remarks -- 6 Heterogeneous Architectures -- 6.1 Devices and Accelerators -- 6.2 Heterogeneous Program Execution -- 6.2.1 A New Initial Thread -- 6.2.2 Contention Groups -- 6.2.3 A League of Teams -- 6.2.4 The Target Task -- 6.3 Heterogeneous Memory Model -- 6.3.1 Mapped Variables -- 6.3.2 Device Data Environments -- 6.3.3 Device Pointers -- 6.3.4 Array Sections -- 6.4 The Target Construct -- 6.5 The Target Teams Construct -- 6.5.1 The Distribute Construct -- 6.5.2 Combined and Composite Accelerated Worksharing Constructs -- 6.6 Data Mapping Clauses -- 6.6.1 The Map Clause -- 6.6.2 Mapping Structure Members -- 6.6.3 The Defaultmap Clause and Data-mapping Attributes -- 6.6.4 Pointers and Zero-length Array Sections -- 6.7 The Declare Target Directive -- 6.8 The Data-mapping Constructs -- 6.8.1 The Target Data Construct -- 6.8.2 The Target Update Construct -- 6.8.3 The Target Enter and Exit Data Constructs -- 6.9 The Nowait Clause on Device Constructs -- 6.10 Selecting a Device -- 6.10.1 The Default Device and the Device Clause -- 6.10.2 The If Clause on Device Constructs -- 6.11 The Device Pointer Clauses -- 6.11.1 The Is_device_ptr Clause -- 6.11.2 The Use_device_ptr Clause -- 6.12 Device Memory Functions -- 6.13 Concluding Remarks -- 7 What is Next? -- 7.1 Memory Management</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">7.2 Heterogeneous Architectures -- Glossary -- References -- Subject Index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Application program interfaces (Computer software)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Parallel programming (Computer science)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Electronic books</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Stotzer, Eric</subfield><subfield code="e">verfasserin</subfield><subfield code="0">(DE-588)1154969533</subfield><subfield code="0">(DE-627)1016283725</subfield><subfield code="0">(DE-576)501344446</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Terboven, Christian</subfield><subfield code="e">verfasserin</subfield><subfield code="0">(DE-588)1078473412</subfield><subfield code="0">(DE-627)838764835</subfield><subfield code="0">(DE-576)451545192</subfield><subfield code="4">aut</subfield></datafield><datafield tag="776" ind1="1" ind2=" "><subfield code="z">9780262534789</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="z">9780262534789</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://ieeexplore.ieee.org/book/8169743</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://ebookcentral.proquest.com/lib/kxp/detail.action?docID=5340028</subfield><subfield code="m">X:EBC</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-PQE</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-37-IEM</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_22</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-18</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">SYSFLAG_1</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_KXP</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_22_i22818</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_23</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-830</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_62</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-28</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_370</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-1373</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">GBV_ILN_2015</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ISIL_DE-93</subfield></datafield><datafield tag="951" ind1=" " ind2=" "><subfield code="a">BO</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="b">3793968375</subfield><subfield code="h">olrm-h228-ebc</subfield><subfield code="k">Campuslizenz Universität Hamburg. - Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt.</subfield><subfield code="k">Benutzungshinweise zu E-Books siehe Website der Informatik-Bibliothek.</subfield><subfield code="y">zi22818</subfield><subfield code="z">09-11-20</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">23</subfield><subfield code="1">01</subfield><subfield code="x">0830</subfield><subfield code="b">3542593680</subfield><subfield code="h">olr-MIT</subfield><subfield code="u">i</subfield><subfield code="y">z</subfield><subfield code="z">19-11-19</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">62</subfield><subfield code="1">01</subfield><subfield code="x">0028</subfield><subfield code="b">3601569027</subfield><subfield code="c">00</subfield><subfield code="f">--%%--</subfield><subfield code="d">--%%--</subfield><subfield code="e">s</subfield><subfield code="j">--%%--</subfield><subfield code="h">OLR-MIT</subfield><subfield code="k">Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Die Weitergabe an Dritte sowie systematisches Downloaden sind untersagt.</subfield><subfield code="y">z</subfield><subfield code="z">02-03-20</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">370</subfield><subfield code="1">01</subfield><subfield code="x">4370</subfield><subfield code="b">4011219142</subfield><subfield code="h">olr-ebook mitieee</subfield><subfield code="k">Vervielfältigungen (z.B. Kopien, Downloads) sind nur von einzelnen Kapiteln oder Seiten und nur zum eigenen wissenschaftlichen Gebrauch erlaubt. Keine Weitergabe an Dritte. Kein systematisches Downloaden durch Robots.</subfield><subfield code="u">i</subfield><subfield code="y">z</subfield><subfield code="z">01-12-21</subfield></datafield><datafield tag="980" ind1=" " ind2=" "><subfield code="2">2015</subfield><subfield code="1">01</subfield><subfield code="x">DE-93</subfield><subfield code="b">3374188079</subfield><subfield code="c">00</subfield><subfield code="f">--%%--</subfield><subfield code="d">--%%--</subfield><subfield code="e">p</subfield><subfield code="j">--%%--</subfield><subfield code="k">Campuslizenz</subfield><subfield code="y">l01</subfield><subfield code="z">17-07-18</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="y">Volltextzugang Campus</subfield><subfield code="r">http://ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="y">Volltextzugang von außerhalb des Campus</subfield><subfield code="r">http://emedien.sub.uni-hamburg.de/han/proquest-ebook-central/ebookcentral.proquest.com/lib/subhh/detail.action?docID=5340028</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">23</subfield><subfield code="1">01</subfield><subfield code="x">0830</subfield><subfield code="y">MIT Press EBook</subfield><subfield code="r">https://ieeexplore.ieee.org/book/8169743</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">62</subfield><subfield code="1">01</subfield><subfield code="x">0028</subfield><subfield code="r">https://ieeexplore.ieee.org/book/8169743</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">370</subfield><subfield code="1">01</subfield><subfield code="x">4370</subfield><subfield code="y">E-Book: Zugriff im HCU-Netz. Zugriff von außerhalb nur für HCU-Angehörige möglich</subfield><subfield code="r">https://ieeexplore.ieee.org/book/8169743</subfield></datafield><datafield tag="981" ind1=" " ind2=" "><subfield code="2">2015</subfield><subfield code="1">01</subfield><subfield code="x">DE-93</subfield><subfield code="r">https://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=8169743</subfield></datafield><datafield tag="985" ind1=" " ind2=" "><subfield code="2">23</subfield><subfield code="1">01</subfield><subfield code="x">0830</subfield><subfield code="a">2018-01805, 2018-01806, 2018-01808</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="a">olrm-h228-ebc</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="a">ILNemk</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">22</subfield><subfield code="1">01</subfield><subfield code="x">0018</subfield><subfield code="a">ACQ</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">23</subfield><subfield code="1">01</subfield><subfield code="x">0830</subfield><subfield code="a">olr-MIT</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">62</subfield><subfield code="1">01</subfield><subfield code="x">0028</subfield><subfield code="a">OLR-MIT</subfield></datafield><datafield tag="995" ind1=" " ind2=" "><subfield code="2">370</subfield><subfield code="1">01</subfield><subfield code="x">4370</subfield><subfield code="a">olr-ebook mitieee</subfield></datafield><datafield tag="998" ind1=" " ind2=" "><subfield code="2">370</subfield><subfield code="1">01</subfield><subfield code="x">4370</subfield><subfield code="0">2021.12.01</subfield></datafield></record></collection>
|
score |
7.399455 |