【标题】:“面向神威·太湖之光的国产异构众核处理器OpenCL编译系统”
【描述】:本文介绍了一种针对神威·太湖之光超级计算机中使用的国产异构众核处理器SW26010的OpenCL编译系统。这个编译系统旨在降低程序员的编程复杂性,提升软件的移植效率。
【标签】:处理器,微型机器,数据处理,参考文献,专业指导
【内容概要】:随着硬件设计向着异构化发展,如何有效编写并行程序成为关键问题。神威·太湖之光超级计算机采用的SW26010处理器是中国自主研发的众核处理器,其特点是异构结构。为此,文章作者设计并实现了一个支持SW26010的OpenCL编译系统,该系统能够将OpenCL的平台模型、内存模型和执行模型映射并优化到SW26010上,并生成高效的可执行文件。实验结果表明,该编译系统在中等规模的输入下,性能优于Intel Xeon Phi,与NVIDIA GPU相当;但在大输入规模时,由于局部存储SPM的容量限制,性能略逊于NVIDIA GPU。
【详细知识点】:
1. 异构并行计算:硬件的异构化意味着不同类型的处理单元集成在同一芯片上,如CPU、GPU、DSP等,它们各自拥有不同的计算能力和功耗特性,适合处理不同类型的任务。
2. OpenCL:OpenCL是一种开放标准,用于编写跨平台的并行代码,支持多种架构,包括CPU、GPU和其他加速器。它提供了平台无关的编程模型,使得开发者可以编写一次代码,运行在各种异构设备上。
3. 国产SW26010处理器:这款处理器是为神威·太湖之光超级计算机设计的,具有众核架构,能够处理复杂的并行计算任务。其异构特性意味着它包含多种功能单元,可能包括传统的CPU核心和专门的加速器。
4. OpenCL编译系统:这个编译系统是针对SW26010设计的,能够将OpenCL源代码转换为适合SW26010的机器码。它实现了OpenCL的内存层次结构(全局、局部、私有、常量)到SW26010的映射,并进行优化,以充分利用硬件资源。
5. 编译器优化:编译系统中的优化策略可能包括指令级并行性挖掘、内存访问优化、负载平衡、调度等,以提高代码的运行效率。
6. 性能评估:实验表明,对于OpenCL应用,该编译系统在小至中等规模的数据处理中表现出色,但在大输入规模时,由于处理器的局部存储限制,性能受到影响。这提示我们在设计编译器时需要考虑硬件资源的限制,以及如何更有效地管理这些资源。
7. 移植效率:编译系统的目标之一是简化软件在不同硬件上的移植,减少程序员的工作负担。在本文中,这个目标通过支持OpenCL这一跨平台标准得以实现。
总结,本文详细介绍了面向神威·太湖之光的国产异构众核处理器SW26010的OpenCL编译系统的设计和实现,探讨了异构计算环境下编译器的关键作用,以及在实际应用中的性能表现。这对于理解和优化异构系统中的并行编程具有重要的参考价值。