Pro TBB C++ Parallel Programming with Threading Building Blocks

This open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2019
Institución:
Universidad de Bogotá Jorge Tadeo Lozano
Repositorio:
Expeditio: repositorio UTadeo
Idioma:
eng
OAI Identifier:
oai:expeditiorepositorio.utadeo.edu.co:20.500.12010/18127
Acceso en línea:
https://directory.doabooks.org/handle/20.500.12854/37534
http://hdl.handle.net/20.500.12010/18127
Palabra clave:
Computer science
Programming languages (Electronic computers)
Computer programming
Lenguajes de programación (Computadores electrónicos)
Programación (Computadores electrónicos)
C++ (Lenguaje de programación de computadores)
Rights
License
Abierto (Texto Completo)
id UTADEO2_1392f4a3253dc08af0ab121254359665
oai_identifier_str oai:expeditiorepositorio.utadeo.edu.co:20.500.12010/18127
network_acronym_str UTADEO2
network_name_str Expeditio: repositorio UTadeo
repository_id_str
dc.title.spa.fl_str_mv Pro TBB C++ Parallel Programming with Threading Building Blocks
title Pro TBB C++ Parallel Programming with Threading Building Blocks
spellingShingle Pro TBB C++ Parallel Programming with Threading Building Blocks
Computer science
Programming languages (Electronic computers)
Computer programming
Lenguajes de programación (Computadores electrónicos)
Programación (Computadores electrónicos)
C++ (Lenguaje de programación de computadores)
title_short Pro TBB C++ Parallel Programming with Threading Building Blocks
title_full Pro TBB C++ Parallel Programming with Threading Building Blocks
title_fullStr Pro TBB C++ Parallel Programming with Threading Building Blocks
title_full_unstemmed Pro TBB C++ Parallel Programming with Threading Building Blocks
title_sort Pro TBB C++ Parallel Programming with Threading Building Blocks
dc.subject.spa.fl_str_mv Computer science
Programming languages (Electronic computers)
Computer programming
topic Computer science
Programming languages (Electronic computers)
Computer programming
Lenguajes de programación (Computadores electrónicos)
Programación (Computadores electrónicos)
C++ (Lenguaje de programación de computadores)
dc.subject.lemb.spa.fl_str_mv Lenguajes de programación (Computadores electrónicos)
Programación (Computadores electrónicos)
C++ (Lenguaje de programación de computadores)
description This open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present numerous examples and best practices to help you become an effective TBB programmer and leverage the power of parallel systems. Pro TBB starts with the basics, explaining parallel algorithms and C++'s built-in standard template library for parallelism. You'll learn the key concepts of managing memory, working with data structures and how to handle typical issues with synchronization. Later chapters apply these ideas to complex systems to explain performance tradeoffs, mapping common parallel patterns, controlling threads and overhead, and extending TBB to program heterogeneous systems or system-on-chips. What You'll Learn Use Threading Building Blocks to produce code that is portable, simple, scalable, and more understandable Review best practices for parallelizing computationally intensive tasks in your applications Integrate TBB with other threading packages Create scalable, high performance data-parallel programs Work with generic programming to write efficient algorithms Who This Book Is For C++ programmers learning to run applications on multicore systems, as well as C or C++ programmers without much experience with templates. No previous experience with parallel programming or multicore processors is required.
publishDate 2019
dc.date.created.none.fl_str_mv 2019
dc.date.accessioned.none.fl_str_mv 2021-03-17T14:16:30Z
dc.date.available.none.fl_str_mv 2021-03-17T14:16:30Z
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.isbn.none.fl_str_mv 978-1-4842-4398-5
dc.identifier.other.none.fl_str_mv https://directory.doabooks.org/handle/20.500.12854/37534
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/20.500.12010/18127
dc.identifier.doi.none.fl_str_mv 10.1007/978-1-4842-4398-5
identifier_str_mv 978-1-4842-4398-5
10.1007/978-1-4842-4398-5
url https://directory.doabooks.org/handle/20.500.12854/37534
http://hdl.handle.net/20.500.12010/18127
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 https://creativecommons.org/licenses/by-nc-nd/4.0
rights_invalid_str_mv Abierto (Texto Completo)
https://creativecommons.org/licenses/by-nc-nd/4.0
http://purl.org/coar/access_right/c_abf2
dc.format.extent.spa.fl_str_mv 807 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/18127/1/1007323.pdf
https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/18127/2/license.txt
https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/18127/3/1007323.pdf.jpg
bitstream.checksum.fl_str_mv b129c54dc5f88983660631026e2529af
baba314677a6b940f072575a13bb6906
19562448dafabd0d2ca914a454d2a79d
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_ 1818152718407041024
spelling 2021-03-17T14:16:30Z2021-03-17T14:16:30Z2019978-1-4842-4398-5https://directory.doabooks.org/handle/20.500.12854/37534http://hdl.handle.net/20.500.12010/1812710.1007/978-1-4842-4398-5This open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present numerous examples and best practices to help you become an effective TBB programmer and leverage the power of parallel systems. Pro TBB starts with the basics, explaining parallel algorithms and C++'s built-in standard template library for parallelism. You'll learn the key concepts of managing memory, working with data structures and how to handle typical issues with synchronization. Later chapters apply these ideas to complex systems to explain performance tradeoffs, mapping common parallel patterns, controlling threads and overhead, and extending TBB to program heterogeneous systems or system-on-chips. What You'll Learn Use Threading Building Blocks to produce code that is portable, simple, scalable, and more understandable Review best practices for parallelizing computationally intensive tasks in your applications Integrate TBB with other threading packages Create scalable, high performance data-parallel programs Work with generic programming to write efficient algorithms Who This Book Is For C++ programmers learning to run applications on multicore systems, as well as C or C++ programmers without much experience with templates. No previous experience with parallel programming or multicore processors is required.807 páginasapplication/pdfengSpringer NatureComputer scienceProgramming languages (Electronic computers)Computer programmingLenguajes de programación (Computadores electrónicos)Programación (Computadores electrónicos)C++ (Lenguaje de programación de computadores)Pro TBB C++ Parallel Programming with Threading Building BlocksAbierto (Texto Completo)https://creativecommons.org/licenses/by-nc-nd/4.0http://purl.org/coar/access_right/c_abf2http://purl.org/coar/resource_type/c_7a1fVoss, MichaelAsenjo, RafaelReinders, JamesORIGINAL1007323.pdf1007323.pdfVer documentoapplication/pdf135634058https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/18127/1/1007323.pdfb129c54dc5f88983660631026e2529afMD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-82938https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/18127/2/license.txtbaba314677a6b940f072575a13bb6906MD52open accessTHUMBNAIL1007323.pdf.jpg1007323.pdf.jpgIM Thumbnailimage/jpeg20177https://expeditiorepositorio.utadeo.edu.co/bitstream/20.500.12010/18127/3/1007323.pdf.jpg19562448dafabd0d2ca914a454d2a79dMD53open access20.500.12010/18127oai:expeditiorepositorio.utadeo.edu.co:20.500.12010/181272021-03-17 23:01:40.781open accessRepositorio Institucional - Universidad Jorge Tadeo Lozanoexpeditio@utadeo.edu.coQXV0b3Jpem8gYWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBVbml2ZXJzaWRhZCBkZSBCb2dvdMOhIEpvcmdlIFRhZGVvIExvemFubyBwYXJhCnF1ZSBjb24gZmluZXMgYWNhZMOpbWljb3MsIHByZXNlcnZlLCBjb25zZXJ2ZSwgb3JnYW5pY2UsIGVkaXRlIHkgbW9kaWZpcXVlCnRlY25vbMOzZ2ljYW1lbnRlIGVsIGRvY3VtZW50byBhbnRlcmlvcm1lbnRlIGNhcmdhZG8gYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbApFeHBlZGl0aW8KCkV4Y2VwdHVhbmRvIHF1ZSBlbCBkb2N1bWVudG8gc2VhIGNvbmZpZGVuY2lhbCwgYXV0b3Jpem8gYSB1c3VhcmlvcyBpbnRlcm5vcyB5CmV4dGVybm9zIGRlIGxhIEluc3RpdHVjacOzbiBhIGNvbnN1bHRhciB5IHJlcHJvZHVjaXIgZWwgY29udGVuaWRvIGRlbCBkb2N1bWVudG8KcGFyYSBmaW5lcyBhY2Fkw6ltaWNvcyBudW5jYSBwYXJhIHVzb3MgY29tZXJjaWFsZXMsIGN1YW5kbyBtZWRpYW50ZSBsYQpjb3JyZXNwb25kaWVudGUgY2l0YSBiaWJsaW9ncsOhZmljYSBzZSBsZSBkZSBjcsOpZGl0byBhIGxhIG9icmEgeSBzdShzKSBhdXRvcihzKS4KCkV4Y2VwdHVhbmRvIHF1ZSBlbCBkb2N1bWVudG8gc2VhIGNvbmZpZGVuY2lhbCwgYXV0b3Jpem8gYXBsaWNhciBsYSBsaWNlbmNpYSBkZWwKZXN0w6FuZGFyIGludGVybmFjaW9uYWwgQ3JlYXRpdmUgQ29tbW9ucyAoQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbC1Ob0Rlcml2YXRpdmVzCjQuMCBJbnRlcm5hdGlvbmFsKSBxdWUgaW5kaWNhIHF1ZSBjdWFscXVpZXIgcGVyc29uYSBwdWVkZSB1c2FyIGxhIG9icmEgZGFuZG8KY3LDqWRpdG8gYWwgYXV0b3IsIHNpbiBwb2RlciBjb21lcmNpYXIgY29uIGxhIG9icmEgeSBzaW4gZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMuCgpFbCAobG9zKSBhdXRvcihlcykgY2VydGlmaWNhKG4pIHF1ZSBlbCBkb2N1bWVudG8gbm8gaW5mcmluZ2UgbmkgYXRlbnRhIGNvbnRyYQpkZXJlY2hvcyBpbmR1c3RyaWFsZXMsIHBhdHJpbW9uaWFsZXMsIGludGVsZWN0dWFsZXMsIG1vcmFsZXMgbyBjdWFscXVpZXIgb3RybyBkZQp0ZXJjZXJvcywgYXPDrSBtaXNtbyBkZWNsYXJhbiBxdWUgbGEgVW5pdmVyc2lkYWQgSm9yZ2UgVGFkZW8gTG96YW5vIHNlIGVuY3VlbnRyYQpsaWJyZSBkZSB0b2RhIHJlc3BvbnNhYmlsaWRhZCBjaXZpbCwgYWRtaW5pc3RyYXRpdmEgeS9vIHBlbmFsIHF1ZSBwdWVkYSBkZXJpdmFyc2UKZGUgbGEgcHVibGljYWNpw7NuIGRlbCB0cmFiYWpvIGRlIGdyYWRvIHkvbyB0ZXNpcyBlbiBjYWxpZGFkIGRlIGFjY2VzbyBhYmllcnRvIHBvcgpjdWFscXVpZXIgbWVkaW8uCgpFbiBjdW1wbGltaWVudG8gY29uIGxvIGRpc3B1ZXN0byBlbiBsYSBMZXkgMTU4MSBkZSAyMDEyIHkgZXNwZWNpYWxtZW50ZSBlbiB2aXJ0dWQKZGUgbG8gZGlzcHVlc3RvIGVuIGVsIEFydMOtY3VsbyAxMCBkZWwgRGVjcmV0byAxMzc3IGRlIDIwMTMsIGF1dG9yaXpvIGEgbGEKVW5pdmVyc2lkYWQgSm9yZ2UgVGFkZW8gTG96YW5vIGEgcHJvY2VkZXIgY29uIGVsIHRyYXRhbWllbnRvIGRlIGxvcyBkYXRvcwpwZXJzb25hbGVzIHBhcmEgZmluZXMgYWNhZMOpbWljb3MsIGhpc3TDs3JpY29zLCBlc3RhZMOtc3RpY29zIHkgYWRtaW5pc3RyYXRpdm9zIGRlCmxhIEluc3RpdHVjacOzbi4gRGUgY29uZm9ybWlkYWQgY29uIGxvIGVzdGFibGVjaWRvIGVuIGVsIGFydMOtY3VsbyAzMCBkZSBsYSBMZXkgMjMKZGUgMTk4MiB5IGVsIGFydMOtY3VsbyAxMSBkZSBsYSBEZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLCBhY2xhcmFtb3MgcXVlIOKAnExvcwpkZXJlY2hvcyBtb3JhbGVzIHNvYnJlIGVsIHRyYWJham8gc29uIHByb3BpZWRhZCBkZSBsb3MgYXV0b3Jlc+KAnSwgbG9zIGN1YWxlcyBzb24KaXJyZW51bmNpYWJsZXMsIGltcHJlc2NyaXB0aWJsZXMsIGluZW1iYXJnYWJsZXMgZSBpbmFsaWVuYWJsZXMuCgpDb24gZWwgcmVnaXN0cm8gZW4gbGEgcMOhZ2luYSwgYXV0b3Jpem8gZGUgbWFuZXJhIGV4cHJlc2EgYSBsYSBGVU5EQUNJw5NOIFVOSVZFUlNJREFECkRFIEJPR09Uw4EgSk9SR0UgVEFERU8gTE9aQU5PLCBlbCB0cmF0YW1pZW50byBkZSBtaXMgZGF0b3MgcGVyc29uYWxlcyBwYXJhIHByb2Nlc2FyCm8gY29uc2VydmFyLCBjb24gZmluZXMgZXN0YWTDrXN0aWNvcywgZGUgY29udHJvbCBvIHN1cGVydmlzacOzbiwgYXPDrSBjb21vIHBhcmEgZWwKZW52w61vIGRlIGluZm9ybWFjacOzbiB2w61hIGNvcnJlbyBlbGVjdHLDs25pY28sIGRlbnRybyBkZWwgbWFyY28gZXN0YWJsZWNpZG8gcG9yIGxhCkxleSAxNTgxIGRlIDIwMTIgeSBzdXMgZGVjcmV0b3MgY29tcGxlbWVudGFyaW9zIHNvYnJlIFRyYXRhbWllbnRvIGRlIERhdG9zClBlcnNvbmFsZXMuIEVuIGN1YWxxdWllciBjYXNvLCBlbnRpZW5kbyBxdWUgcG9kcsOpIGhhY2VyIHVzbyBkZWwgZGVyZWNobyBhIGNvbm9jZXIsCmFjdHVhbGl6YXIsIHJlY3RpZmljYXIgbyBzdXByaW1pciBsb3MgZGF0b3MgcGVyc29uYWxlcyBtZWRpYW50ZSBlbCBlbnbDrW8gZGUgdW5hCmNvbXVuaWNhY2nDs24gZXNjcml0YSBhbCBjb3JyZW8gZWxlY3Ryw7NuaWNvIHByb3RlY2Npb25kYXRvc0B1dGFkZW8uZWR1LmNvLgoKTGEgRlVOREFDScOTTiBVTklWRVJTSURBRCBERSBCT0dPVMOBIEpPUkdFIFRBREVPIExPWkFOTyBubyB1dGlsaXphcsOhIGxvcyBkYXRvcwpwZXJzb25hbGVzIHBhcmEgZmluZXMgZGlmZXJlbnRlcyBhIGxvcyBhbnVuY2lhZG9zIHkgZGFyw6EgdW4gdXNvIGFkZWN1YWRvIHkKcmVzcG9uc2FibGUgYSBzdXMgZGF0b3MgcGVyc29uYWxlcyBkZSBhY3VlcmRvIGNvbiBsYSBkaXJlY3RyaXogZGUgUHJvdGVjY2nDs24gZGUKRGF0b3MgUGVyc29uYWxlcyBxdWUgcG9kcsOhIGNvbnN1bHRhciBlbjoKaHR0cDovL3d3dy51dGFkZW8uZWR1LmNvL2VzL2xpbmsvZGVzY3VicmUtbGEtdW5pdmVyc2lkYWQvMi9kb2N1bWVudG9zCg==