FreeComputerBooks.com
Links to Free Computer, Mathematics, Technical Books all over the World
|
|
- Title: Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
- Author(s) James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian
- Publisher: Apress; 1st ed. edition (November 3, 2020); eBook (Creative Commons Licensed)
- License(s): CC BY 4.0
- Paperback: 574 pages
- eBook: PDF (565 pages) and ePub
- Language: English
- ISBN-10: 1484255739
- ISBN-13: 978-1484255735
- Share This:
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
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.
This book begins by introducing data parallelism and foundational topics for effective use of the SYCL standard from the Khronos Group 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
This book is for those new data-parallel programming and computer programmers interested in data-parallel programming using C++. It provides you with everything needed to use SYCL for programming heterogeneous systems.
- Accelerate C++ programs using data-parallel programming
- Target multiple device types (e.g. CPU, GPU, FPGA)
- Use SYCL and SYCL compilers
- Connect with computing's heterogeneous future via Intel's oneAPI initiative
- 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.
- Data Parallel C++: Mastering DPC++ for Programming using C++ and SYCL (James Reinders, et al)
- The Mirror Site (1) - PDF
-
Data Parallel C++, 2nd Edition: Programming C++ and SYCL
Learn how to accelerate C++ programs using Data Parallelism and SYCL. Enables C++ programmers to be at the forefront of this exciting and important development that is helping to push computing to new levels.
-
Pro TBB: C++ Parallel Programming with Threading Building Blocks
This book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). It presents numerous examples and best practices to help you become an effective TBB programmer and leverage the power of parallel systems.
-
Parallel Programming with CUDA: Architecture, Analysis, Application
This book offers a detailed guide to CUDA with a grounding in parallel fundamentals. With CUDA, you can use a desktop PC for work that would have previously required a large cluster of PCs or access to a High-Performance Computing (HPC) facility.
-
Parallel Scientific Computing in C++ and MPI: Algorithms
This book provides a seamless approach to numerical algorithms, modern programming techniques and parallel computing, includes both basic and advanced topics and places equal emphasis on the discretization of partial differential equations and on solvers.
-
Parallel Programming in MPI and OpenMP (Victor Eijkhout)
This is a textbook about parallel programming of scientific application on large computers, learn how to design, analyze, implement, and benchmark parallel programs in C/C++ and Fortran using Message Passing Interface (MPI) and/or OpenMP.
-
Is Parallel Programming Hard? If So, What Can You Do About It?
It examines what makes parallel programming hard, and describes design techniques that can help you avoid many parallel-programming pitfalls. It is primarily intended for low-level C/C++ code, but offers valuable lessons for other environments as well.
-
Parallel and Distributed Programming Using C++ (C. Hughes)
This book provides an up-close look at how to build software that can take advantage of multiprocessor computers. Simple approaches for programming parallel virtual machines are presented, and the basics of cluster application development are explained.
-
Programming on Parallel Machines: GPU, Multicore, Clusters, etc.
The main goal of the book is to present parallel programming techniques that can be used in many situations for many application areas and which enable the reader to develop correct and efficient parallel programs.
-
Introduction to Parallel Computing (Blaise Barney)
This book explains how to design, debug, and evaluate the performance of distributed and shared-memory programs. It teaches students how to compile, run and modify example programs. It is a complete end-to-end source of information on almost all aspects.
-
The Practice of Parallel Programming (Sergey A. Babkin)
This book provides an advanced guide to the issues of the parallel and multithreaded programming. It goes beyond the high-level design of the applications, into the details that are often overlooked but vital to make the programs work.
-
Parallel Algorithms (Henri Casanova, et al)
Focusing on algorithms for distributed-memory parallel architectures, the book extracts fundamental ideas and algorithmic principles from the mass of parallel algorithm expertise and practical implementations developed over the last few decades.
-
PVM: Parallel Virtual Machine - Network Parallel Computing
Written by the team that developed the software, this tutorial is the definitive resource for scientists, engineers, and other computer users who want to use PVM to increase the flexibility and power of their high-performance computing resources.
:
|
|