并行计算的内存模型和编程模型
2010-04-14 15:21
337 查看
1.共享式内存模型(shared memory)
所有的处理单元共享内存,拥有统一的地址空间
这种模型的缺点在于 扩展性差,在增加 处理单元和内存的情况下,同步操作必须要编程
2.分布式内存模型(distributed memory)
3.混合式内存模型(hybird )
There are several parallel programming models in common use:
Shared Memory
Threads
Message Passing
Data Parallel
Hybrid
以上是 虚拟的架构和具体底层物理架构无关
在 shared memory 硬件底层上 可以实现 共享内存模型
线程模型我感觉 并行代码设计比较简单,但是需要写大量的同步操作,粒度问题非常考验编程功底
具体实现: posix thread(基于库),openmp (基于编译指令)
消息传递模型可扩展性强
所有的处理单元共享内存,拥有统一的地址空间
这种模型的缺点在于 扩展性差,在增加 处理单元和内存的情况下,同步操作必须要编程
2.分布式内存模型(distributed memory)
3.混合式内存模型(hybird )
There are several parallel programming models in common use:
Shared Memory
Threads
Message Passing
Data Parallel
Hybrid
以上是 虚拟的架构和具体底层物理架构无关
在 shared memory 硬件底层上 可以实现 共享内存模型
线程模型我感觉 并行代码设计比较简单,但是需要写大量的同步操作,粒度问题非常考验编程功底
具体实现: posix thread(基于库),openmp (基于编译指令)
消息传递模型可扩展性强
相关文章推荐
- 并行计算基础&编程模型与工具
- 【并行计算】用MPI进行分布式内存编程(一)
- 老李分享: 并行计算基础&编程模型与工具 1
- 【并行计算】用MPI进行分布式内存编程(二)
- 并行编程——内存模型之缓存一致性
- OpenCL异构并行计算编程笔记(2):命令队列与内存对象
- 并行编程3——内存模型之原子性
- 老李分享: 并行计算基础&编程模型与工具 2
- OpenCL异构并行计算编程笔记(2):命令队列与内存对象
- 百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。
- Java 并发编程 内存模型 volatile关键字 -- JAVA 进阶
- 【并行计算-CUDA开发】GPU并行编程方法
- 【转】浅谈.NET下的多线程和并行计算(八)Winform中多线程编程基础上
- 并行计算简介和多核CPU编程Demo
- Linux下计算进程的CPU占用和内存占用的编程方法
- 【Cuda并行编程之二】Cuda Memory Hierarchy_Cuda内存层次结构
- 计算模型给多线程编程带来的影响
- 并发编程之 Java 内存模型 + volatile 关键字 + Happen-Before 规则
- Linux下计算进程的CPU占用和内存占用的编程方法
- MPI实现fft的迭代算法 源于并行计算——结构。算法。编程中伪码 更新1