当前位置 >>  首页 >> 研究团队 >> 编译与编程实验室 >> 团队介绍

团队简介


编译与编程实验室是计算机体系结构国家重点实验室下辖的研究团队之一,目前的研究团队中包括正高级职称人员3人,副高级职称人员4人,职工(含客座职工)20余人。

编译与编程实验室是国内最早从事编译系统的研究和开发的科研团队之一,历史上曾为多个国产计算机系统研发编译系统及相关工具软件,为国产曙光系统并行计算机开发了并行优化编译系统Autopar和性能检测与分析工具ParaVT,为龙芯芯片开发了高性能优化编译系统LoongCC,其性能明显优于同期的GCC(著名的开源编译系统),为龙芯等多款国产芯片开发的二进制翻译系统DBT具有优异的性能,为解决龙芯芯片在推广过程中面临的软件适配性问题提供了重要的支持;受Intel公司资助开发的面向安腾处理器的高性能开源编译系统ORC是我国首次在类似软件领域与国际知名公司进行如此深度的合作,ORC编译系统由于其丰富的程序分析和优化功能、优秀的性能等特点,成为众多国际知名研究团队的研究平台。

编译与编程实验室近期的研究主要是围绕面向硬件结构特征和软件应用特点的新型编程模型、编译优化新方法与新技术等方面开展,主要包含编程与编译优化方向、软件分析和安全两个方向,涵盖并行编程、多核编程、云计算编程、编译优化、系统资源优化、软件分析技术、内构安全环境等研究兴趣。

编译与编程实验室的现阶段研究目标是:1)针对云计算、智能计算、物联网等新型计算场景带来的巨大挑战,提出具有原创性的新模型、方法、技术,成为国际上本方向著名的研究团队之一;2)在面向国产硬件架构、关键应用等方面形成支撑优秀的编程环境、优化编译系统、程序分析工具、软件安全支撑环境及相关工具软件等方面的编程机制、程序分析方法、优化技术等关键支撑技术体系,为国内产业界及关键应用领域提供编程与编译技术的有力支持;3)为学术界和产业界培养编程与编译方面的优秀青年人才。

研究方向简介

围绕面向硬件架构特征和软件应用特点的新型编程模型、编译优化、系统软件和软件分析等方面展开研究,主要研究方向覆盖:

a. 芯片编译组

芯片编译方向专注于面向不同芯片的新型编译器构造和优化分析方法。新型编译器构造和优化分析方法探索一套编译器的自动构建以及优化分析方法,用自动技术取代传统的人工研发模式,降低对人为经验的高度依赖。新型编译器自动构造方法,包括硬件特性的自动提取方式,编译器代码自动构建,编译器自动生成以及自动验证;新型自动优化方法探索“事前”型架构性能分析。对于不同类型的预制处理器架构,利用自动构造方法在处理器设计同期即可完成涵盖不同架构特性的编译器生成,自动优化分析方法即可探索编译器不同优化策略的预期性能效果。新型编译器构造和优化分析方法将从根本上提升编译器研发效率,降低研发难度。它可以将研发周期缩短至“天”甚至“分钟”级,同时在编码和验证环节避免了人为错误所引入的开销。

b. 异构编程组

      异构编程方向致力于构建领域定制的处理器体系的编程系统软件栈,通过编程、编译和系统软件的垂直协作式创新,为领域定制架构提供统一的软件支撑。目标是探索面向领域定制处理器的跨平台统一系统软件栈,研究内容包括跨体系统一编程语言,芯片虚拟机和跨架构共享编译优化,跨层次融合的软件栈优化,领域原生编程语言等。课题组研发的编程语言及编译系统已经应用于寒武纪、华为等的代表性异构芯片当中。

c. 异构编译组

异构编译方向专注解决的问题是通过编译技术来提高国产异构处理器的可编程性和性能。目标是研究先进的优化技术并实现切实有效的编译系统,丰富国产异构处理器所支持的编程语言、并充分发挥其硬件算力。异构编译方向开展传统的代码分析和优化技术,以及针对国产异构处理器结构特征的全程序分析与优化新技术研究。课题组研发的异构OpenCL编译器swcl,已经部署应用在国产神威超算平台上,是国产全自主软件系统的重要组成部分。

d. 并行优化组

并行优化方向致力于解决科学计算和临近高性能计算领域的并行编程和自动并行优化技术。目标是通过新的编程机制简化并行编程、通过编译和运行时的协作把上层应用优化地映射到大规模异构并行系统上。本方向研究分割全局地址空间模型、数据流模型等并行语言机制和并行编译优化技术。课题组所研发的AceMesh类数据流编程模型通过数据为中心的并行模板、粗粒度的数据流表达、通信感知在神威、天河两个E级计算机上实现统一编程,比传统编程模型最高加速2.04倍。课题组所研发的UPC-H模型统一多层次并行、支持数据驱动计算,在曙光6000和GPU集群上得到可编程性和性能验证。课题组为国产数据流众核加速器DPU研发了并行编程环境,其自动并行的性能超过手工版。课题组所研发的多粒度并行化编译器ParaORC并行效率超过业界著名编译器。

e. 软件分析组

软件分析方向专注解决的问题是通过程序分析技术来帮助保障软件系统的可靠性和安全性。目标是研究独创的方法并实现切实有效的开发工具,来帮助程序开发人员和测试人员有效解决软件可靠性和安全性问题。软件分析方向开展传统的动静态分析技术,以及针对分布式系统、人工智能等新型应用的新分析技术研究。课题组研发的分布式系统测试工具从开源软件中检测出数百个缺陷及安全漏洞,得到开源社区的好评,课题组开发的静态分析工具Wukong在检测能力上明显优于国外同类工具,已经产品化并成功部署于包括头部IT企业、国家机关在内的多家企事业单位。 


 

 

附件下载: