嵌入式并行编程状况

The role of C in the dark ages of multi-core

http://dl.acm.org/citation.cfm?id=2465556&CFID=231626388&CFTOKEN=74397124

1.  并行应用现状

1)在超级计算领域,应用通常被拆分,以便通过网络利用成千上万的处理器。这些应用通常用FORTRAN和C语言实现。

2)在数据中心,无论是因特网服务还是云服务,由于独立的查询(读请求)非常频繁,而写请求相对稀少,存在大量的并行机会。但是,在这个领域,通常配置更多的硬件更为实惠,而不是去优化软件的并行性。

3)在图形图像计算领域,并行机会非常多,并且非常类同。正因为如此,OpenGL和DirectX等应用开发环境实际上能够在某种程度上提供并行领域少见的可移植能力,而保证性能。

4)在嵌入式领域,一方面需要编程语言对于硬件有较强的控制能力以充分提高效率,所以C语言广泛使用;另一方面C语言在本质上并不适合用于并行计算。OpenCL,因为在C语言基础上提供了将程序和数据映射到计算单元以及存储层次的库,得到了广泛的关注。但是,可移植性是并行计算领域的难点之一。


2. 嵌入式并行编程语言的需求

1)需要高效的实现,在效率上能够匹敌C语言。

2)需要将对并行的程序表达和对并行到硬件结构的映射分离开来来,从而提高可移植能力。这正是OpenCL所缺乏的。

3)需要便于使用软件工程对于生产力以软件质量的技术。C语言并不适合。一方面并行编程本身固有难度,另一方面C语言离抽象太远,离硬件结构太近。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值