高性能计算:走向多核异构 面临能耗挑战
日前,2008年全国高性能计算学术年会在无锡举行。从本次年会上我们能了解到高性能计算技术的哪些流行和发展趋势?在高性能计算中又面临哪些障碍和挑战呢?本报记者对此进行了深度报道。
多核异构大势所趋编程模式是关键
多核和多核异构系统越来越受到超大规模计算机的青睐,如前不久发布的全球高性能计算TOP500排名第一的IBM的Roadrunner就是把自己的Cell和AMD的皓龙处理器混合在了一起;在芯片层面,包括英特尔、AMD和nVIDIA等都在研制异构多核或众核芯片。例如AMD提出的CPU+GPU的Fusion,nVIDIA的Tesla等。
众所周知,在当前的高性能计算系统和应用中,绝大多数是x86架构的处理器和应用,随着高性能计算系统性能的不断提升,多核和重核异构系统在满足高性能计算的某些特殊应用的时候表现出比较出色的性能。例如对于追求浮点运算性能的应用来说,GPU(图形处理芯片)的速度要远远高于传统的 CPU(中央处理器),这也是为何AMD和nVIDIA公司认为,在未来的高性能计算中GPU或者CPU+GPU会最终取代CPU。但从目前应用软件的编程模式来看,多数编程工具和应用仍然是基于x86架构,所以要想充分发挥出GPU或CPU+GPU的性能,改变传统的编程模式至关重要。对此,AMD公司中国区高级技术经理刘文卓在其《未来是CPU和GPU的融聚》的主题演讲中也承认,目前编程模式是多核异构系统面临的最大挑战。那么多核异构是否是高性能计算的发展方向呢?
英特尔公司高性能计算软件经理SanjayGoil博士对记者讲,英特尔一定会做异构的多核芯片,但与对手“异构的内核,异构的编程环境”不同,英特尔会坚持走“异构的内核,相同的编程环境”这样一条道路,也就是说,不管是哪种内核,所使用的编程模式都应该是一样的。虽然现在业界已经出现了一些异构系统,但这些异构系统除了在Linpack测试时有较出色的表现,在实际应用中并不好测试,因此需要强大的软件工具的支持,降低异构环境下的软件编程难度。