Data parallel C++: mastering DPC++ for programming of heterogeneous systems using C++ and SYCL
Learn how to accelerate C++ programs using data parallelism. 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 G...
Gespeichert in:
Beteiligte Personen: | , , , , , |
---|---|
Format: | Elektronisch E-Book |
Sprache: | Englisch |
Veröffentlicht: |
New York, NY
Apress
[2020]
|
Schlagwörter: | |
Links: | https://learning.oreilly.com/library/view/-/9781484255742/?ar |
Zusammenfassung: | Learn how to accelerate C++ programs using data parallelism. 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 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. 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. 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. You will learn: " How to accelerate C++ programs using data-parallel programming " How to target multiple device types (e.g. CPU, GPU, FPGA) " How to use SYCL and SYCL compilers " How to connect with computing's heterogeneous future via Intel's oneAPI initiative |
Beschreibung: | Includes index. - Online resource; title from digital title page (viewed on December 16, 2020) |
Umfang: | 1 Online-Ressource (xxvi, 548 Seiten) illustrations (some color) |
ISBN: | 9781484255742 1484255747 |
Zugangsbedingungen: | Open access |
Internformat
MARC
LEADER | 00000cam a22000002 4500 | ||
---|---|---|---|
001 | ZDB-30-ORH-077853008 | ||
003 | DE-627-1 | ||
005 | 20240228121210.0 | ||
007 | cr uuu---uuuuu | ||
008 | 220513s2020 xx |||||o 00| ||eng c | ||
020 | |a 9781484255742 |c electronic book |9 978-1-4842-5574-2 | ||
020 | |a 1484255747 |c electronic book |9 1-4842-5574-7 | ||
035 | |a (DE-627-1)077853008 | ||
035 | |a (DE-599)KEP077853008 | ||
035 | |a (ORHE)9781484255742 | ||
035 | |a (DE-627-1)077853008 | ||
040 | |a DE-627 |b ger |c DE-627 |e rda | ||
041 | |a eng | ||
072 | 7 | |a UMX |2 bicssc | |
072 | 7 | |a COM051010 |2 bisacsh | |
082 | 0 | |a 004.35 |2 23 | |
100 | 1 | |a Reinders, James |e VerfasserIn |4 aut | |
245 | 1 | 0 | |a Data parallel C++ |b mastering DPC++ for programming of heterogeneous systems using C++ and SYCL |c James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian |
264 | 1 | |a New York, NY |b Apress |c [2020] | |
300 | |a 1 Online-Ressource (xxvi, 548 Seiten) |b illustrations (some color) | ||
336 | |a Text |b txt |2 rdacontent | ||
337 | |a Computermedien |b c |2 rdamedia | ||
338 | |a Online-Ressource |b cr |2 rdacarrier | ||
500 | |a Includes index. - Online resource; title from digital title page (viewed on December 16, 2020) | ||
506 | |a Open access | ||
520 | |a Learn how to accelerate C++ programs using data parallelism. 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 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. 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. 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. You will learn: " How to accelerate C++ programs using data-parallel programming " How to target multiple device types (e.g. CPU, GPU, FPGA) " How to use SYCL and SYCL compilers " How to connect with computing's heterogeneous future via Intel's oneAPI initiative | ||
650 | 0 | |a Heterogeneous computing | |
650 | 0 | |a C++ (Computer program language) | |
650 | 0 | |a OpenCL (Computer program language) | |
650 | 4 | |a Calcul hétérogène | |
650 | 4 | |a C++ (Langage de programmation) | |
650 | 4 | |a OpenCL (Langage de programmation) | |
650 | 4 | |a C++ (Computer program language) | |
650 | 4 | |a Heterogeneous computing | |
650 | 4 | |a OpenCL (Computer program language) | |
700 | 1 | |a Ashbaugh, Ben |e VerfasserIn |4 aut | |
700 | 1 | |a Brodman, James |e VerfasserIn |4 aut | |
700 | 1 | |a Kinsner, Michael |e VerfasserIn |4 aut | |
700 | 1 | |a Pennycook, John |e VerfasserIn |4 aut | |
700 | 1 | |a Tian, Xinmin |e VerfasserIn |4 aut | |
776 | 1 | |z 1484255739 | |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |z 1484255739 |
966 | 4 | 0 | |l DE-91 |p ZDB-30-ORH |q TUM_PDA_ORH |u https://learning.oreilly.com/library/view/-/9781484255742/?ar |m X:ORHE |x Aggregator |z lizenzpflichtig |3 Volltext |
912 | |a ZDB-30-ORH | ||
912 | |a ZDB-30-ORH | ||
951 | |a BO | ||
912 | |a ZDB-30-ORH | ||
049 | |a DE-91 |
Datensatz im Suchindex
DE-BY-TUM_katkey | ZDB-30-ORH-077853008 |
---|---|
_version_ | 1821494822379192320 |
adam_text | |
any_adam_object | |
author | Reinders, James Ashbaugh, Ben Brodman, James Kinsner, Michael Pennycook, John Tian, Xinmin |
author_facet | Reinders, James Ashbaugh, Ben Brodman, James Kinsner, Michael Pennycook, John Tian, Xinmin |
author_role | aut aut aut aut aut aut |
author_sort | Reinders, James |
author_variant | j r jr b a ba j b jb m k mk j p jp x t xt |
building | Verbundindex |
bvnumber | localTUM |
collection | ZDB-30-ORH |
ctrlnum | (DE-627-1)077853008 (DE-599)KEP077853008 (ORHE)9781484255742 |
dewey-full | 004.35 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004.35 |
dewey-search | 004.35 |
dewey-sort | 14.35 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>03623cam a22005772 4500</leader><controlfield tag="001">ZDB-30-ORH-077853008</controlfield><controlfield tag="003">DE-627-1</controlfield><controlfield tag="005">20240228121210.0</controlfield><controlfield tag="007">cr uuu---uuuuu</controlfield><controlfield tag="008">220513s2020 xx |||||o 00| ||eng c</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781484255742</subfield><subfield code="c">electronic book</subfield><subfield code="9">978-1-4842-5574-2</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1484255747</subfield><subfield code="c">electronic book</subfield><subfield code="9">1-4842-5574-7</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627-1)077853008</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)KEP077853008</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ORHE)9781484255742</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627-1)077853008</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="072" ind1=" " ind2="7"><subfield code="a">UMX</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM051010</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004.35</subfield><subfield code="2">23</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Reinders, James</subfield><subfield code="e">VerfasserIn</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Data parallel C++</subfield><subfield code="b">mastering DPC++ for programming of heterogeneous systems using C++ and SYCL</subfield><subfield code="c">James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">New York, NY</subfield><subfield code="b">Apress</subfield><subfield code="c">[2020]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource (xxvi, 548 Seiten)</subfield><subfield code="b">illustrations (some color)</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="500" ind1=" " ind2=" "><subfield code="a">Includes index. - Online resource; title from digital title page (viewed on December 16, 2020)</subfield></datafield><datafield tag="506" ind1=" " ind2=" "><subfield code="a">Open access</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Learn how to accelerate C++ programs using data parallelism. 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 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. 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. 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. You will learn: " How to accelerate C++ programs using data-parallel programming " How to target multiple device types (e.g. CPU, GPU, FPGA) " How to use SYCL and SYCL compilers " How to connect with computing's heterogeneous future via Intel's oneAPI initiative</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Heterogeneous computing</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">C++ (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">OpenCL (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Calcul hétérogène</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">OpenCL (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Heterogeneous computing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">OpenCL (Computer program language)</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Ashbaugh, Ben</subfield><subfield code="e">VerfasserIn</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Brodman, James</subfield><subfield code="e">VerfasserIn</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Kinsner, Michael</subfield><subfield code="e">VerfasserIn</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Pennycook, John</subfield><subfield code="e">VerfasserIn</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Tian, Xinmin</subfield><subfield code="e">VerfasserIn</subfield><subfield code="4">aut</subfield></datafield><datafield tag="776" ind1="1" ind2=" "><subfield code="z">1484255739</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">1484255739</subfield></datafield><datafield tag="966" ind1="4" ind2="0"><subfield code="l">DE-91</subfield><subfield code="p">ZDB-30-ORH</subfield><subfield code="q">TUM_PDA_ORH</subfield><subfield code="u">https://learning.oreilly.com/library/view/-/9781484255742/?ar</subfield><subfield code="m">X:ORHE</subfield><subfield code="x">Aggregator</subfield><subfield code="z">lizenzpflichtig</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-ORH</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-ORH</subfield></datafield><datafield tag="951" ind1=" " ind2=" "><subfield code="a">BO</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-ORH</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91</subfield></datafield></record></collection> |
id | ZDB-30-ORH-077853008 |
illustrated | Illustrated |
indexdate | 2025-01-17T11:20:29Z |
institution | BVB |
isbn | 9781484255742 1484255747 |
language | English |
open_access_boolean | |
owner | DE-91 DE-BY-TUM |
owner_facet | DE-91 DE-BY-TUM |
physical | 1 Online-Ressource (xxvi, 548 Seiten) illustrations (some color) |
psigel | ZDB-30-ORH TUM_PDA_ORH ZDB-30-ORH |
publishDate | 2020 |
publishDateSearch | 2020 |
publishDateSort | 2020 |
publisher | Apress |
record_format | marc |
spelling | Reinders, James VerfasserIn aut Data parallel C++ mastering DPC++ for programming of heterogeneous systems using C++ and SYCL James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian New York, NY Apress [2020] 1 Online-Ressource (xxvi, 548 Seiten) illustrations (some color) Text txt rdacontent Computermedien c rdamedia Online-Ressource cr rdacarrier Includes index. - Online resource; title from digital title page (viewed on December 16, 2020) Open access Learn how to accelerate C++ programs using data parallelism. 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 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. 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. 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. You will learn: " How to accelerate C++ programs using data-parallel programming " How to target multiple device types (e.g. CPU, GPU, FPGA) " How to use SYCL and SYCL compilers " How to connect with computing's heterogeneous future via Intel's oneAPI initiative Heterogeneous computing C++ (Computer program language) OpenCL (Computer program language) Calcul hétérogène C++ (Langage de programmation) OpenCL (Langage de programmation) Ashbaugh, Ben VerfasserIn aut Brodman, James VerfasserIn aut Kinsner, Michael VerfasserIn aut Pennycook, John VerfasserIn aut Tian, Xinmin VerfasserIn aut 1484255739 Erscheint auch als Druck-Ausgabe 1484255739 |
spellingShingle | Reinders, James Ashbaugh, Ben Brodman, James Kinsner, Michael Pennycook, John Tian, Xinmin Data parallel C++ mastering DPC++ for programming of heterogeneous systems using C++ and SYCL Heterogeneous computing C++ (Computer program language) OpenCL (Computer program language) Calcul hétérogène C++ (Langage de programmation) OpenCL (Langage de programmation) |
title | Data parallel C++ mastering DPC++ for programming of heterogeneous systems using C++ and SYCL |
title_auth | Data parallel C++ mastering DPC++ for programming of heterogeneous systems using C++ and SYCL |
title_exact_search | Data parallel C++ mastering DPC++ for programming of heterogeneous systems using C++ and SYCL |
title_full | Data parallel C++ mastering DPC++ for programming of heterogeneous systems using C++ and SYCL James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian |
title_fullStr | Data parallel C++ mastering DPC++ for programming of heterogeneous systems using C++ and SYCL James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian |
title_full_unstemmed | Data parallel C++ mastering DPC++ for programming of heterogeneous systems using C++ and SYCL James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian |
title_short | Data parallel C++ |
title_sort | data parallel c mastering dpc for programming of heterogeneous systems using c and sycl |
title_sub | mastering DPC++ for programming of heterogeneous systems using C++ and SYCL |
topic | Heterogeneous computing C++ (Computer program language) OpenCL (Computer program language) Calcul hétérogène C++ (Langage de programmation) OpenCL (Langage de programmation) |
topic_facet | Heterogeneous computing C++ (Computer program language) OpenCL (Computer program language) Calcul hétérogène C++ (Langage de programmation) OpenCL (Langage de programmation) |
work_keys_str_mv | AT reindersjames dataparallelcmasteringdpcforprogrammingofheterogeneoussystemsusingcandsycl AT ashbaughben dataparallelcmasteringdpcforprogrammingofheterogeneoussystemsusingcandsycl AT brodmanjames dataparallelcmasteringdpcforprogrammingofheterogeneoussystemsusingcandsycl AT kinsnermichael dataparallelcmasteringdpcforprogrammingofheterogeneoussystemsusingcandsycl AT pennycookjohn dataparallelcmasteringdpcforprogrammingofheterogeneoussystemsusingcandsycl AT tianxinmin dataparallelcmasteringdpcforprogrammingofheterogeneoussystemsusingcandsycl |