首页> 外文会议>Modeling and Simulation for Defense Systems and Applications X >Adaptive OpenCL Libraries for Platform Portability
【24h】

Adaptive OpenCL Libraries for Platform Portability

机译:自适应OpenCL库以实现平台可移植性

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

摘要

The OpenCL API provides an abstract mechanism for massively parallel programming on a very wide range of hardware, including traditional CPUs, GPUs, accelerator devices, FPGAs, and more. However, these different hardware architectures and platforms function quite differently. Therefore, coding OpenCL applications that are usefully portable is challenging. Certain considerations are therefore required in developing an effectively portable OpenCL library to enable parallel application development without requiring fully separate code paths for each target platform. By making use of device detection and characterization provided by the OpenCL API, valuable information can be obtained to make runtime decisions for optimization. In particular, the effects of memory affinity change depending on the memory organization of the device architecture. Work partitioning and assignment depend on the device execution model, in particular the types of parallel execution supported and available synchronization primitives. These considerations, in turn, affect the selection and invocation of kernel code. For certain devices, platform-specific libraries are available, while others can benefit from generated kernel code based on the specified device parameters. By parameterizing an algorithm based on how these considerations affect performance, a combination of device parameters can be used to produce an execution strategy that will provide improved performance for that device or collection of devices.
机译:OpenCL API提供了一种抽象机制,可在各种硬件上进行大规模并行编程,这些硬件包括传统的CPU,GPU,加速器设备,FPGA等。但是,这些不同的硬件体系结构和平台的功能完全不同。因此,编写有用的可移植的OpenCL应用程序是一个挑战。因此,在开发有效的可移植OpenCL库时需要某些注意事项,以支持并行应用程序开发,而无需为每个目标平台使用完全独立的代码路径。通过利用OpenCL API提供的设备检测和特性描述,可以获得有价值的信息,以制定运行时决策以进行优化。特别地,存储器亲和力的影响根据设备架构的存储器组织而改变。工作分区和分配取决于设备执行模型,尤其是受支持的并行执行的类型和可用的同步原语。这些考虑因素反过来会影响内核代码的选择和调用。对于某些设备,特定于平台的库是可用的,而其他库则可以从基于指定设备参数的生成的内核代码中受益。通过基于这些考虑因素如何影响性能来对算法进行参数化,可以将设备参数的组合用于生成执行策略,该策略将为该设备或设备集合提供改进的性能。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号