围绕面向硬件架构特征和软件应用特点的新型编程模型、编译优化、系统软件和软件分析等方面展开研究,主要研究方向覆盖:
a. 芯片编译组
芯片编译方向专注于面向不同芯片的新型编译器构造和优化分析方法。新型编译器构造和优化分析方法探索一套编译器的自动构建以及优化分析方法,用自动技术取代传统的人工研发模式,降低对人为经验的高度依赖。新型编译器自动构造方法,包括硬件特性的自动提取方式,编译器代码自动构建,编译器自动生成以及自动验证;新型自动优化方法探索“事前”型架构性能分析。对于不同类型的预制处理器架构,利用自动构造方法在处理器设计同期即可完成涵盖不同架构特性的编译器生成,自动优化分析方法即可探索编译器不同优化策略的预期性能效果。新型编译器构造和优化分析方法将从根本上提升编译器研发效率,降低研发难度。它可以将研发周期缩短至“天”甚至“分钟”级,同时在编码和验证环节避免了人为错误所引入的开销。
b. 异构编程组
异构编程方向致力于构建领域定制的处理器体系的编程系统软件栈,通过编程、编译和系统软件的垂直协作式创新,为领域定制架构提供统一的软件支撑。目标是探索面向领域定制处理器的跨平台统一系统软件栈,研究内容包括跨体系统一编程语言,芯片虚拟机和跨架构共享编译优化,跨层次融合的软件栈优化,领域原生编程语言等。课题组研发的编程语言及编译系统已经应用于寒武纪、华为等的代表性异构芯片当中。
c. 异构编译组
异构编译方向专注解决的问题是通过编译技术来提高国产异构处理器的可编程性和性能。目标是研究先进的优化技术并实现切实有效的编译系统,丰富国产异构处理器所支持的编程语言、并充分发挥其硬件算力。异构编译方向开展传统的代码分析和优化技术,以及针对国产异构处理器结构特征的全程序分析与优化新技术研究。课题组研发的异构OpenCL编译器swcl,已经部署应用在国产神威超算平台上,是国产全自主软件系统的重要组成部分。
d. 并行优化组
并行优化方向致力于解决科学计算和临近高性能计算领域的并行编程和自动并行优化技术。目标是通过新的编程机制简化并行编程、通过编译和运行时的协作把上层应用优化地映射到大规模异构并行系统上。本方向研究分割全局地址空间模型、数据流模型等并行语言机制和并行编译优化技术。课题组所研发的AceMesh类数据流编程模型通过数据为中心的并行模板、粗粒度的数据流表达、通信感知在神威、天河两个E级计算机上实现统一编程,比传统编程模型最高加速2.04倍。课题组所研发的UPC-H模型统一多层次并行、支持数据驱动计算,在曙光6000和GPU集群上得到可编程性和性能验证。课题组为国产数据流众核加速器DPU研发了并行编程环境,其自动并行的性能超过手工版。课题组所研发的多粒度并行化编译器ParaORC并行效率超过业界著名编译器。
e. 软件分析组
软件分析方向专注解决的问题是通过程序分析技术来帮助保障软件系统的可靠性和安全性。目标是研究独创的方法并实现切实有效的开发工具,来帮助程序开发人员和测试人员有效解决软件可靠性和安全性问题。软件分析方向开展传统的动静态分析技术,以及针对分布式系统、人工智能等新型应用的新分析技术研究。课题组研发的分布式系统测试工具从开源软件中检测出数百个缺陷及安全漏洞,得到开源社区的好评,课题组开发的静态分析工具Wukong在检测能力上明显优于国外同类工具,已经产品化并成功部署于包括头部IT企业、国家机关在内的多家企事业单位。
附件下载: |
编译与编程实验室