Programming for Hybrid Multi/Manycore Mpp Systems

Levesque, John, Vose, Aaron

相關主題

商品描述

"Ask not what your compiler can do for you, ask what you can do for your compiler."
--John Levesque, Director of Cray's Supercomputing Centers of Excellence

 

 

 

 

 

 

 

The next decade of computationally intense computing lies with more powerful multi/manycore nodes where processors share a large memory space. These nodes will be the building block for systems that range from a single node workstation up to systems approaching the exaflop regime. The node itself will consist of 10's to 100's of MIMD (multiple instruction, multiple data) processing units with SIMD (single instruction, multiple data) parallel instructions. Since a standard, affordable memory architecture will not be able to supply the bandwidth required by these cores, new memory organizations will be introduced. These new node architectures will represent a significant challenge to application developers.

 

 

 

 

 

 

 

 

 

Programming for Hybrid Multi/Manycore MPP Systems attempts to briefly describe the current state-of-the-art in programming these systems, and proposes an approach for developing a performance-portable application that can effectively utilize all of these systems from a single application. The book starts with a strategy for optimizing an application for multi/manycore architectures. It then looks at the three typical architectures, covering their advantages and disadvantages.

 

 

 

 

 

 

 

 

 

The next section of the book explores the other important component of the target--the compiler. The compiler will ultimately convert the input language to executable code on the target, and the book explores how to make the compiler do what we want. The book then talks about gathering runtime statistics from running the application on the important problem sets previously discussed.

 

 

 

 

 

 

 

 

 

How best to utilize available memory bandwidth and virtualization is covered next, along with hybridization of a program. The last part of the book includes several major applications, and examines future hardware advancements and how the application developer may prepare for those advancements.

 

 

商品描述(中文翻譯)

「不要問你的編譯器能為你做什麼,而是問你能為你的編譯器做什麼。」
-- John Levesque, Cray超級計算中心卓越主任

下一個十年的計算密集型計算將依賴更強大的多核/多核心節點,其中處理器共享一個大型記憶體空間。這些節點將成為從單節點工作站到接近exaflop級別的系統的基礎。節點本身將由10到100個MIMD(多指令,多數據)處理單元和SIMD(單指令,多數據)並行指令組成。由於標準的、可負擔的記憶體架構無法提供這些核心所需的帶寬,將引入新的記憶體組織。這些新的節點架構將對應用程序開發人員構成重大挑戰。

《編程混合多核/多核心MPP系統》試圖簡要描述目前在編程這些系統方面的最新技術,並提出一種從單一應用程序有效利用所有這些系統的性能可移植應用程序開發方法。本書首先介紹了一種優化多核/多核心架構應用程序的策略,然後介紹了三種典型的架構,包括它們的優點和缺點。

本書的下一部分探討了目標的另一個重要組成部分-編譯器。編譯器最終將將輸入語言轉換為目標上的可執行代碼,本書探討了如何使編譯器達到我們的要求。然後,本書談到了從運行先前討論的重要問題集的應用程序中收集運行時統計信息。

接下來介紹了如何最佳利用可用的記憶體帶寬和虛擬化,以及程序的混合化。本書的最後一部分包括幾個重要的應用程序,並探討了未來硬件進展以及應用程序開發人員如何為這些進展做好準備。

作者簡介

John Levesque works in the Chief Technology Office at Cray Inc. where he is responsible for application performance on Cray's HPC systems. He is also the director of Crays Supercomputing Center of Excellence for the Trinity System installed the end of 2016 at Los Alamos Scientific Laboratory. Prior to Trinity, he was director of the Center of Excellence at the Oak Ridge National Laboratory (ORNL). ORNL installed a 27 Petaflop Cray XK6 system, Titan which was the fastest computer in the world according to the Top500 list in 2012; and a 2.7 Petaflop Cray XT4, Jaguar which was number one in 2009. For the past 50 years, Mr. Levesque has optimized scientific application programs for successful HPC systems. He is an expert in application tuning and compiler analysis of scientific applications. He has written two previous books, on optimization for the Cray 1 in 1989 [20] and on optimization for multi-core MPP systems in 2010 [19].

 

 

 

 

 

 

 

Aaron Vose is an HPC software engineer who spent two years at Cray's Supercomputing Center of Excellence at Oak Ridge National Laboratory. Aaron helped domain scientists at ORNL port and optimize scientific software to achieve maximum scalability and performance on world-class, highperformance computing resources, such as the Titan supercomputer. Aaron now works for Cray Inc. as a software engineer helping R&D to design nextgeneration computer systems. Prior to joining Cray, Aaron spent time at the National Institute for Computational Sciences (NICS) as well as the Joint Institute for Computational Sciences (JICS). There, he worked on scaling and porting bioinformatics software to the Kraken supercomputer. Aaron holds a Master's degree in Computer Science from the University of Tennessee at Knoxville.

 

 

作者簡介(中文翻譯)

John Levesque在Cray Inc.的首席技術官處工作,負責Cray的高性能計算系統上的應用性能。他還是Cray超級計算中心卓越中心的主任,該中心於2016年底在洛斯阿拉莫斯科學實驗室安裝了Trinity系統。在Trinity之前,他曾擔任奧克嶺國家實驗室(ORNL)卓越中心的主任。ORNL安裝了一個27 Petaflop的Cray XK6系統Titan,該系統在2012年的Top500榜單中被評為世界上最快的計算機;還有一個2.7 Petaflop的Cray XT4系統Jaguar,該系統在2009年排名第一。在過去的50年中,Levesque先生一直在為成功的高性能計算系統優化科學應用程序。他是應用程序調優和編譯器分析科學應用程序的專家。他曾經撰寫過兩本書,分別是1989年關於Cray 1的優化[20]和2010年關於多核MPP系統的優化[19]。

Aaron Vose是一位高性能計算軟件工程師,曾在Cray的奧克嶺國家實驗室超級計算中心卓越中心工作了兩年。Aaron幫助ORNL的領域科學家將科學軟件移植和優化,以在世界一流的高性能計算資源上實現最大的可擴展性和性能,例如Titan超級計算機。現在,Aaron在Cray Inc.擔任軟件工程師,幫助研發設計下一代計算機系統。在加入Cray之前,Aaron曾在國家計算科學研究所(NICS)和聯合計算科學研究所(JICS)工作。在那裡,他致力於將生物信息學軟件擴展和移植到Kraken超級計算機上。Aaron擁有田納西大學諾克斯維爾分校的計算機科學碩士學位。