并行编程模型opencl、mpi、cuda等的区别

(1)CUDA与opencl:

虽然两者抱着相同的目标:通用并行计算。但是CUDA仅仅能够在NVIDIA的GPU硬件上运行,而OpenCL的目标是面向任何一种Massively Parallel Processor,期望能够对不同种类的硬件给出一个相同的编程模型。由于这一根本区别,二者在很多方面都存在不同。跨平台性和通用性,这一点上OpenCL占有很大优势(这也是很多National Laboratory使用OpenCL进行科学计算的最主要原因)。OpenCL支持包括ATI,NVIDIA,Intel,ARM在内的多类处理器,并能支持运行在CPU的并行代码,同时还独有Task-Parallel Execution Mode,能够更好的支持异构计算(Heterogeneous Computing)。这一点是仅仅支持数据级并行并仅能在NVIDIA众核处理器上运行的CUDA无法做到的。

opencl优点:OpenCL为异构平台提供了一个编写程序,尤其是并行程序的开放的框架标准。 OpenCL所支持的异构平台(单一pc机或者手机)可由多核CPU、GPU、FPGA、DSP或其他类型的处理器组成。用OpenCL编写的应用具有很好的移植性,能在不同的设备上运行.

(2)OpenCL is designed for multi-cores system,所以不能用于multi-computers(每个computer是一个multi-cores system)编程;

(3)MPI(Message Passing Interface ):提供了多台计算机构成的集群的并行编程框架;

(4)openMP(Open Multi-Pr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值