国内对于模拟器与编译器的研究尚处于发展过程中,科技公司想要使用编译器就必须花费成本学习研究,清醒异构的出现为这些科技公司提供了另一种更低成本的可能。清醒异构致力于编译器的开发,可以为不同科技企业提供对应的解决方案,大幅降低公司成本,为企业乃至整个产业链的升级带来了新的可能。
【清醒异构致力于异构系统性能优化】
好的模拟器是在对微体结构硬件进行开发和设计时必不少可少的工具,可以在硬件代码真正编写之前,对开发者的设计策略有很好的理解。目前国外一些大型企业,如Intel等,都有针对自家硬件的C语言或C++语言编写的模拟器。对比国外的发展情况,国内很长一段时间,都缺失非常大规模的,专门做处理器开发的公司,即使是相对有实力的芯片公司,也很少自己开发模拟器。模拟器不仅适用于企业,学术界也需要模拟器来进行测试,以快速、低成本地实现构想。但即便是学术界广泛使用的gem5平台,离真正被企业使用,也存在一定距离。
清醒异构致力于针对异构系统进行性能优化,目前在通用处理器领域,层次化的内存组织形式、大小核设计等因素为异构系统带来了很大优化空间,即在多核系统中,去调度程序在不同核上运行。在组成异构系统之后,如果要评估性能,清醒异构需要对微结构有一个仿真模拟。现在学术界最主流的是gem5模拟器,但很多情况下gem5的适配性不佳,很多测试程序没有办法直接在gem5上运行。因此需要对几个部分进行适配:
● 一是需要针对某种特需的微体结构,对于gem5的代码进行调整;
● 二是运行操作系统时,gem5是否有足够的操作系统接口使其正常运行;
● 三是如果想运行一些测试程序测试性能,也需要一部分适配。
【牵手巨头,清醒异构实力凸显】
清醒异构在相关领域的出色成绩得到了知名AI厂商的认可,双方近日达成合作,携手致力于gem5模拟器向工业界的迁移。
清醒异构的研发团队主要来自于学术界,模拟器领域经验丰富,结合对方需求,清醒异构的研发人员将模拟器的基本操作进行了适配,为厂商提供了模拟器环境,方便其在模拟器上启动测试系统,并运行测试程序。部分测试程序由清醒异构直接提供,也包括厂商自己的计算需求和优化目标,以及规划中的定义测试程序。
此次与领先的人工智能科技公司达成合作,再次证明了清醒异构的硬实力。
清醒异构之所以能在众多竞争伙伴中脱颖而出,有两方面的优势:
首先,清醒异构研发团队均来自学术界,深耕微结构研究,从科研阶段开始就对gem5进行修改,实现微结构设计后再去运行系统,对于gem5的使用经验丰富;
此外,清醒异构对于软硬件理解深厚,在微结构研究中,市场往往在设计好微结构之后再去优化性能,但如何让软件把一个C程序用到不同的微结构系统,比如微结构的大小如何更好地运用,微结构的设计是否能够真正被使用到,使用起来很多是依赖于中间层,比如编译器层次的一些工作。
清醒异构在给AI厂商提供底层微结构仿真模拟器时,会更多考虑程序员对微结构的可用性,以及能够真正被程序员利用起来的性能提升。清醒异构的研发能力和产品均完美匹配厂商需求,双方最终达成合作。
【清醒异构为国内编译器带来新动力】
近10年来,大家多基于LLVM编译系统进行开发,该系统诞生于伊利诺伊州。然而在国内,编译器稀缺,在硬件开发及芯片性能发挥过程中,编译器是非常重要的环节。如何让算法在硬件上运行的更高效,是软件工程师本身很难进一步涉及的领域,所以编译器可以很好的把两端衔接起来,让双方都获利。
再者,虽然编译器是连接硬件和软件算法中间的一层,但同时编译器有一个很重要的属性,那就是能够特别适合公司产品,这就使得它更加独立于具体的硬件和软件算法而存在。
对于开发算法的公司,虽然对算法了解很深,但对编译的了解还存在局限性,因此如果这些公司想要进行编译优化,就会大大提高生产成本。清醒异构的成立给了这些公司一个很好的以低成本升级优化的方式。除此之外,清醒异构的编译器还适用于底层硬件厂商,这些厂商侧重于硬件电路图的开发、电路图验证功能的正确性,但如何能够把这些功能上的性能提升,需要深厚且广泛的编译器知识。不同硬件厂商有自己的硬件特点、指令集、异构设计,清醒异构能够提供的,就是让软件能够使用这些厂商的硬件异构结构。
毋庸置疑,清醒异构的出现为整个行业的升级带来了新的动力。
【执行同学有话说】
杨宇恒,目前是MIT计算机科学在读博士,在清醒异构实习期间,参与过这个项目的执行工作。
杨宇恒提到,MIT目前在做编译器研究其实不多,清醒异构的研发团队有丰富且深厚的LLVM开发经验,杨宇恒认为编译器的开发难度不仅限于学术层面,在于实际开发中巨大的工程量,需要工程师解决代码中每一种优化情况之后,优化到极致。因此编辑器更适合专业的公司去做专门的研发。MIT之类的研究类型机构顶多研发出基础设施,之后把基础设施给到开源社区让企业自己开发。
而清醒异构提供了一个可以实践的场所,让杨宇恒获得了实际工程经验,更让他看到中国编译器的希望。“清醒异构的出现,为科技公司减轻了芯片和软件开发过程中的负担,”杨宇恒说。