导图社区 并行程序设计01背景介绍
学习自用,并行程序设计01背景介绍
Python是一种跨平台的计算机程序设计语言。,是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。下图梳理了Python的入门、进阶、实战、高阶等,赶快学习吧!
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
并行程序设计01背景介绍
参考资料
并行程序设计导论
1.Why需要并行计算
why不断提升性能
不断提升的计算能力已成为很多学科发展的核心力量
why构建并行系统
单处理器性能靠日益增加的集成电路晶体管弥渡大幅提升
晶体管尺寸减小,传递速度加快,集成电路整体速度提高
随着晶体管速度提高,能耗增加,已热能形式散发
用空气冷却的集成电路散热能力已达到极限
why编写并行程序
大多数为传统单核编写的程序无法利用多核处理器
串行程序改成并行
翻译程序自动将串行程序翻译成并行
最好的并行化实现可能是通过一步步回溯,然后发现一个全新算法获得的
p3example
编写并行程序,发掘多核处理器潜在性能
how编写并行程序
任务并行
将待解决问题所需要执行的各个任务分配给各个核上执行
数据并行
将待解决问题所需要处理的数据分配给各个核,每个核在分配的数据集上执行大致相似的操作
核之间协调工作
通信
负载平衡
同步
做what
关注点:两种主要并行系统
共享内存系统
分布式内存系统
目标:编写显示并行程序(C与C的三种扩展)
MPI(Message-Passing Interface)消息传递接口
为分布式内存系统设计,提供发送消息机制
POSIX(POSIX threads,Pthreads)POSIX线程
针对共享内存系统设计,提供共享内存机制
提供了一些在openMP中不可用的协调构造
增强了并行化其他一些程序能力
OpenMP
是对c语言相对更高层次扩展,
容易将很多程序并行化
其他概念
并发,并行,分布式
并发(cocurrent)一个程序的多个任务在同一时段可以同时执行
并行(parallel)一个程序通过多个任务紧密协作来解决某个问题
分布式(distributed)一个程序需要与其他程序协作来解决某个问题