并行程序设计导论

并行程序设计导论
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] ,
2012-11
版次: 1
ISBN: 9787111392842
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 264页
正文语种: 简体中文
原版书名: An Introduction to Parallel Programming
346人买过
  •   《并行程序设计导论》全面涵盖了并行软件和硬件的方方面面,深入浅出地介绍如何使用MPI(分布式内存编程)、Pthreads和OpenMP(共享内存编程)编写高效的并行程序。各章节包含了难易程度不同的编程习题。《并行程序设计导论》可以用做计算机科学专业低年级本科生的专业课程的教材,也可以作为软件开发人员学习并行程序设计的专业参考书。 出版者的话 
    译者序 
    本书赞誉 
    前言 
    致谢 
    第1章为什么要并行计算 
    1.1为什么需要不断提升的性能 
    1.2为什么需要构建并行系统 
    1.3为什么需要编写并行程序 
    1.4怎样编写并行程序 
    1.5我们将做什么 
    1.6并发、并行、分布式 
    1.7本书的其余部分 
    1.8警告 
    1.9字体约定 
    1.10小结 
    1.11习题 
    第2章并行硬件和并行软件 
    2.1背景知识 
    2.1.1冯·诺依曼结构 
    2.1.2进程、多任务及线程 
    2.2对冯·诺依曼模型的改进 
    2.2.1Cache基础知识 
    2.2.2Cache映射 
    2.2.3Cache和程序:一个实例 
    2.2.4虚拟存储器 
    2.2.5指令级并行 
    2.2.6硬件多线程 
    2.3并行硬件 
    2.3.1SIMD系统 
    2.3.2MIMD系统 
    2.3.3互连网络 
    2.3.4Cache一致性 
    2.3.5共享内存与分布式内存 
    2.4并行软件 
    2.4.1注意事项 
    2.4.2进程或线程的协调 
    2.4.3共享内存 
    2.4.4分布式内存 
    2.4.5混合系统编程 
    2.5输入和输出 
    2.6性能 
    2.6.1加速比和效率 
    2.6.2阿姆达尔定律 
    2.6.3可扩展性 
    2.6.4计时 
    2.7并行程序设计 
    2.8编写和运行并行程序 
    2.9假设 
    2.10小结 
    2.10.1串行系统 
    2.10.2并行硬件 
    2.10.3并行软件 
    2.10.4输入和输出 
    2.10.5性能 
    2.10.6并行程序设计 
    2.10.7假设 
    2.11习题 
    第3章用MPI进行分布式内存编程 
    3.1预备知识 
    3.1.1编译与执行 
    3.1.2MPI程序 
    3.1.3MPI_Init和MPI_Finalize 
    3.1.4通信子、MPI_Comm_size和MPI_Comm_rank 
    3.1.5SPMD程序 
    3.1.6通信 
    3.1.7MPI_Send 
    3.1.8MPI_Recv 
    3.1.9消息匹配 
    3.1.10status_p参数 
    3.1.11MPI_Send和MPI_Recv的语义 
    3.1.12潜在的陷阱 
    3.2用MPI来实现梯形积分法 
    3.2.1梯形积分法 
    3.2.2并行化梯形积分法 
    3.3I/O处理 
    3.3.1输出 
    3.3.2输入 
    3.4集合通信 
    3.4.1树形结构通信 
    3.4.2MPI_Reduce 
    3.4.3集合通信与点对点通信 
    3.4.4MPI_Allreduce 
    3.4.5广播 
    3.4.6数据分发 
    3.4.7散射 
    3.4.8聚集 
    3.4.9全局聚集 
    3.5MPI的派生数据类型 
    3.6MPI程序的性能评估 
    3.6.1计时 
    3.6.2结果 
    3.6.3加速比和效率 
    3.6.4可扩展性 
    3.7并行排序算法 
    3.7.1简单的串行排序算法 
    3.7.2并行奇偶交换排序 
    3.7.3MPI程序的安全性 
    3.7.4并行奇偶交换排序算法的重要内容 
    3.8小结 
    3.9习题 
    3.10编程作业 
    第4章用Pthreads进行共享内存编程 
    4.1进程、线程和Pthreads 
    4.2“Hello,World”程序 
    4.2.1执行 
    4.2.2准备工作 
    4.2.3启动线程 
    4.2.4运行线程 
    4.2.5停止线程 
    4.2.6错误检查 
    4.2.7启动线程的其他方法 
    4.3矩阵-向量乘法 
    4.4临界区 
    4.5忙等待 
    4.6互斥量 
    4.7生产者-消费者同步和信号量 
    4.8路障和条件变量 
    4.8.1忙等待和互斥量 
    4.8.2信号量 
    4.8.3条件变量 
    4.8.4Pthreads路障 
    4.9读写锁 
    4.9.1链表函数 
    4.9.2多线程链表 
    4.9.3Pthreads读写锁 
    4.9.4不同实现方案的性能 
    4.9.5实现读写锁 
    4.10缓存、缓存一致性和伪共享 
    4.11线程安全性 
    4.12小结 
    4.13习题 
    4.14编程作业 
    第5章用OpenMP进行共享内存编程 
    5.1预备知识 
    5.1.1编译和运行OpenMP程序 
    5.1.2程序 
    5.1.3错误检查 
    5.2梯形积分法 
    5.3变量的作用域 
    5.4归约子句 
    5.5parallelfor指令 
    5.5.1警告 
    5.5.2数据依赖性 
    5.5.3寻找循环依赖 
    5.5.4π值估计 
    5.5.5关于作用域的更多问题 
    5.6更多关于OpenMP的循环:排序 
    5.6.1冒泡排序 
    5.6.2奇偶变换排序 
    5.7循环调度 
    5.7.1schedule子句 
    5.7.2static调度类型 
    5.7.3dynamic和guided调度类型 
    5.7.4runtime调度类型 
    5.7.5调度选择 
    5.8生产者和消费者问题 
    5.8.1队列 
    5.8.2消息传递 
    5.8.3发送消息 
    5.8.4接收消息 
    5.8.5终止检测 
    5.8.6启动 
    5.8.7atomic指令 
    5.8.8临界区和锁 
    5.8.9在消息传递程序中使用锁 
    5.8.10critical指令、atomic指令、锁的比较 
    5.8.11经验 
    5.9缓存、缓存一致性、伪共享 
    5.10线程安全性 
    5.11小结 
    5.12习题 
    5.13编程作业 
    第6章并行程序开发 
    6.1n体问题的两种解决方法 
    6.1.1问题 
    6.1.2两个串行程序 
    6.1.3并行化n体算法 
    6.1.4关于I/O 
    6.1.5用OpenMP并行化基本算法 
    6.1.6用OpenMP并行化简化算法 
    6.1.7评估OpenMP程序 
    6.1.8用Pthreads并行化算法 
    6.1.9用MPI并行化基本算法 
    6.1.10用MPI并行化简化算法 
    6.1.11MPI程序的性能 
    6.2树形搜索 
    6.2.1递归的深度优先搜索 
    6.2.2非递归的深度优先搜索 
    6.2.3串行实现所用的数据结构 
    6.2.4串行实现的性能 
    6.2.5树形搜索的并行化 
    6.2.6采用Pthreads实现的静态并行化树搜索 
    6.2.7采用Pthreads实现的动态并行化树搜索 
    6.2.8Pthreads树搜索程序的评估 
    6.2.9采用OpenMp实现的并行化树搜索程序 
    6.2.10OpenMp实现的性能 
    6.2.11采用MPI和静态划分来实现树搜索 
    6.2.12采用MPI和动态划分来实现树搜索 
    6.3忠告 
    6.4选择哪个API 
    6.5小结 
    6.5.1Pthreads和OpenMP 
    6.5.2MPI 
    6.6习题 
    6.7编程作业 
    第7章接下来的学习方向 
    参考文献 
    索引
  • 内容简介:
      《并行程序设计导论》全面涵盖了并行软件和硬件的方方面面,深入浅出地介绍如何使用MPI(分布式内存编程)、Pthreads和OpenMP(共享内存编程)编写高效的并行程序。各章节包含了难易程度不同的编程习题。《并行程序设计导论》可以用做计算机科学专业低年级本科生的专业课程的教材,也可以作为软件开发人员学习并行程序设计的专业参考书。
  • 目录:
    出版者的话 
    译者序 
    本书赞誉 
    前言 
    致谢 
    第1章为什么要并行计算 
    1.1为什么需要不断提升的性能 
    1.2为什么需要构建并行系统 
    1.3为什么需要编写并行程序 
    1.4怎样编写并行程序 
    1.5我们将做什么 
    1.6并发、并行、分布式 
    1.7本书的其余部分 
    1.8警告 
    1.9字体约定 
    1.10小结 
    1.11习题 
    第2章并行硬件和并行软件 
    2.1背景知识 
    2.1.1冯·诺依曼结构 
    2.1.2进程、多任务及线程 
    2.2对冯·诺依曼模型的改进 
    2.2.1Cache基础知识 
    2.2.2Cache映射 
    2.2.3Cache和程序:一个实例 
    2.2.4虚拟存储器 
    2.2.5指令级并行 
    2.2.6硬件多线程 
    2.3并行硬件 
    2.3.1SIMD系统 
    2.3.2MIMD系统 
    2.3.3互连网络 
    2.3.4Cache一致性 
    2.3.5共享内存与分布式内存 
    2.4并行软件 
    2.4.1注意事项 
    2.4.2进程或线程的协调 
    2.4.3共享内存 
    2.4.4分布式内存 
    2.4.5混合系统编程 
    2.5输入和输出 
    2.6性能 
    2.6.1加速比和效率 
    2.6.2阿姆达尔定律 
    2.6.3可扩展性 
    2.6.4计时 
    2.7并行程序设计 
    2.8编写和运行并行程序 
    2.9假设 
    2.10小结 
    2.10.1串行系统 
    2.10.2并行硬件 
    2.10.3并行软件 
    2.10.4输入和输出 
    2.10.5性能 
    2.10.6并行程序设计 
    2.10.7假设 
    2.11习题 
    第3章用MPI进行分布式内存编程 
    3.1预备知识 
    3.1.1编译与执行 
    3.1.2MPI程序 
    3.1.3MPI_Init和MPI_Finalize 
    3.1.4通信子、MPI_Comm_size和MPI_Comm_rank 
    3.1.5SPMD程序 
    3.1.6通信 
    3.1.7MPI_Send 
    3.1.8MPI_Recv 
    3.1.9消息匹配 
    3.1.10status_p参数 
    3.1.11MPI_Send和MPI_Recv的语义 
    3.1.12潜在的陷阱 
    3.2用MPI来实现梯形积分法 
    3.2.1梯形积分法 
    3.2.2并行化梯形积分法 
    3.3I/O处理 
    3.3.1输出 
    3.3.2输入 
    3.4集合通信 
    3.4.1树形结构通信 
    3.4.2MPI_Reduce 
    3.4.3集合通信与点对点通信 
    3.4.4MPI_Allreduce 
    3.4.5广播 
    3.4.6数据分发 
    3.4.7散射 
    3.4.8聚集 
    3.4.9全局聚集 
    3.5MPI的派生数据类型 
    3.6MPI程序的性能评估 
    3.6.1计时 
    3.6.2结果 
    3.6.3加速比和效率 
    3.6.4可扩展性 
    3.7并行排序算法 
    3.7.1简单的串行排序算法 
    3.7.2并行奇偶交换排序 
    3.7.3MPI程序的安全性 
    3.7.4并行奇偶交换排序算法的重要内容 
    3.8小结 
    3.9习题 
    3.10编程作业 
    第4章用Pthreads进行共享内存编程 
    4.1进程、线程和Pthreads 
    4.2“Hello,World”程序 
    4.2.1执行 
    4.2.2准备工作 
    4.2.3启动线程 
    4.2.4运行线程 
    4.2.5停止线程 
    4.2.6错误检查 
    4.2.7启动线程的其他方法 
    4.3矩阵-向量乘法 
    4.4临界区 
    4.5忙等待 
    4.6互斥量 
    4.7生产者-消费者同步和信号量 
    4.8路障和条件变量 
    4.8.1忙等待和互斥量 
    4.8.2信号量 
    4.8.3条件变量 
    4.8.4Pthreads路障 
    4.9读写锁 
    4.9.1链表函数 
    4.9.2多线程链表 
    4.9.3Pthreads读写锁 
    4.9.4不同实现方案的性能 
    4.9.5实现读写锁 
    4.10缓存、缓存一致性和伪共享 
    4.11线程安全性 
    4.12小结 
    4.13习题 
    4.14编程作业 
    第5章用OpenMP进行共享内存编程 
    5.1预备知识 
    5.1.1编译和运行OpenMP程序 
    5.1.2程序 
    5.1.3错误检查 
    5.2梯形积分法 
    5.3变量的作用域 
    5.4归约子句 
    5.5parallelfor指令 
    5.5.1警告 
    5.5.2数据依赖性 
    5.5.3寻找循环依赖 
    5.5.4π值估计 
    5.5.5关于作用域的更多问题 
    5.6更多关于OpenMP的循环:排序 
    5.6.1冒泡排序 
    5.6.2奇偶变换排序 
    5.7循环调度 
    5.7.1schedule子句 
    5.7.2static调度类型 
    5.7.3dynamic和guided调度类型 
    5.7.4runtime调度类型 
    5.7.5调度选择 
    5.8生产者和消费者问题 
    5.8.1队列 
    5.8.2消息传递 
    5.8.3发送消息 
    5.8.4接收消息 
    5.8.5终止检测 
    5.8.6启动 
    5.8.7atomic指令 
    5.8.8临界区和锁 
    5.8.9在消息传递程序中使用锁 
    5.8.10critical指令、atomic指令、锁的比较 
    5.8.11经验 
    5.9缓存、缓存一致性、伪共享 
    5.10线程安全性 
    5.11小结 
    5.12习题 
    5.13编程作业 
    第6章并行程序开发 
    6.1n体问题的两种解决方法 
    6.1.1问题 
    6.1.2两个串行程序 
    6.1.3并行化n体算法 
    6.1.4关于I/O 
    6.1.5用OpenMP并行化基本算法 
    6.1.6用OpenMP并行化简化算法 
    6.1.7评估OpenMP程序 
    6.1.8用Pthreads并行化算法 
    6.1.9用MPI并行化基本算法 
    6.1.10用MPI并行化简化算法 
    6.1.11MPI程序的性能 
    6.2树形搜索 
    6.2.1递归的深度优先搜索 
    6.2.2非递归的深度优先搜索 
    6.2.3串行实现所用的数据结构 
    6.2.4串行实现的性能 
    6.2.5树形搜索的并行化 
    6.2.6采用Pthreads实现的静态并行化树搜索 
    6.2.7采用Pthreads实现的动态并行化树搜索 
    6.2.8Pthreads树搜索程序的评估 
    6.2.9采用OpenMp实现的并行化树搜索程序 
    6.2.10OpenMp实现的性能 
    6.2.11采用MPI和静态划分来实现树搜索 
    6.2.12采用MPI和动态划分来实现树搜索 
    6.3忠告 
    6.4选择哪个API 
    6.5小结 
    6.5.1Pthreads和OpenMP 
    6.5.2MPI 
    6.6习题 
    6.7编程作业 
    第7章接下来的学习方向 
    参考文献 
    索引
