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

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

Full description

Autores:
Tipo de recurso:
Book
Fecha de publicación:
2021
Institución:
Universidad de Bogotá Jorge Tadeo Lozano
Repositorio:
Expeditio: repositorio UTadeo
Idioma:
eng
OAI Identifier:
oai:expeditiorepositorio.utadeo.edu.co:20.500.12010/17502
Acceso en línea:
https://directory.doabooks.org/handle/20.500.12854/30305
http://hdl.handle.net/20.500.12010/17502
Palabra clave:
Programming Languages
Compilers, Interpreters
Hardware and Maker
Lenguajes de programación (Computadores electrónicos)
C (Lenguaje de programación de computadores)
Lenguas artificiales
Rights
License
Abierto (Texto Completo)
id UTADEO2_323ed9749eefc0bf3ac0ffba6daf1f82
oai_identifier_str oai:expeditiorepositorio.utadeo.edu.co:20.500.12010/17502
network_acronym_str UTADEO2
network_name_str Expeditio: repositorio UTadeo
repository_id_str
dc.title.spa.fl_str_mv Data Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
title Data Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
spellingShingle Data Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
Programming Languages
Compilers, Interpreters
Hardware and Maker
Lenguajes de programación (Computadores electrónicos)
C (Lenguaje de programación de computadores)
Lenguas artificiales
title_short 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
title_fullStr Data Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
title_full_unstemmed Data Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
title_sort Data Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL
dc.subject.spa.fl_str_mv Programming Languages
Compilers, Interpreters
Hardware and Maker
topic Programming Languages
Compilers, Interpreters
Hardware and Maker
Lenguajes de programación (Computadores electrónicos)
C (Lenguaje de programación de computadores)
Lenguas artificiales
dc.subject.lemb.spa.fl_str_mv Lenguajes de programación (Computadores electrónicos)
C (Lenguaje de programación de computadores)
Lenguas artificiales
description 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. Data Parallel C++ provides you with everything needed to use SYCL for programming heterogeneous systems. What You'll Learn 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 Who This Book Is For Those new data-parallel programming and computer programmers interested in data-parallel programming using C++. URI
publishDate 2021
dc.date.accessioned.none.fl_str_mv 2021-02-19T14:43:19Z
dc.date.available.none.fl_str_mv 2021-02-19T14:43:19Z
dc.date.created.none.fl_str_mv 2021
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_2f33
format http://purl.org/coar/resource_type/c_2f33
dc.identifier.isbn.none.fl_str_mv 978-1-4842-5574-2
dc.identifier.other.none.fl_str_mv https://directory.doabooks.org/handle/20.500.12854/30305
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/20.500.12010/17502
dc.identifier.doi.none.fl_str_mv 10.1007/978-1-4842-5574-2
identifier_str_mv 978-1-4842-5574-2
10.1007/978-1-4842-5574-2
url https://directory.doabooks.org/handle/20.500.12854/30305
http://hdl.handle.net/20.500.12010/17502
dc.language.iso.spa.fl_str_mv eng
language eng
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.local.spa.fl_str_mv Abierto (Texto Completo)
dc.rights.creativecommons.none.fl_str_mv http://creativecommons.org/licenses/by/4.0/
rights_invalid_str_mv Abierto (Texto Completo)
http://creativecommons.org/licenses/by/4.0/
http://purl.org/coar/access_right/c_abf2
dc.format.extent.spa.fl_str_mv 548 páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Springer Nature
institution Universidad de Bogotá Jorge Tadeo Lozano
bitstream.url.fl_str_mv https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/17502/3/2021_Book_DataParallelC.pdf.jpg
https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/17502/1/2021_Book_DataParallelC.pdf
https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/17502/2/license.txt
bitstream.checksum.fl_str_mv a0f7388b22ef2820d24872da48459efa
50a6a5358d625cfd6f7dd1fac64d9d5c
abceeb1c943c50d3343516f9dbfc110f
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional - Universidad Jorge Tadeo Lozano
repository.mail.fl_str_mv expeditio@utadeo.edu.co
_version_ 1814213710838759424
spelling 2021-02-19T14:43:19Z2021-02-19T14:43:19Z2021978-1-4842-5574-2https://directory.doabooks.org/handle/20.500.12854/30305http://hdl.handle.net/20.500.12010/1750210.1007/978-1-4842-5574-2Learn 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. Data Parallel C++ provides you with everything needed to use SYCL for programming heterogeneous systems. What You'll Learn 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 Who This Book Is For Those new data-parallel programming and computer programmers interested in data-parallel programming using C++. URI548 páginasapplication/pdfengSpringer NatureProgramming LanguagesCompilers, InterpretersHardware and MakerLenguajes de programación (Computadores electrónicos)C (Lenguaje de programación de computadores)Lenguas artificialesData Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCLAbierto (Texto Completo)http://creativecommons.org/licenses/by/4.0/http://purl.org/coar/access_right/c_abf2http://purl.org/coar/resource_type/c_2f33Reinders, JamesAshbaugh, BenBrodman, JamesKinsner, MichaelPennycook, JohnTian, XinminTHUMBNAIL2021_Book_DataParallelC.pdf.jpg2021_Book_DataParallelC.pdf.jpgIM Thumbnailimage/jpeg19556https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/17502/3/2021_Book_DataParallelC.pdf.jpga0f7388b22ef2820d24872da48459efaMD53open accessORIGINAL2021_Book_DataParallelC.pdf2021_Book_DataParallelC.pdfVer documentoapplication/pdf16085130https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/17502/1/2021_Book_DataParallelC.pdf50a6a5358d625cfd6f7dd1fac64d9d5cMD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-82938https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/17502/2/license.txtabceeb1c943c50d3343516f9dbfc110fMD52open access20.500.12010/17502oai:expeditiorepositorio.utadeo.edu.co:20.500.12010/175022021-02-19 09:44:40.209open accessRepositorio Institucional - Universidad Jorge Tadeo Lozanoexpeditio@utadeo.edu.coQXV0b3Jpem8gYWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBVbml2ZXJzaWRhZCBkZSBCb2dvdMOhIEpvcmdlIFRhZGVvIExvemFubyBwYXJhIHF1ZSBjb24gZmluZXMgYWNhZMOpbWljb3MsIHByZXNlcnZlLCBjb25zZXJ2ZSwgb3JnYW5pY2UsIGVkaXRlIHkgbW9kaWZpcXVlIHRlY25vbMOzZ2ljYW1lbnRlIGVsIGRvY3VtZW50byBhbnRlcmlvcm1lbnRlIGNhcmdhZG8gYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBFeHBlZGl0aW8KCkV4Y2VwdHVhbmRvIHF1ZSBlbCBkb2N1bWVudG8gc2VhIGNvbmZpZGVuY2lhbCwgYXV0b3Jpem8gYSB1c3VhcmlvcyBpbnRlcm5vcyB5IGV4dGVybm9zIGRlIGxhIEluc3RpdHVjacOzbiBhIGNvbnN1bHRhciB5IHJlcHJvZHVjaXIgZWwgY29udGVuaWRvIGRlbCBkb2N1bWVudG8gcGFyYSBmaW5lcyBhY2Fkw6ltaWNvcyBudW5jYSBwYXJhIHVzb3MgY29tZXJjaWFsZXMsIGN1YW5kbyBtZWRpYW50ZSBsYSBjb3JyZXNwb25kaWVudGUgY2l0YSBiaWJsaW9ncsOhZmljYSBzZSBsZSBkZSBjcsOpZGl0byBhIGxhIG9icmEgeSBzdShzKSBhdXRvcihzKS4KCkV4Y2VwdHVhbmRvIHF1ZSBlbCBkb2N1bWVudG8gc2VhIGNvbmZpZGVuY2lhbCwgYXV0b3Jpem8gYXBsaWNhciBsYSBsaWNlbmNpYSBkZWwgZXN0w6FuZGFyIGludGVybmFjaW9uYWwgQ3JlYXRpdmUgQ29tbW9ucyAoQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbC1Ob0Rlcml2YXRpdmVzIDQuMCBJbnRlcm5hdGlvbmFsKSBxdWUgaW5kaWNhIHF1ZSBjdWFscXVpZXIgcGVyc29uYSBwdWVkZSB1c2FyIGxhIG9icmEgZGFuZG8gY3LDqWRpdG8gYWwgYXV0b3IsIHNpbiBwb2RlciBjb21lcmNpYXIgY29uIGxhIG9icmEgeSBzaW4gZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMuCgpFbCAobG9zKSBhdXRvcihlcykgY2VydGlmaWNhKG4pIHF1ZSBlbCBkb2N1bWVudG8gbm8gaW5mcmluZ2UgbmkgYXRlbnRhIGNvbnRyYSBkZXJlY2hvcyBpbmR1c3RyaWFsZXMsIHBhdHJpbW9uaWFsZXMsIGludGVsZWN0dWFsZXMsIG1vcmFsZXMgbyBjdWFscXVpZXIgb3RybyBkZSB0ZXJjZXJvcywgYXPDrSBtaXNtbyBkZWNsYXJhbiBxdWUgbGEgVW5pdmVyc2lkYWQgSm9yZ2UgVGFkZW8gTG96YW5vIHNlIGVuY3VlbnRyYSBsaWJyZSBkZSB0b2RhIHJlc3BvbnNhYmlsaWRhZCBjaXZpbCwgYWRtaW5pc3RyYXRpdmEgeS9vIHBlbmFsIHF1ZSBwdWVkYSBkZXJpdmFyc2UgZGUgbGEgcHVibGljYWNpw7NuIGRlbCB0cmFiYWpvIGRlIGdyYWRvIHkvbyB0ZXNpcyBlbiBjYWxpZGFkIGRlIGFjY2VzbyBhYmllcnRvIHBvciBjdWFscXVpZXIgbWVkaW8uCgpFbiBjdW1wbGltaWVudG8gY29uIGxvIGRpc3B1ZXN0byBlbiBsYSBMZXkgMTU4MSBkZSAyMDEyIHkgZXNwZWNpYWxtZW50ZSBlbiB2aXJ0dWQgZGUgbG8gZGlzcHVlc3RvIGVuIGVsIEFydMOtY3VsbyAxMCBkZWwgRGVjcmV0byAxMzc3IGRlIDIwMTMsIGF1dG9yaXpvIGEgbGEgVW5pdmVyc2lkYWQgSm9yZ2UgVGFkZW8gTG96YW5vIGEgcHJvY2VkZXIgY29uIGVsIHRyYXRhbWllbnRvIGRlIGxvcyBkYXRvcyBwZXJzb25hbGVzIHBhcmEgZmluZXMgYWNhZMOpbWljb3MsIGhpc3TDs3JpY29zLCBlc3RhZMOtc3RpY29zIHkgYWRtaW5pc3RyYXRpdm9zIGRlIGxhIEluc3RpdHVjacOzbi4gRGUgY29uZm9ybWlkYWQgY29uIGxvIGVzdGFibGVjaWRvIGVuIGVsIGFydMOtY3VsbyAzMCBkZSBsYSBMZXkgMjMgZGUgMTk4MiB5IGVsIGFydMOtY3VsbyAxMSBkZSBsYSBEZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLCBhY2xhcmFtb3MgcXVlIOKAnExvcyBkZXJlY2hvcyBtb3JhbGVzIHNvYnJlIGVsIHRyYWJham8gc29uIHByb3BpZWRhZCBkZSBsb3MgYXV0b3Jlc+KAnSwgbG9zIGN1YWxlcyBzb24gaXJyZW51bmNpYWJsZXMsIGltcHJlc2NyaXB0aWJsZXMsIGluZW1iYXJnYWJsZXMgZSBpbmFsaWVuYWJsZXMuCgpDb24gZWwgcmVnaXN0cm8gZW4gbGEgcMOhZ2luYSwgYXV0b3Jpem8gZGUgbWFuZXJhIGV4cHJlc2EgYSBsYSBGVU5EQUNJw5NOIFVOSVZFUlNJREFEIERFIEJPR09Uw4EgSk9SR0UgVEFERU8gTE9aQU5PLCBlbCB0cmF0YW1pZW50byBkZSBtaXMgZGF0b3MgcGVyc29uYWxlcyBwYXJhIHByb2Nlc2FyIG8gY29uc2VydmFyLCBjb24gZmluZXMgZXN0YWTDrXN0aWNvcywgZGUgY29udHJvbCBvIHN1cGVydmlzacOzbiwgYXPDrSBjb21vIHBhcmEgZWwgZW52w61vIGRlIGluZm9ybWFjacOzbiB2w61hIGNvcnJlbyBlbGVjdHLDs25pY28sIGRlbnRybyBkZWwgbWFyY28gZXN0YWJsZWNpZG8gcG9yIGxhIExleSAxNTgxIGRlIDIwMTIgeSBzdXMgZGVjcmV0b3MgY29tcGxlbWVudGFyaW9zIHNvYnJlIFRyYXRhbWllbnRvIGRlIERhdG9zIFBlcnNvbmFsZXMuIEVuIGN1YWxxdWllciBjYXNvLCBlbnRpZW5kbyBxdWUgcG9kcsOpIGhhY2VyIHVzbyBkZWwgZGVyZWNobyBhIGNvbm9jZXIsIGFjdHVhbGl6YXIsIHJlY3RpZmljYXIgbyBzdXByaW1pciBsb3MgZGF0b3MgcGVyc29uYWxlcyBtZWRpYW50ZSBlbCBlbnbDrW8gZGUgdW5hIGNvbXVuaWNhY2nDs24gZXNjcml0YSBhbCBjb3JyZW8gZWxlY3Ryw7NuaWNvIHByb3RlY2Npb25kYXRvc0B1dGFkZW8uZWR1LmNvLgoKTGEgRlVOREFDScOTTiBVTklWRVJTSURBRCBERSBCT0dPVMOBIEpPUkdFIFRBREVPIExPWkFOTyBubyB1dGlsaXphcsOhIGxvcyBkYXRvcyBwZXJzb25hbGVzIHBhcmEgZmluZXMgZGlmZXJlbnRlcyBhIGxvcyBhbnVuY2lhZG9zIHkgZGFyw6EgdW4gdXNvIGFkZWN1YWRvIHkgcmVzcG9uc2FibGUgYSBzdXMgZGF0b3MgcGVyc29uYWxlcyBkZSBhY3VlcmRvIGNvbiBsYSBkaXJlY3RyaXogZGUgUHJvdGVjY2nDs24gZGUgRGF0b3MgUGVyc29uYWxlcyBxdWUgcG9kcsOhIGNvbnN1bHRhciBlbjogaHR0cDovL3d3dy51dGFkZW8uZWR1LmNvL2VzL2xpbmsvZGVzY3VicmUtbGEtdW5pdmVyc2lkYWQvMi9kb2N1bWVudG9zCg==