Pro Tbb: C++ Parallel Programming with Threading Building Blocks (Paperback)
暫譯: Pro Tbb:使用 Threading Building Blocks 的 C++ 平行程式設計(平裝本)

Asenjo, Rafael, Reinders, James, Voss, Michael

  • 出版商: Apress
  • 出版日期: 2019-07-10
  • 售價: $1,700
  • 貴賓價: 9.5$1,615
  • 語言: 英文
  • 頁數: 972
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1484243978
  • ISBN-13: 9781484243978
  • 相關分類: C++ 程式語言
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

This open access book is a modern guide for all C++ programmers to learn Intel 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 Intel Threading Building Blocks 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.

商品描述(中文翻譯)

這本開放存取的書籍是所有 C++ 程式設計師學習 Intel Threading Building Blocks (TBB) 的現代指南。由 TBB 和平行程式設計專家撰寫,這本書反映了他們在開發和教授 TBB 平行程式設計方面的數十年經驗,並以易於理解的方式提供他們的見解。在整本書中,作者提供了許多範例和最佳實踐,幫助您成為一名有效的 TBB 程式設計師,並利用平行系統的力量。

《Pro Intel Threading Building Blocks》從基礎開始,解釋平行演算法和 C++ 的內建標準模板庫以支援平行運算。您將學習管理記憶體、處理資料結構的關鍵概念,以及如何處理同步的典型問題。後面的章節將這些概念應用於複雜系統,以解釋性能權衡、映射常見的平行模式、控制執行緒和開銷,以及擴展 TBB 以編程異質系統或系統單晶片。

您將學到的內容:

- 使用 Threading Building Blocks 產生可攜式、簡單、可擴展且更易理解的程式碼
- 審查在應用程式中平行化計算密集型任務的最佳實踐
- 將 TBB 與其他執行緒套件整合
- 創建可擴展的高效能資料平行程式
- 使用泛型程式設計撰寫高效的演算法

本書適合對象:

C++ 程式設計師,學習在多核心系統上運行應用程式,以及對模板沒有太多經驗的 C 或 C++ 程式設計師。不需要具備平行程式設計或多核心處理器的先前經驗。

作者簡介

James Reinders served as a senior engineer with Intel Corporation starting in 1989, where he contributed to projects including the world's first TeraFLOP supercomputer (ASCI Red), as well as compilers and architecture work for a number of Intel processors and parallel systems. James has been a driver behind the development of Intel as a major provider of software development products, and serves as their chief software evangelist. James has published numerous articles, contributed to several books and is widely interviewed on parallelism. James has managed software development groups, customer service and consulting teams, business development and marketing teams. James is sought after to keynote on parallel programming, and has authored or edited several books on parallel programming including Structured Parallel Programming (2012) and High Performance Parallelism Pearls, Vols 1 and 2 (2014, 2015).
Mike Voss is with the Developer Products Division at Intel and was the original architect of the Intel(R) Threading Building Blocks (Intel(R) TBB) flow graph API, a C++ API for expressing dependency, streaming, and data flow applications. He has co-authored over 40 published papers and articles on topics related to parallel programming, and frequently consults with customers across a wide range of domains to help them effectively use the threading libraries provided by Intel. He is currently championing the use of extensions to Intel TBB that enable software developers to coordinate the use of heterogeneous compute resources such as CPUs, integrated GPUs, FPGAs, and other domain-specific accelerators, and is one of the lead developers of Flow Graph Analyzer, a graphical tool for analyzing data flow applications targeted at both homogeneous and heterogeneous platforms.

 

 

 

From 1994 to 2001, Dr. Rafael Asenjo was an Assistant Professor in the Computer Architecture Department at University of Malaga, and has been an Associate Professor since 2001. He was Visiting Scholar in the University of Illinois at Urbana-Champaign (UIUC) in 1996 and 1997, and Visiting Research Associate in the same University in 1998. He also was Research Visitor at IBM T.J. Watson in 2008 and at Cray Inc. in 2011. He collaborated on the IBM XL-UPC compiler in 2008 and has contributed to the Cray's Chapel runtime development since 2011. He has served as General Chair for ACM PPoPP'16 and as an Organization Committee member as well as a Program Committee member for several High Performance Computing related conferences among others PPoPP, SC, PACT, IPDPS, HPCA, EuroPar and SBAC-PAD. His research interests are in parallel programming models and tools for heterogeneous architectures.

 

作者簡介(中文翻譯)

詹姆斯·瑞德斯(James Reinders)自1989年起擔任英特爾公司(Intel Corporation)的高級工程師,參與了包括世界首台TeraFLOP超級電腦(ASCI Red)在內的多個專案,以及多款英特爾處理器和平行系統的編譯器和架構工作。詹姆斯在英特爾作為主要軟體開發產品供應商的發展中扮演了重要角色,並擔任其首席軟體推廣專家。詹姆斯發表了大量文章,參與了幾本書籍的編寫,並經常接受有關平行處理的訪問。他曾管理軟體開發團隊、客戶服務和諮詢團隊、業務發展和行銷團隊。詹姆斯在平行程式設計方面的主題演講受到廣泛邀請,並著作或編輯了幾本關於平行程式設計的書籍,包括結構化平行程式設計(2012年)和高效能平行處理珍珠,第1卷和第2卷(2014年、2015年)。

邁克·沃斯(Mike Voss)在英特爾的開發者產品部門工作,並且是英特爾(R)執行緒建構模組(Intel(R) Threading Building Blocks, Intel(R) TBB)流圖API的原始架構師,這是一個用於表達依賴性、串流和數據流應用的C++ API。他共同撰寫了超過40篇與平行程式設計相關的已發表論文和文章,並經常與各個領域的客戶進行諮詢,幫助他們有效使用英特爾提供的執行緒庫。他目前正在推廣對英特爾TBB的擴展使用,這使得軟體開發者能夠協調使用異構計算資源,如CPU、集成GPU、FPGA和其他特定領域的加速器,並且是流圖分析器(Flow Graph Analyzer)的主要開發者之一,這是一個用於分析針對同質和異質平台的數據流應用的圖形工具。

 

 

 

從1994年到2001年,拉斐爾·阿森霍博士(Dr. Rafael Asenjo)在馬拉加大學(University of Malaga)的計算機架構系擔任助理教授,自2001年起成為副教授。他於1996年和1997年在伊利諾伊大學香檳分校(University of Illinois at Urbana-Champaign, UIUC)擔任訪問學者,並於1998年在同一所大學擔任訪問研究助理。他還於2008年在IBM T.J. Watson擔任研究訪客,並於2011年在Cray Inc.擔任研究訪客。他於2008年參與IBM XL-UPC編譯器的開發,自2011年以來對Cray的Chapel運行時開發做出了貢獻。他曾擔任ACM PPoPP'16的總主席,並作為組織委員會成員及多個高效能計算相關會議的程序委員會成員,包括PPoPP、SC、PACT、IPDPS、HPCA、EuroPar和SBAC-PAD等。他的研究興趣在於針對異構架構的平行程式設計模型和工具。