...
首页> 外文期刊>Scientific programming >Machine and Collection Abstractions for User-Implemented Data-Parallel Programming
【24h】

Machine and Collection Abstractions for User-Implemented Data-Parallel Programming

机译:用户实现的数据并行编程的机器和集合抽象

获取原文
   

获取外文期刊封面封底 >>

       

摘要

Data parallelism has appeared as a fruitful approach to the parallelisation of compute-intensive programs. Data parallelism has the advantage of mimicking the sequential (and deterministic) structure of programs as opposed to task parallelism, where the explicit interaction of processes has to be programmed. In data parallelism data structures, typically collection classes in the form of large arrays, are distributed on the processors of the target parallel machine. Trying to extract distribution aspects from conventional code often runs into problems with a lack of uniformity in the use of the data structures and in the expression of data dependency patterns within the code. Here we propose a framework with two conceptual classes, Machine and Collection. The Machine class abstracts hardware communication and distribution properties. This gives a programmer high-level access to the important parts of the low-level architecture. The Machine class may readily be used in the implementation of a Collection class, giving the programmer full control of the parallel distribution of data, as well as allowing normal sequential implementation of this class. Any program using such a collection class will be parallelisable, without requiring any modification, by choosing between sequential and parallel versions at link time. Experiments with a commercial application, built using the Sophus library which uses this approach to parallelisation, show good parallel speed-ups, without any adaptation of the application program being needed.
机译:数据并行化已成为对计算密集型程序进行并行化的有效方法。数据并行化具有模仿程序的顺序(和确定性)结构的优势,与任务并行化相对,任务并行化必须对进程的显式交互进行编程。在数据并行性中,通常以大阵列形式的收集类的数据结构分布在目标并行机的处理器上。试图从常规代码中提取分布方面经常会遇到问题,即在数据结构的使用和代码内数据相关性模式的表达方面缺乏统一性。在这里,我们提出了一个包含两个概念类的框架,即Machine和Collection。 Machine类抽象了硬件通信和分发属性。这使程序员可以高层访问底层结构的重要部分。 Machine类可以很容易地在Collection类的实现中使用,从而使程序员可以完全控制数据的并行分发,并允许该类的常规顺序实现。通过在链接时在顺序版本和并行版本之间进行选择,使用此类集合类的任何程序都可以并行化,而无需进行任何修改。使用Sophus库构建的商业应用程序的实验使用该方法进行并行化,显示出良好的并行速度,而无需对应用程序进行任何修改。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号