50,40 €
Versandkostenfrei per Post / DHL
Lieferzeit 4-7 Werktage
Learn how to accelerate C++ programs using data parallelism and SYCL.
This open access book enables C++ programmers to be at the forefront of this exciting and important development that is helping to push computing to new levels. This updated second edition is full of practical advice, detailed explanations, and code examples to illustrate key topics.
This book teaches data-parallel programming using C++ with SYCL and walks through everything needed to program accelerated systems. The book begins by introducing data parallelism and foundational topics for effective use of SYCL. Later chapters cover advanced topics, including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.
All source code for the examples used in this book is freely available on GitHub. The examples are written in modern SYCL and are regularly updated to ensure compatibility with multiple compilers.
Accelerate C++ programs using data-parallel programming
Use SYCL and C++ compilers that support SYCL
Write portable code for accelerators that is vendor and device agnostic
Optimize code to improve performance for specific accelerators
Be poised to benefit as new accelerators appear from many vendors
New data-parallel programming and computer programmers interested in data-parallel programming using C++
This is an open access book.
Learn how to accelerate C++ programs using data parallelism and SYCL.
This open access book enables C++ programmers to be at the forefront of this exciting and important development that is helping to push computing to new levels. This updated second edition is full of practical advice, detailed explanations, and code examples to illustrate key topics.
This book teaches data-parallel programming using C++ with SYCL and walks through everything needed to program accelerated systems. The book begins by introducing data parallelism and foundational topics for effective use of SYCL. Later chapters cover advanced topics, including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.
All source code for the examples used in this book is freely available on GitHub. The examples are written in modern SYCL and are regularly updated to ensure compatibility with multiple compilers.
Accelerate C++ programs using data-parallel programming
Use SYCL and C++ compilers that support SYCL
Write portable code for accelerators that is vendor and device agnostic
Optimize code to improve performance for specific accelerators
Be poised to benefit as new accelerators appear from many vendors
New data-parallel programming and computer programmers interested in data-parallel programming using C++
This is an open access book.
James Brodman is a Principal Engineer at Intel Corporation, working on runtimes and compilers for parallel programming, and he is one of the architects of DPC++. He has a PhD in Computer Science from the University of Illinois at Urbana-Champaign.
Michael Kinsner is a Principal Engineer at Intel Corporation, developing parallel programming languages and compilers for a variety of architectures. He contributes extensively to spatial architectures and programming models and is an Intel representative within The Khronos Group where he works on the SYCL and OpenCL industry standards for parallel programming. He has a PhD in Computer Engineering from McMaster University and is passionate about programming models that cross architectures while still enabling performance.
John Pennycook is a Software Enabling and Optimization Architect at Intel Corporation, focused on enabling developers to fully utilize the parallelism available in modern processors. He is experienced in optimizing and parallelizing applications from a range of scientific domains, and previously served as Intel's representative on the steering committee for the Intel eXtreme Performance User's Group (IXPUG). He has a PhD in Computer Science from the University of Warwick. His research interests are varied, but a recurring theme is the ability to achieve application "performance portability" across different hardware architectures.
Xinmin Tian is an Intel Fellow and Compiler Architect at Intel Corporation and serves as Intel's representative on OpenMP Architecture Review Board (ARB). He has been driving OpenMP offloading, vectorization, and parallelization compiler technologies for Intel architectures. His current focus is on LLVM-based OpenMP offloading, SYCL/DPC++ compiler optimizations for CPUs/GPUs, and tuning HPC/AI application performance. He has a PhD in Computer Science from Tsinghua University, holds 27 US patents, has published over 60 technical papers with over 1300+ citations of his work, and has co-authored two books that span his expertise.
Teaches heterogenous programming for CPU, GPU, FPGA, ASIC, etc.
Presents a vision for the future of parallel programming support in C++
Shows you how to program with industrial strength implementations of SYCL, with extensions
This book is open access, which means that you have free and unlimited access.
Chapter 1: Introduction.- Chapter 2: Where Code Executes.- Chapter 3: Data Management and Ordering the Uses of Data.- Chapter 4: Expressing Parallelism.- Chapter 5: Error Handling.- Chapter 6: Unified Shared Memory.- Chapter 7: Buffers.- Chapter 8: Scheduling Kernels and Data Movement.- Chapter 9: Local Memory and Work-group Barriers.- Chapter 10: Defining Kernels.- Chapter 11: Vector and Math Arrays.- Chapter 12: Device Information and Kernel Specialization.- Chapter 13: Practical Tips.- Chapter 14: Common Parallel Patterns.- Chapter 15: Programming for GPUs.- Chapter 16: Programming for CPUs.- Chapter 17: Programming for FFGAs.- Chapter 18: Libraries.- Chapter 19: Memory Model and Atomics.- Chapter 20: Backend Interoperability.- Chapter 21: Migrating CUDA Code.- Epilogue.
| Erscheinungsjahr: | 2023 |
|---|---|
| Fachbereich: | Programmiersprachen |
| Genre: | Importe, Informatik |
| Rubrik: | Naturwissenschaften & Technik |
| Medium: | Taschenbuch |
| Inhalt: |
xxx
630 S. 35 s/w Illustr. 294 farbige Illustr. 630 p. 329 illus. 294 illus. in color. |
| ISBN-13: | 9781484296905 |
| ISBN-10: | 1484296907 |
| Sprache: | Englisch |
| Einband: | Kartoniert / Broschiert |
| Autor: |
Reinders, James
Ashbaugh, Ben Brodman, James Kinsner, Michael Pennycook, John Tian, Xinmin |
| Auflage: | Second Edition |
| Hersteller: | Apress |
| Verantwortliche Person für die EU: | APress in Springer Science + Business Media, Heidelberger Platz 3, D-14197 Berlin, juergen.hartmann@springer.com |
| Maße: | 235 x 155 x 36 mm |
| Von/Mit: | James Reinders (u. a.) |
| Erscheinungsdatum: | 04.10.2023 |
| Gewicht: | 0,984 kg |