并行程序设计导论pdf电子书_《并行程序设计导论》 一些笔记与思考

本文是作者阅读《并行程序设计导论》的笔记,主要介绍了MPI的基本概念,如启动、通信器、点对点通信、集体通信以及数据分布。文中探讨了MPI在并行计算中的应用,如归约操作,并讨论了如何将这些概念映射到C++泛型编程中。此外,还分享了作者关于并行计算的一些思考,如错误处理、DAG和泛型编程在并行计算中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人blog原址: 一些笔记与思考 ,后续基本都会同步到知乎~

这两天重新看了《并行程序设计导论》,以前看过编程范式里的一些泛型编程,对于编程模型有些浅薄的思路,趁机记录一下。有经验的大神可以直接跳到第四部分看看本鶸的一些思路。

一、背景介绍

计算机比较原始的三大领域:存储、通讯、计算。

几年前老大做了分布式存储,去年做了异步通信,最近他要做并行计算了。

于是我上周学着以前做过的MIT 6.824课设的做法给做了个demo,老大不满意,说这个模型不希望上来就考虑存储,要把最抽象的语义提炼出来。我想了想,这其实就是hadoop与MPI的关系。

同样作为分布式框架,MPI的想法是计算和存储分离的,而hadoop因为有hdfs,所以属于计算向存储的迁移。可以说后者是前者的演进,但是MPI更为通用。

我们的workflow里的算法工厂一直秉承着这样的设计思想:所有基本算法任务都是符合通用算法的,进而在上面做行为派生。那么在我们想设计一类基本算法任务(比如排序、合并、归约),它的最小需求集是什么?

带着这个问题我看着书写了如下笔记与思考。

二、本书纲要

我看的英文版,几大章节分别是:

Chapter 1 Why Parallel Computing?

Chapter 2 Parallel Hardware and Parallel Software

Chapter 3 Distributed-Memory Programming with MPI

Chapter 4 Shared-Memory Programming with Pthreads

Chapter 5 Shared-Memory Programming with OpenMP

Chapter 6 Parallel Program Development

可以看到,并行计算可以按照内存中的并行或者分布式机器上的并行进行划分。本书介绍的pthreads,OpenMP,还有先前从入门到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值