Using OpenMP -- The Next Step: Affinity, Accelerators, Tasking, and SIMD (Scientific and Engineering Computation)

Ruud van der Pas, Eric Stotzer, Christian Terboven

  • 出版商: MIT
  • 出版日期: 2017-10-20
  • 售價: $1,750
  • 貴賓價: 9.8$1,715
  • 語言: 英文
  • 頁數: 392
  • 裝訂: Paperback
  • ISBN: 0262534789
  • ISBN-13: 9780262534789
  • 立即出貨 (庫存 < 4)

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

商品描述

A guide to the most recent, advanced features of the widely used OpenMP parallel programming model, with coverage of major features in OpenMP 4.5.

This book offers an up-to-date, practical tutorial on advanced features in the widely used OpenMP parallel programming model. Building on the previous volume, Using OpenMP: Portable Shared Memory Parallel Programming (MIT Press), this book goes beyond the fundamentals to focus on what has been changed and added to OpenMP since the 2.5 specifications. It emphasizes four major and advanced areas: thread affinity (keeping threads close to their data), accelerators (special hardware to speed up certain operations), tasking (to parallelize algorithms with a less regular execution flow), and SIMD (hardware assisted operations on vectors).

As in the earlier volume, the focus is on practical usage, with major new features primarily introduced by example. Examples are restricted to C and C++, but are straightforward enough to be understood by Fortran programmers. After a brief recap of OpenMP 2.5, the book reviews enhancements introduced since 2.5. It then discusses in detail tasking, a major functionality enhancement; Non-Uniform Memory Access (NUMA) architectures, supported by OpenMP; SIMD, or Single Instruction Multiple Data; heterogeneous systems, a new parallel programming model to offload computation to accelerators; and the expected further development of OpenMP.

商品描述(中文翻譯)

這本書介紹了廣泛使用的OpenMP並行編程模型的最新和高級功能,並涵蓋了OpenMP 4.5的主要功能。

本書提供了一個最新的、實用的教程,介紹了廣泛使用的OpenMP並行編程模型的高級功能。本書在前一卷《使用OpenMP:可移植共享內存並行編程》(MIT Press)的基礎上,進一步關注了自2.5規範以來OpenMP所做的更改和新增的功能。重點介紹了四個主要和高級領域:線程親和性(使線程保持靠近其數據)、加速器(用於加速某些操作的特殊硬件)、任務分配(用於並行化具有不規則執行流程的算法)和SIMD(向量上的硬件輔助操作)。

與之前的卷一樣,本書的重點是實際應用,主要通過示例介紹了主要的新功能。示例僅限於C和C++,但足夠簡單,以便Fortran程序員理解。在簡要回顧OpenMP 2.5之後,本書回顧了自2.5以來引入的增強功能。然後詳細討論了任務分配,這是一個重要的功能增強;由OpenMP支持的非一致性內存訪問(NUMA)架構;SIMD,或稱單指令多數據;異構系統,一種將計算卸載到加速器的新並行編程模型;以及OpenMP的預期進一步發展。