天天看點

《OpenACC并行程式設計:性能優化實踐指南》一 第3章 使用Score-P和Vampir分析混合應用性能

使用Score-P和Vampir分析混合應用性能

Guido Juckeland

德國亥姆霍茲聯合會(HZDR)資訊服務和計算機系

Robert Dietrich

德國德累斯頓工業大學

本章的目的是讓讀者熟悉逐漸性能提升的概念,以及在向OpenACC應用程式添加其他并行模式時所涉及的工具。混合應用程式可能會遭受許多性能瓶頸,應用程式運作期間所有活動的整體圖可以揭示如何提高整體性能。

閱讀本章後,讀者将會了解以下内容:

混合應用程式(例如,MPI+OpenACC)性能分析的術語和方法。

如何修改混合應用程式以生成和記錄性能資料。

如何可視化和分析性能資料,以便對應用程式進行有針對性的改進。

擴充現有并行應用程式以包含另一個并行化範例時的常見陷阱。

OpenACC旨在提供一種在硬體加速器平台上描述并行性的相對簡單和直接的方法。OpenACC的設計初衷也是作為一種将傳統高性能計算(HPC)應用程式移植到新型架構的方法。超過單個節點能力的傳統和新型應用程式可以使用消息傳遞接口(MPI),用于節點間通信和粗粒度任務配置設定。我們将組合OpenACC和MPI的應用程式稱為混合應用程式。也可在主機端組合OpenACC和OpenMP來使用計算節點的所有資源,或同時使用三個級别的并行(MP、OpenACC和OpenMP)。優化并行範例應用程式是具有挑戰性的,添加第二或第三級别并行會引入一個潛在性能挑戰的全新層,因為所有并行範例都會互動作用。使用正确的性能分析工具時,性能導向開發也可以覆寫這些混合計算場景。

編譯器或加速器供應商提供的分析工具通常僅限于裝置支援的程式設計模型,例如OpenACC、CUDA或OpenCL活動。幾乎所有供應商的工具都不能記錄MPI活動,是以程式設計人員無法知道混合應用程式在并行性方面的表現如何。研究導向的性能工具彌補了這個問題。HPCtoolkit、Tau和Score-P是比較優秀的第三方分析工具,同時也支援硬體加速器分析。這三個工具中,Score-P支援最多的并行範例,可以記錄最多并發活動,對非常複雜的應用程式也可以提供最完整的性能圖。是以本章使用Score-P作為性能記錄工具來講解。Vampir用于可視化性能資料,因為它是迄今為止最有能力的追蹤可視化和配置檔案生成器。

繼續閱讀