欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • OpenMP核心技术指南/高性能计算技术丛书
      • 作者:(美)蒂莫西·G.马特森//何云//爱丽丝·E.康尼西|责编:曲熠|译者:黄智濒//杨旭东
      • 出版社:机械工业
      • ISBN:9787111684343
      • 出版日期:2021/06/01
      • 页数:200
    • 售价:31.6
  • 内容大纲

        随着技术的不断演化,OpenMP已经从一种简洁的API发展成庞大且复杂的编程模型,从而变得难以学习和应用。本书回归OpenMP最初的设计哲学,提炼出大多数程序员最常用的21项核心知识——称为OpenMP“通用核心”,为零基础读者搭建了从通用核心到OpenMP多线程编程的高效学习阶梯。
        本书涵盖并行计算的核心设计模式、共享工作循环构造、OpenMP数据环境、OpenMP任务和OpenMP内存模型等内容,采用编程驱动的方式,借助复杂性逐渐提高的实例来逐步引入新概念。此外,本书网站ompcore.com不断更新,为读者免费提供各类代码示例和练习题。
  • 作者介绍

  • 目录

    译者序
    序言
    前言
    第一部分  做好学习OpenMP的准备
    第1章  并行计算
      1.1  并行计算的基本概念
      1.2  并发性的兴起
      1.3  并行硬件
        1.3.1  多处理器系统
        1.3.2  图形处理单元
        1.3.3  分布式内存集群
      1.4  多处理器计算机的并行软件
    第2章  性能语言
      2.1  基础:FLOPS、加速比和并行效率
      2.2  阿姆达尔定律
      2.3  并行开销
      2.4  强扩展与弱扩展
      2.5  负载均衡
      2.6  用roofline模型理解硬件
    第3章  什么是OpenMP
      3.1  OpenMP的历史
      3.2  通用核心
      3.3  OpenMP的主要组件
    第二部分  OpenMP通用核心
    第4章  线程和OpenMP编程模型
      4.1  OpenMP概述
      4.2  OpenMP 程序的结构
      4.3  线程和fork-join模式
      4.4  使用线程
        4.4.1  SPMD设计模式
        4.4.2  伪共享
        4.4.3  同步
      4.5  结束语
    第5章  并行化循环
      5.1  共享工作循环构造
      5.2  组合式并行共享工作循环构造
      5.3  归约
      5.4  循环调度
        5.4.1  静态调度
        5.4.2  动态调度
        5.4.3  选择一个调度
      5.5  隐式栅栏和nowait子句
      5.6  带有并行循环共享工作的Pi程序
      5.7  一种循环级并行策略
      5.8  结束语
    第6章  OpenMP数据环境
      6.1  缺省存储属性
      6.2  修改存储属性
        6.2.1  shared子句
        6.2.2  private子句

        6.2.3  firstprivate子句
        6.2.4  default子句
      6.3  数据环境的例子
        6.3.1  数据作用域测试
        6.3.2  曼德勃罗集的面积
        6.3.3  重新审视Pi循环的例子
      6.4  数组和指针
      6.5  结束语
    第7章  OpenMP任务
      7.1  任务的必要性
      7.2  显式任务
      7.3  第一个例子:薛定谔程序
      7.4  single构造
      7.5  使用任务
        7.5.1  什么时候任务完成
      7.6  任务的数据环境
        7.6.1  任务的缺省数据作用域
        7.6.2  利用任务重新审视链表程序
      7.7  利用任务的基础设计模式
        7.7.1  分而治之模式
      7.8  结束语
    第8章  OpenMP内存模型
      8.1  重新审视内存层次结构
      8.2  OpenMP通用核心内存模型
      8.3  使用共享内存
      8.4  结束语
    第9章  通用核心回顾
      9.1  管理线程
      9.2  共享工作构造
      9.3  组合式并行共享工作循环构造
      9.4  OpenMP任务
      9.5  同步和内存一致性模型
      9.6  数据环境子句
      9.7  归约子句
      9.8  环境变量和运行时库例程
    第三部分  超越通用核心
    第10章  超越通用核心的多线程
      10.1  用于OpenMP通用核心构造的附加子句
        10.1.1  并行构造
        10.1.2  共享工作循环构造
        10.1.3  任务构造
      10.2  通用核心中缺失的多线程功能
        10.2.1  threadprivate
        10.2.2  master
        10.2.3  atomic
        10.2.4  OMP_STACKSIZE
        10.2.5  运行时库例程
      10.3  结束语
    第11章  同步和OpenMP内存模型
      11.1  内存一致性模型

      11.2  成对同步
      11.3  锁以及如何使用它
      11.4  C++内存模型和OpenMP
      11.5  结束语
    第12章  超越OpenMP通用核心的硬件
      12.1  非统一内存访问系统
        12.1.1  在NUMA系统上工作
        12.1.2  嵌套并行构造
        12.1.3  检查线程亲和力
        12.1.4  小结:线程亲和力和数据局部性
      12.2  SIMD
      12.3  设备构造
      12.4  结束语
    第13章  继续OpenMP的学习
      13.1  来自ARB的程序员资源
      13.2  如何阅读OpenMP规范
        13.2.1  带有所有正式术语的OpenMP
      13.3  OpenMP规范的结构
      13.4  结束语
    术语表