• Complain

James Reinders - Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL

Here you can read online James Reinders - Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. publisher: Apress, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

James Reinders Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL

Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

James Reinders: author's other books


Who wrote Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL? Find out the surname, the name of the author of the book and a list of all author's works by series.

Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Contents
Landmarks
James Reinders Ben Ashbaugh James Brodman Michael Kinsner John - photo 1
James Reinders , Ben Ashbaugh , James Brodman , Michael Kinsner , John Pennycook and Xinmin Tian
Data Parallel C++
Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
1st ed.
James Reinders Beaverton OR USA Ben Ashbaugh Folsom CA USA James - photo 2
James Reinders
Beaverton, OR, USA
Ben Ashbaugh
Folsom, CA, USA
James Brodman
Marlborough, MA, USA
Michael Kinsner
Halifax, NS, Canada
John Pennycook
San Jose, CA, USA
Xinmin Tian
Fremont, CA, USA

Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the books product page, located at www.apress.com/978-1-4842-5573-5 . For more detailed information, please visit http://www.apress.com/source-code .

ISBN 978-1-4842-5573-5 e-ISBN 978-1-4842-5574-2
https://doi.org/10.1007/978-1-4842-5574-2
This book is an open access publication.
Intel Corporation 2021
Open Access This book is licensed under the terms of the Creative Commons - photo 3

Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this book are included in the book's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the book's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Distributed to the book trade worldwide by Springer Science+Business Media New York, 1 NY Plaza, New York, NY 10004. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
Preface
This book is about programming for data parallelism using C If you are new - photo 4

This book is about programming for data parallelism using C++. If you are new to parallel programming, that is okay. If you have never heard of SYCL or the DPC++ compiler, that is also okay.

SYCL is an industry-driven Khronos standard adding data parallelism to C++ for heterogeneous systems. DPC++ is an open source compiler project that is based on SYCL, a few extensions, and broad heterogeneous support that includes GPU, CPU, and FPGA support. All examples in this book compile and work with DPC++ compilers.

If you are a C programmer who is not well versed in C++, you are in good company. Several of the authors of this book happily admit that we picked up C++ by reading books that used C++ like this one. With a little patience, this book should be approachable by C programmers with a desire to write modern C++ programs.

Continuing to Evolve

When this book project began in 2019, our vision for fully supporting C++ with data parallelism required a number of extensions beyond the then-current SYCL 1.2.1 standard. These extensions, supported by the DPC++ compiler, included support for Unified Shared Memory (USM), sub-groups to complete a three-level hierarchy throughout SYCL, anonymous lambdas, and numerous programming simplifications.

At the time that this book is being published (late 2020), a provisional SYCL 2020 specification is available for public comment. The provisional specification includes support for USM, sub-groups, anonymous lambdas, and simplifications for coding (akin to C++17 CTAD). This book teaches SYCL with extensions to approximate where SYCL will be in the future. These extensions are implemented in the DPC++ compiler project. While we expect changes to be small compared to the bulk of what this book teaches, there will be changes with SYCL as the community helps refine it. Important resources for updated information include the book GitHub and errata that can be found from the web page for this book ( www.apress.com/9781484255735 ), as well as the oneAPI DPC++ language reference ( tinyurl.com/dpcppref ).

The evolution of SYCL and DPC++ continues. Prospects for the future are discussed in the Epilogue, after we have taken a journey together to learn how to use DPC++ to create programs for heterogeneous systems using SYCL.

It is our hope that our book supports and helps grow the SYCL community, and helps promote data-parallel programming in C++.

Structure of This Book

It is hard to leap in and explain everything at once. In fact, it is impossible as far as we know. Therefore, this book is a journey that takes us through what we need to know to be an effective programmer with Data Parallel C++.

Chapter lays the first foundation by covering core concepts that are either new or worth refreshing in our minds.

Chapters build on each other, and are best read in order.

Chapters fill in important details by building on each other to some degree - photo 5

Chapters fill in important details by building on each other to some degree while being easy to jump between if desired. The book concludes with an Epilogue that discusses likely and possible future directions for Data Parallel C++.

We wish you the best as you learn to use SYCL and DPC++.

James Reinders

Ben Ashbaugh

James Brodman

Michael Kinsner

John Pennycook

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL»

Look at similar books to Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL»

Discussion, reviews of the book Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.