Details

Data Parallel C++


Data Parallel C++

Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL

von: James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian

CHF 59.00

Verlag: Apress
Format: PDF
Veröffentl.: 02.11.2020
ISBN/EAN: 9781484255742
Sprache: englisch

Dieses eBook enthält ein Wasserzeichen.

Beschreibungen

<p>Learn how to accelerate C++ programs using data parallelism. This open access book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.&nbsp;</p>

<p>Data parallelism in C++ enables access to parallel resources in a modern heterogeneous system, freeing you from being locked into any particular computing device. Now a single C++ application can use any combination of devices—including GPUs, CPUs, FPGAs and AI ASICs—that are suitable to the problems at hand.</p>This book begins by introducing data parallelism and foundational topics for effective use of the SYCL standard from the Khronos Group&nbsp;and Data Parallel C++ (DPC++), the open source compiler used in this book.&nbsp; Later chapters cover advanced topics including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.<div><div><br></div><div><i>Data Parallel C++</i>&nbsp;provides you with everything needed to use SYCL for programming heterogeneous systems.<br></div><div> <p><b>What You'll Learn</b><br></p>

<ul><li>Accelerate C++ programs using data-parallel programming</li><li>Target multiple device types (e.g. CPU, GPU, FPGA)</li><li>Use SYCL and SYCL compilers&nbsp;</li><li>Connect with computing’s heterogeneous future via Intel’s oneAPI initiative</li></ul> <p><b>Who This Book Is For</b><br></p>

<p>Those new data-parallel programming and computer programmers interested in data-parallel programming using C++.</p><br></div></div>
<p>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: USM in detail.- Chapter 7: Buffers in detail.- Chapter 8: DAG scheduling in detail.- Chapter 9: Local memory and work-group barriers.- Chapter 10: Defining kernels.- Chapter 11: Vectors.- Chapter 12: Device-specific extension mechanism.- Chapter 13: Programming for GPUs.- Chapter 14: Programming for CPUs.- Chapter 15: Programming for FPGAs.-&nbsp;Chapter 16: Address spaces and multi_ptr.- Chapter 17: Using libraries.- Chapter 18: Working with OpenCL.- Chapter 19: Memory model and atomics.</p>
James Reinders is a consultant with more than three decades experience in Parallel Computing, and is an author/co-author/editor of nine technical books related to parallel programming.&nbsp; He has had the great fortune to help make key contributions to two of the world's fastest computers (#1 on Top500 list) as well as many other supercomputers, and software developer tools. James finished 10,001 days (over 27 years) at Intel in mid-2016, and now continues to write, teach, program, and do consulting in areas related to parallel computing (HPC and AI).&nbsp;&nbsp;<br><div><br></div><div>&nbsp; &nbsp; &nbsp;</div>
<p><p>Learn how to accelerate C++ programs using data parallelism. </p>

<p>Data parallelism in C++ enables access to parallel resources in a modern heterogeneous system, freeing you from being locked into any particular computing device. Now a single C++ application can use any combination of devices—including GPUs, CPUs, FPGAs and AI ASICs—that are suitable to the problems at hand.</p>

<p>This open access book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.</p>

<p>This book teaches data-parallel programming using C++ and the SYCL standard from the Khronos Group and walks through everything needed to use SYCL for programming heterogeneous systems.&nbsp; The book begins by introducing data parallelism and foundational topics for effective use of SYCL and Data Parallel C++ (DPC++), the open source compiler used in this book. Later chapters cover advanced topics including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.</p>

<p>You will learn:</p>

<p>• How to accelerate C++ programs using data-parallel programming</p>

<p>• How to target multiple device types (e.g. CPU, GPU, FPGA)</p>

<p>• How to use SYCL and SYCL compilers</p>

<p>• How to connect with computing’s heterogeneous future via Intel’s oneAPI initiative</p><br></p>
Learn heterogenous programming for CPU, GPU, FPGA, ASIC, etc. Gain a vision for the future of parallel programming support in C++ Program with industrial strength implementations of SYCL, with extensions

Diese Produkte könnten Sie auch interessieren:

Software Process Modeling
Software Process Modeling
von: Silvia T. Acuna, Natalia Juristo
PDF ebook
CHF 118.00
A Software Process Model Handbook for Incorporating People's Capabilities
A Software Process Model Handbook for Incorporating People's Capabilities
von: Silvia T. Acuna, Natalia Juristo, Ana Maria Moreno, Alicia Mon
PDF ebook
CHF 177.00
XML for Bioinformatics
XML for Bioinformatics
von: Ethan Cerami
PDF ebook
CHF 59.00