首页> 外文会议>European conference on object-oriented programming >Co-specialization of Hardware and Software
【24h】

Co-specialization of Hardware and Software

机译:硬件和软件的共同专业化

获取原文

摘要

Hardware is becoming increasingly specialized because of the need for power efficiency. One way to gain efficiency is to use throughput-oriented processors (e.g. GPUs) optimized for data-parallel applications; these processors deliver more gigaflops per watt than CPUs optimized for single-threaded programs. On mobile and embedded platforms, where batteries limit the available energy, systems-on-a-chip contain multiple processors along with many specialized hardware units. Since most applications perform many different types of computations, the optimal platform will contain a heterogenous mixture of different types of processing elements. As the hardware has become more diverse, so have the programming models. This is because the low-level programming models reflect the underlying hardware abstractions. Unfortunately, the diversity in programming models makes it challenging for software developers to use emerging hardware platforms. The classic method for writing portable programs is to use a general-purpose programming language and an optimizing compiler. Unfortunately, current compilers are not powerful enough for todays platforms. Programs written for one class of machines will not run efficiently on another class of machines. My thesis is that the only practical method for writing programs for heterogeneous machines is to raise the level of the programming model. In particular, I advocate the use of domain-specific languages (DSLs). I will present the case for using DSLs, show how DSLs can cope with diverse hardware, and outline several areas of programming language research that may lead to better methods for building DSLs. Given the trend towards specialized hardware, it seems natural to co-specialize the software.
机译:由于对功率效率的需求,硬件变得越来越专业。一种提高效率的方法是使用针对数据并行应用优化的面向吞吐量的处理器(例如GPU)。与针对单线程程序进行了优化的CPU相比,这些处理器每瓦提供的千兆字节级数更多。在电池限制可用能量的移动和嵌入式平台上,片上系统包含多个处理器以及许多专用硬件单元。由于大多数应用程序执行许多不同类型的计算,因此最佳平台将包含不同类型处理元素的异构混合物。随着硬件变得越来越多样化,编程模型也变得更加多样化。这是因为低级编程模型反映了底层的硬件抽象。不幸的是,编程模型的多样性给软件开发人员使用新兴的硬件平台带来了挑战。编写可移植程序的经典方法是使用通用编程语言和优化的编译器。不幸的是,当前的编译器对于当今的平台还不够强大。为一类计算机编写的程序将无法在另一类计算机上有效运行。我的论文是,为异构机器编写程序的唯一实用方法是提高编程模型的水平。特别是,我主张使用领域特定语言(DSL)。我将介绍使用DSL的情况,展示DSL如何应付各种硬件,并概述编程语言研究的几个领域,这些领域可能会导致建立DSL的更好方法。考虑到专用硬件的趋势,将软件专业化似乎是很自然的事情。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号