Cargando…

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...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autores principales: Reinders, James (Autor), Ashbaugh, Ben (Autor), Brodman, James (Autor), Kinsner, Michael (Autor), Pennycook, John (Autor), Tian, Xinmin (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: New York, NY : Apress, [2020]
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000 i 4500
001 OR_on1204226016
003 OCoLC
005 20231017213018.0
006 m o d
007 cr |||||||||||
008 201109s2020 nyua o 001 0 eng d
040 |a INA  |b eng  |e rda  |e pn  |c INA  |d YDX  |d OCLCF  |d YDXIT  |d GW5XE  |d EBLCP  |d OCLCQ  |d UKAHL  |d ORMDA  |d OCLCQ  |d OCLCO  |d COM  |d OCLCQ 
019 |a 1225288161  |a 1225563400  |a 1298889560 
020 |a 9781484255742  |q (electronic book) 
020 |a 1484255747  |q (electronic book) 
020 |z 1484255739  |q (Print) 
020 |z 9781484255735  |q (Print) 
024 7 |a 10.1007/978-1-4842-5574-2  |2 doi 
024 8 |a 9781484255742 
029 1 |a AU@  |b 000068389286 
029 1 |a AU@  |b 000068482730 
035 |a (OCoLC)1204226016  |z (OCoLC)1225288161  |z (OCoLC)1225563400  |z (OCoLC)1298889560 
037 |a 9781484255742  |b O'Reilly Media 
050 4 |a QA76.88  |b .R45 2020 
072 7 |a UMX  |2 bicssc 
072 7 |a COM051010  |2 bisacsh 
072 7 |a UMX  |2 thema 
072 7 |a UMC  |2 thema 
082 0 4 |a 004.35  |2 23 
049 |a UAMI 
100 1 |a Reinders, James,  |e author. 
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 resource (xxvi, 548 pages) :  |b illustrations (some color) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
506 0 |a Open access  |5 GW5XE 
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 
505 0 |a 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 -- Chapter 16: Address spaces and multi_ptr -- Chapter 17: Using libraries -- Chapter 18: Working with OpenCL -- Chapter 19: Memory model and atomics. 
500 |a Includes index. 
588 0 |a Online resource; title from digital title page (viewed on December 16, 2020). 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
650 0 |a Heterogeneous computing. 
650 0 |a C++ (Computer program language) 
650 0 |a OpenCL (Computer program language) 
650 6 |a Calcul hétérogène. 
650 6 |a C++ (Langage de programmation) 
650 6 |a OpenCL (Langage de programmation) 
650 7 |a C++ (Computer program language)  |2 fast  |0 (OCoLC)fst00843286 
650 7 |a Heterogeneous computing.  |2 fast  |0 (OCoLC)fst00955750 
650 7 |a OpenCL (Computer program language)  |2 fast  |0 (OCoLC)fst01788941 
700 1 |a Ashbaugh, Ben,  |e author. 
700 1 |a Brodman, James,  |e author. 
700 1 |a Kinsner, Michael,  |e author. 
700 1 |a Pennycook, John,  |e author. 
700 1 |a Tian, Xinmin,  |e author. 
776 0 8 |i Print version:  |a Reinders, James.  |t Data parallel C++.  |d [Place of publication not identified] APRESS, 2020  |z 1484255739  |z 9781484255735  |w (OCoLC)1130249635 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781484255742/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a Askews and Holts Library Services  |b ASKH  |n AH38447377 
938 |a ProQuest Ebook Central  |b EBLB  |n EBL6383586 
938 |a YBP Library Services  |b YANK  |n 17137934 
994 |a 92  |b IZTAP