...
首页> 外文期刊>Technique et science informatiques >Programmation unifiée multi-accélérateur avec OpenCL
【24h】

Programmation unifiée multi-accélérateur avec OpenCL

机译:使用OpenCL进行统一的多加速器编程

获取原文
获取原文并翻译 | 示例

摘要

The OpenCL standard defines a unified programming interface based on a task model that can target different kinds of compute units (GPU, CPU, Cell...). OpenCL gives application programmers the full control of task scheduling on the different devices that are available. Consequently, programmers are most likely to rely on a static task scheduling scheme. However this may not be efficient on heterogeneous architectures such as those containing accelerators in addition to the CPU. Load-balancing is really hard to achieve, especially if data have different granularities and if the number of tasks can't be statically known. OpenCL programs are thus hardly scalable on hybrid systems. In this paper, we propose to solve this issue by grouping every OpenCL unit into a single virtual one. By doing that, applications only have to submit tasks to this virtual unit and let the runtime system manage data transfers and task scheduling on real units. We show that this approach really eases the burden typically associated with application programming on hybrid systems and that it is done in a efficient manner.%Le standard OpenCL propose une interface de programmation basée sur un parallélisme de taches et supportée par différents types d'unités de calcul (GPU, CPU, Cell... ). L'une des caractéristiques d'OpenCL est que le placement des taches sur les différentes unités de calcul doit être fait manuellement. Pour une machine hybride disposant par exemple de multic?urs et d'accélérateurs), l'équilibrage de charge entre les différentes unités est très difficile à obtenir à cause de cette contrainte. C'est particulièrement le cas des applications dont le grain et le nombre des taches varient au cours de l'exécution. Il en découle par ailleurs que le passage à l'échelle d'une application OpenCL est limitée dans le contexte d'une machine hybride. Nous proposons dans cet article de remédier à cette limitation en créant une unité virtuelle et parallèle de calcul, regroupant les différentes unités de la machine. Le placement manuel d'OpenCL cible cette unité virtuelle, et la responsabilité du placement sur les unités réelles est laissée à un support exécutif. Ce support exécutif se charge d'effectuer les transferts de données et les placements des taches sur les unités réelles. Nous montrons que cette solution permet de simplifier grandement la programmation d'applications pour architectures hybrides et cela de fa?on efficace.
机译:OpenCL标准基于任务模型定义了一个统一的编程接口,该任务模型可以针对不同类型的计算单元(GPU,CPU,Cell ...)。 OpenCL使应用程序程序员可以完全控制可用设备上的任务调度。因此,程序员最有可能依赖静态任务调度方案。但是,这对于异构架构(例如除了CPU之外还包含加速器的异构架构)可能不是有效的。负载平衡确实很难实现,尤其是在数据具有不同的粒度并且无法静态知道任务数量的情况下。因此,OpenCL程序在混合系统上几乎不可扩展。在本文中,我们建议通过将每个OpenCL单元分组为一个虚拟单元来解决此问题。这样,应用程序只需要向该虚拟单元提交任务,并让运行时系统管理实际单元上的数据传输和任务调度。我们证明了这种方法确实减轻了通常与混合系统上的应用程序编程相关的负担,并且以一种有效的方式完成了。%Le标准OpenCL提出了基于界面的编程接口,并提供了不同类型的单元支持。 de calcul(GPU,CPU,Cell ...)。营业执照法令委员会的裁定书,区别于普通法制表。倒装混合动力处置剂,例如,多用途和多用途的混合动力处置剂。例行的最佳应用程序不会执行各种变奏法。应用程序在OpenCL estlimitéedans le Contexts d'une机器混合中的应用。限制和补充视力的单位限制和机器差异的重新提议。 OpenCL强制性单位安置手册和负责任的永久性安置责任书。负责执行统一法律和司法转让手续的行政执法人员。 Nous montrons que cette解决方案简化了程序设计和应用程序,可将体系结构混合在一起并实现出色的效果。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号