Logo Oapen
  • Search
  • Join
    • Deposit
    • For Librarians
    • For Publishers
    • For Researchers
    • Funders
    • Resources
    • OAPEN
    • For Librarians
    • For Publishers
    • For Researchers
    • Funders
    • Resources
    • OAPEN
    View Item 
    •   OAPEN Home
    • View Item
    •   OAPEN Home
    • View Item
    JavaScript is disabled for your browser. Some features of this site may not work without it.

    Today's TBB

    C++ Parallel Programming with Threading Building Blocks

    Thumbnail
    Download PDF Viewer
    Web Shop
    Author(s)
    Voss, Michael J.
    Reinders, James R.
    Language
    English
    Show full item record
    Abstract
    This open-access book serves as a comprehensive guide for C++ programmers looking to master Threading Building Blocks (TBB). Authored by two experts in TBB and parallel programming, the book distills decades of collective experience in developing and teaching parallel programming concepts, presenting insights in a clear and accessible manner. Today’s TBB starts with foundational principles, explaining key concepts and terminology used in parallel programming. It then introduces the major components of TBB including parallel algorithms, flow graphs, and task groups that help you fully leverage the power of multicore systems. The book emphasizes TBB's higher-level parallelism capabilities, which facilitate the creation of portable, scalable applications for modern CPUs. Key topics, including memory management in parallel contexts and effective synchronization for data structures, are well explored, ensuring a comprehensive understanding of these critical concepts. Later chapters delve into advanced topics including cancellation, exception handling, composability, performance tuning, and transitioning legacy code from older versions of TBB to Today’s TBB. For nearly two decades, TBB has been invaluable to programmers, and this book leverages the latest advancements in C++ alongside TBB to enhance your parallel programming capabilities. TBB excels in unlocking the performance of code that is not well-suited for accelerators, making it an essential tool in the realm of parallel computing. If you work with technologies like CUDA, SYCL, or OpenCL for accelerated computing, mastering TBB will also enable you to orchestrate parallelism effectively on the host CPU, optimizing performance in the face of Amdahl’s Law. What You'll Learn Create Scalable Code: Use TBB for portable, simple, and efficient programming. Parallelization Strategies: Implement best practices for intensive tasks. High-Performance Applications: Develop scalable parallel programs. Modern C++ Compatibility: Apply TBB with C++17 and later. Code Migration: Update legacy TBB code to leverage C++17 and Today’s TBB. Think Parallel: Orchestrate parallelism in the entire computer system to your advantage. Who This Book Is For C++ programmers eager to harness the power of parallelism on multicore systems. Today’s TBB is accessible to those with limited experience, with C++ or parallelism, providing clear guidance on best practices and techniques. Experienced programmers will find valuable insights for refining their skills, addressing advanced topics such as cancellation, exception handling, composability, and performance tuning. No prior experience in parallel programming or multicore processors is necessary; however, those with some background will discover even more depth and value throughout the book. ;
    URI
    https://library.oapen.org/handle/20.500.12657/100764
    Keywords
    Multicore; concurrency; parallel; parallel programming; thread; heterogeneous programming; algorithms; library; STL
    DOI
    10.1007/979-8-8688-1270-5
    ISBN
    9798868812699
    Publisher
    Springer Nature
    Publisher website
    https://www.springernature.com/gp/products/books
    Publication date and place
    Berkeley, CA, 2025
    Imprint
    Apress
    Classification
    Compilers and interpreters
    Computer programming / software engineering
    Algorithms and data structures
    Databases
    Pages
    447
    Rights
    http://creativecommons.org/licenses/by-nc-nd/4.0/
    • Imported or submitted locally

    Browse

    All of OAPENSubjectsPublishersLanguagesCollections

    My Account

    LoginRegister

    Export

    Repository metadata
    Logo Oapen
    • For Librarians
    • For Publishers
    • For Researchers
    • Funders
    • Resources
    • OAPEN

    Newsletter

    • Subscribe to our newsletter
    • view our news archive

    Follow us on

    License

    • If not noted otherwise all contents are available under Attribution 4.0 International (CC BY 4.0)

    Credits

    • logo EU
    • This project received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 683680, 810640, 871069 and 964352.

    OAPEN is based in the Netherlands, with its registered office in the National Library in The Hague.

    Director: Niels Stern

    Address:
    OAPEN Foundation
    Prins Willem-Alexanderhof 5
    2595 BE The Hague
    Postal address:
    OAPEN Foundation
    P.O. Box 90407
    2509 LK The Hague

    Websites:
    OAPEN Home: www.oapen.org
    OAPEN Library: library.oapen.org
    DOAB: www.doabooks.org

     

     

    Export search results

    The export option will allow you to export the current search results of the entered query to a file. Differen formats are available for download. To export the items, click on the button corresponding with the preferred download format.

    A logged-in user can export up to 15000 items. If you're not logged in, you can export no more than 500 items.

    To select a subset of the search results, click "Selective Export" button and make a selection of the items you want to export. The amount of items that can be exported at once is similarly restricted as the full export.

    After making a selection, click one of the export format buttons. The amount of items that will be exported is indicated in the bubble next to export format.