查看详情
系列丛书 / 更多
并行程序设计导论
Java编程思想(第4版)
[美]Bruce Eckel 著;陈昊鹏 译
并行程序设计导论
数据挖掘:概念与技术(原书第3版)
[美]Jiawei、[美]Micheling、[美]Jian Pei 著;范明、孟小峰 译
并行程序设计导论
算法导论(原书第3版)
[美]Thomas、[美]Charles、[美]Ronald、[美]Clifford Stein 著;殷建平、徐云、王刚 译
并行程序设计导论
数据结构与算法分析:Java语言描述
[美]马克·艾伦·维斯 著;陈越 译
并行程序设计导论
C程序设计语言(第二版)
[美]Brian(布莱恩·克尼汉)、[美]Dennis M.Ritchie(丹尼斯·里奇) 著;徐宝文、李志 译
并行程序设计导论
C程序设计语言(第2版·新版) 习题解答
吉米拜尔 著;杨涛 译;[美]汤朵
并行程序设计导论
计算机科学丛书·云计算:概念、技术与架构
[美]Thomas、[英]Zaigham、[巴西]Ricardo Puttini 著;龚奕利、贺莲、胡创 译
并行程序设计导论
数据库系统概念:(原书第6版)
[美]Abraham、Henry、S.Sudarshan 著;杨冬青、李红燕、唐世渭 译
并行程序设计导论
深入理解计算机系统(原书第3版)
[美]兰德尔 E.布莱恩特(Randal E.·Bryant) 著;龚奕利、贺莲 译
并行程序设计导论
编译原理:原理、技术与工具
[美]阿霍 著;赵建华 译
并行程序设计导论
计算机科学导论:原书第3版
[美]Behrouz Forouzan 著;刘艺 译
并行程序设计导论
软件工程:实践者的研究方法(原书第8版 本科教学版)
[美]罗杰 S. 普莱斯曼 著;郑人杰、马素霞 译
相关图书 / 更多
并行程序设计导论
并行程序设计:概念与实践
[德]贝蒂尔·施密特(Bertil Schmidt) 著;张常有 、吴长茂、解庆春 译
并行程序设计导论
并行编程
张杨
并行程序设计导论
并行计算导论/人工智能与大数据技术丛书
雷向东、雷振阳、龙军 著
并行程序设计导论
并行离群数据挖掘及应用
李俊丽 著
并行程序设计导论
并行数据挖掘及性能优化:关联规则与数据相关性分析
荀亚玲 著
并行程序设计导论
并行编程实战——基于C#8和.NETCore3
[印]沙克蒂·坦沃 著;马琳琳 译
并行程序设计导论
并行计算与高性能计算
尤莉安娜·萨莫拉(Yuliana Zamora)著 殷海英 译;[美]罗伯特·罗比(Robert Robey)
并行程序设计导论
并行化河流数学模型研发及应用
李健、霍军军 著
并行程序设计导论
并行多核体系结构基础
[美]汤孟岩(Yan Solihin)
并行程序设计导论
并行计算机体系结构(第2版)
陈国良
并行程序设计导论
并行计算与程序设计 第2版
刘其成
并行程序设计导论
并行编程原理与程序设计
何兵寿;宋鹏;刘颖
您可能感兴趣 / 更多
并行程序设计导论
数学旅行家 文教科普读物 (美)卡尔文・c.克劳森
[美]卡尔文・c.克劳森
并行程序设计导论
向世界好的医院力
[美]理查德·温特斯(RichardWinters)
并行程序设计导论
像作家一样阅读:提升读写能力的10堂课
[美]艾琳·M.普希曼
并行程序设计导论
黑的眼睛不看光明 心理学
[美]玛利亚娜·亚历山德里
并行程序设计导论
觉醒 外国现当代文学
[美]凯特·肖邦
并行程序设计导论
从众陷阱 成功学 (美)托德·罗斯(todd rose)
[美]托德·罗斯(toddrose)
并行程序设计导论
海洋全书:国家地理新探索
[美]西尔维娅·A.厄尔
并行程序设计导论
吃的勇气:365天告别饮食内耗,与食物和解
[美]伊芙琳·特里波尔(EvelynTribole)