2014年7月7日-11日,“共享Cache系统上的程序行为:性能和正确性”和“高性能计算的优化编译器”两门龙星计划课程在中国科学技术大学计算机学院成功举办。龙星计划课程是由中国科学院和国家自然科学基金委员会资助,由中国科学院龙星计划委员会主管的面向全国高校和科研院所的教师和研究生的高水平学术培训活动。其主旨是“有计划地组织一批在美国学术界已有成就、有一定地位的华裔教授,不定期回国就某一领域,在中国各地大学,系统地讲授一门美国研究生课程(每门课程15-30课时)。同时,就所讲课程的学术领域、有关课题与国内科学家及研究生共同讨论研究。”本次龙星计划课程由中国科学技术大学承办,所选取的主题分别是“共享Cache系统上的程序行为:性能和正确性(Program Behavior in Shared Cache: Performance and Correctness)”以及“高性能计算的优化编译器(Optimizing Compilers for High Performance Computing)”。
高性能计算多年来一直是科技综合实力竞争的制高点。在保障国家安全、促进各项领域的发展方面具有直接推动作用,是衡量一个国家综合实力的重要标志之一,也反映了国家的重大战略需求。而编译优化技术和共享Cache技术在高性能计算中具有不可替代的作用。我校作为承办方邀请到了美国纽约州私立罗彻斯特大学 (University of Rochester, USA) 计算机科学系教授、IBM先进技术中心教职研究员丁晨(Chen Ding)以及美国科罗拉多大学Springs分校计算机科学系副教授易青前来授课。
本次龙星计划课程的学员有近50人,有来自我校的师生,还有来自北京大学、国防科学技术大学、华中科技大学、西安交通大学、北京交通大学、东南大学、合肥工业大学、哈尔滨工程大学、电子工程学院、安徽大学的师生。
7月7日上午,龙星计划课程正式开课。在为期5天的课程中,上午由易青老师讲授“高性能计算的优化编译器”课程,下午由丁晨老师讲授“共享Cache系统上的程序行为:性能和正确性”课程。
“高性能计算的优化编译器”课程涵盖了在现代计算机结构上用于提高软件性能的高级编译器分析和优化技术。这些优化技术主要应用于从程序的源码级(如:直接作用于C/C++源码)到高级的语言结构,如循环、向量化、同步机制以及抽象数据容器等。课程介绍了如何自动发现程序中可用的高级优化机会,以及如何把这些优化机会应用到科学领域中的高性能计算。
“共享Cache系统上的程序行为:性能和正确性”课程主要讲授了程序行为分析和优化的理论和技术,重点介绍线程间的并发、缓存共享以及它们对程序性能和正确性的影响。在性能方面,该课程主要涉及全程序的局部性,亲和力和阶段性分析;在多核性能模型上,主要涉及有协同缓存和程序局部性的高阶理论;在正确性方面,主要涉及存储模型的一致性、确定性分析以及安全的并行编程方法。两位老师在课堂讲授中,生动形象的介绍了各种技术,结合技术的产生历史,发展过程,使同学们对各种技术有了整体的了解。同时,老师还结合他们的科研过程及成果,启发同学们如何做好科研,如何发现有价值的研究点。
在课堂之外,两位老师百忙之中抽出时间,与学员们做交流。在座谈会上,老师与学员们不仅聊专业技术,还畅谈学员们感兴趣的各种话题。从如何做好科研、把握研究生涯、如何择业,到如何实现人生价值等,座谈会上气氛融洽而又热烈。“做科研需要学会提问题,别人的工作是否一定正确?是否还有欠缺的地方?技术极限在哪?”易青老师如是说,学员们纷纷表示受益匪浅。两位老师以他们丰富的人生经验,渊博的知识为学员们“寻道解惑”。 在课程的最后一天下午,主办方还邀请了美国韦恩州立大学江松教授做技术讲座。
7月11日,龙星计划课程取得圆满成功,学员们反响热烈。“课程理论基础结合实际例子,容易掌握”,“希望课程周期再长些,多学些知识”,“了解了国外的如何做科研”,学员们积极的反馈体现了龙星计划课程的重要价值。
龙星计划旨在促进我国信息领域的国际交流和人才培养。龙星计划课程使国内的老师和同学们了解国外的教学模式、科技前沿趋势,科研工作的方法和崭新理念,也为海外华裔学者回国服务搭设了桥梁。
丁晨教授长期研究系统软件中编程理论、语言和实现,主要工作包括基于重用距离的计算局域性理论(例如时段性、数据相关性)、代码优化、代码并行化、以及计算机主存和高速缓存的程序级管理。其中全局程序和数据优化方法已经被英特尔和IBM编译器采用。
易青副教授的研究兴趣包括编译器和程序设计语言,特别是面向高性能计算的编译器优化,以及自动改善软件生产力、正确性、性能和能耗的工具。她是美国多项NSF、DOE项目的项目负责,曾获得NSF CAREER award。