【IT168 资讯】2011 年6月20日——英特尔集成众核(Intel Many Integrated Core,MIC)架构是英特尔公司现有产品(包括英特尔至强处理器在内)的另一个关键补充,它旨在引领行业进入百亿亿次计算时代。相比多核的英特尔至强处理器,英特尔集成众核(MIC)架构具有更小的内核和硬件线程,以及更宽的矢量单元,是提供更高整体性能、满足高度并行化应用需求的理想之选。随着开发者们采用较高的并行度(指令、数据、任务、矢量、线程和集群等),英特尔架构处理器常用的重要且已普及化的编程模型可扩展至英特尔集成众核(MIC)架构,而无需改变编程工具。这些相同的技术在英特尔处理器上能够提供非常好的的性能——将应用扩展至内核和线程上,以及针对分层的内存和高速缓存对数据进行模块化处理——它们也可用于最大程度地提高英特尔集成众核(MIC)架构上的性能。通过更有效地复用并行处理器代码,软件公司和企业IT部门只需创建和维护一个二进制代码库,而无需重新为开发人员提供与加速器相关的专用编程模型培训就可获得收益。
首款英特尔® 集成众核(MIC)产品(代号为“Knights Corner”)计划采用英特尔在全球率先支持3-D三栅极晶体管[1]的22纳米制程技术生产。
2011年国际超级计算大会(ISC)上的演示
来自英特尔® 集成众核(MIC)架构推广项目的早期成果将在2011年6月20日-23日于德国汉堡举行的国际超级计算大会(ISC)上进行演示。
这些成果将通过7次演示加以展示,其中4次演示由全球领先的超级计算中心提供,旨在介绍英特尔软件开发平台(SDP,代号为“Knights Ferry”)的相关信息。其余3次演示由英特尔工程师提供。英特尔的软件开发平台采用了一颗基于45 纳米制程技术的英特尔协处理器(代号为“Aubrey Isle”)。
这些软件开发平台系统的软件开发人员采用了针对多核处理器的特别版本英特尔开发工具,这些工具也支持基于英特尔® 集成众核(MIC)架构的协处理器,其中包括英特尔® Fortran 编译器、英特尔® C++编译器和英特尔® 数学核心函数库(MKL)。
这些演示有助于描述Knights Ferry如何满足性能与可编程性方面的要求,并将展示英特尔® 集成众核(MIC)架构将如何帮助高性能计算(HPC)行业应对未来的关键挑战。
FZ Jülich:SMMP蛋白质折叠(Protein Folding)演示
本演示用于模拟蛋白质折叠过程。SMMP(蛋白质简化分子力学)是一项模拟和研究蛋白质折叠过程的应用,旨在在细胞生成蛋白质后,得到蛋白质的最终形状。本演示借助Knights Ferry软件开发平台的后台计算,直观地阐明了蛋白质折叠过程。SMMP的基本思路是,通过最大程度减少折叠配置的总能耗,获得非常好的的折叠方式。为了实现优化,需要采用蒙特卡罗(Monte-Carlo)和模拟退火算法(Simulated Annealing)。Jülich能够利用常用的编程模型和工具(如OpenMP),在不到3天的时间内使该应用运行于基于Knights Ferry架构的平台上,然后经过迁移进一步优化性能。
SMMP是一组开源FORTRAN套件,支持利用分子力学进行蛋白质分子模拟。通过卸载指令,SMMP 可被扩展利用基于英特尔® 集成众核(MIC)架构的协处理器,并经过调整充分利用其512位宽的矢量操作特性。
基于英特尔® 集成众核(MIC)架构的协处理器能够利用计算要求苛刻的分子力学方法实现蛋白质折叠,这说明,完全支持已构建的编程模型可带来巨大的灵活性。蛋白质折叠可通过两种计算方法实现:分子动力学是利用统计力学和分子力学模拟实际情况所得的近似值。其中,分子力学是一种利用牛顿力学模拟分子系统的计算要求更苛刻的方法。分子动力学方程具有数学病态性,可能导致在需要仔细选择模拟系统的长时间模拟过程中出现问题。分子动力学模拟可在 GPU 上实现蛋白质折叠。基于英特尔® 集成众核(MIC)架构的协处理器能够支持两种蛋白质折叠方法。本演示说明,利用运行在基于英特尔® 集成众核(MIC)架构协处理器上的SMMP套件来计算更为复杂的蛋白质折叠分子力学模型可带来更出色的结果。KISTI的演示将说明分子动力学能够在基于英特尔® 集成众核(MIC)架构的协处理器上得到极为高效地利用。
系统配置:英特尔Shady Cove软件开发平台(Intel Shady Cove Software Development Platform):采用2颗英特尔® 至强® X5690处理器(每颗处理器配备6个内核、12MB三级高速缓存、时钟频率为3.46GHz)、24GB DDR3 1333MHz内存、单颗英特尔® 5520 IOH芯片、RHEL 6.0操作系统、1块Knights Ferry协处理器卡(C0 Si、1.2GHz、运行带宽为3.0GT/s的2GB容量GDDR5内存)、Alpha 5英特尔® 集成众核软件堆栈与开发工具。
KISTI的分子动力学演示
该应用利用经验势(Empirical-potential)分子动力学,模仿分子之间的互动并模拟纳米材料,如碳纳米管、石墨烯、富勒烯(FULLERENE)和硅表面。该应用在采用OpenMP的多核处理器系统上启动,由于它能对标准语言和编程模型提供强大支持,因此经过轻松扩展,便可在短短几小时内充分利用基于英特尔® 集成众核(MIC)架构的协处理器。
与采用GPU相比,英特尔® 至强® 处理器和Knights Ferry软件开发平台的通用标准化并行编程模型,以及简单但功能强大的卸载编程模型展现出了更高的工作效率,让模拟具有高度并行性,可最大程度降低数据依赖性,并可采用标准化多线程编程模型(如OpenMP和英特尔® Cilk™ Plus)进行良好的并行化处理。该应用表明,随着英特尔® 至强® 处理器和Knights Ferry在内核数量上的增加,性能增强幅度也呈现出了接近理论的线性趋势。借助C语言中的内在函数,该应用充分利用了Knights Ferry中的512位宽矢量处理单元。
KISTI超级计算中心异构计算团队负责人Hongsuk Yi博士的报告称:“通过在基于英特尔® 至强® 处理器和英特尔® 集成众核(MIC)架构的平台上利用标准化编程,应用性能达到了我们对多线程可扩展性的预期,并且我们还观察到随线程数量增加的接近理论的线性化性能增强现象。”
系统配置:戴尔*Precision*工作站:配备1颗英特尔® 至强® X5620处理器(拥有4个内核、12MB三级高速缓存、时钟频率为2.40GHz)、24GB DDR3 1333MHz 内存、单颗英特尔® 5520 IOH芯片、RHEL 6.0操作系统、1块Knights Ferry协处理器卡(C0 Si、1.2GHz、运行带宽为3.0GT/s的2GB容量GDDR5内存)。
LRZ:TifaMMy 矩阵乘法演示
本演示介绍了一种递归方法,它利用矩阵到矩阵乘法的高速缓存参数无关算法来分割输入的数据,支持计算和并行化处理。
TifaMMy 是一种矩阵到矩阵乘法的高速缓存参数无关算法,采用空间填充Peano曲线并提供直观的C++应用程序接口。它利用递归方法分割输入的数据,支持计算和并行化。由于采用递归方法,因此这种方法对于CPU处理非常有效,无需将应用移植到GPU 上处理。借助英特尔® 集成众核(MIC)架构协处理器上类似CPU的编程模型,LRZ能够使该应用在短短几小时内就转而运行于Knights Ferry之上,并且经过一些优化,其应用性能就超过了650 GFLOP(每秒十亿次浮点计算)。
该程序采用使用OpenMP的C++编写而成,并借助C++内在函数充分利用了512位宽矢量处理单元。对于该算法,650 GFLOP(每秒十亿次浮点计算)的性能已近乎非常好的(比协处理器卡理论性能峰值的一半稍高)。随着工具的成熟,它还将有一些性能提升的机会。
最重要的是,采用使用成熟的自调节递归算法的C++应用,将为代码的“性能可移植性”带来重大的意义。此类算法不需要随高速缓存大小和内存层级变化进行手动调节,即使迁移至英特尔® 集成众核(MIC)架构也不需要进行这种调节。借助标准化编程方法轻松利用基于英特尔® 集成众核(MIC)架构的协处理器,这些自调节方法可应用于其它重要的算法,包括PDE求解器。除矩阵乘法外,这些自调节方法还适用于稠密与稀疏矩阵,这有助于展现英特尔® 集成众核(MIC)架构蕴含的巨大潜能及其支持多种编程方法的功能,如已采用的递归方法。
系统配置:英特尔Shady Cove软件开发平台(Intel Shady Cove Software Development Platform):采用两颗英特尔® 至强® X5690处理器(每颗处理器拥有6个内核、12MB三级高速缓存、时钟频率为3.46GHz)、24GB DDR3 1333MHz内存、单颗英特尔® 5520 IOH芯片、RHEL 6.0 操作系统、1块Knights Ferry协处理器卡(C0 Si、1.2GHz、运行带宽为3.0GT/s的2GB容量GDDR5内存)、Alpha 5英特尔® 集成众核软件堆栈与开发工具。
CERN openlab:英特尔® 集成众核(MIC)架构的内核扩展演示
CERN 演示的是从对撞机试验的CBM/ALICE HLT软件开发中提取出的核心。它基于不精确的测量对实际轨道进行了估算。
通过不精确的测量,这个用于对撞机试验的应用核心基准测试对实际轨道进行了估算。当在线重现整个事件执行过程时,非常重要的一点是选择将从探测器发送至计算机中心的最重要事件。CERN借助英特尔® 集成众核(MIC)架构在该核心上测试可扩展性,并了解当代码经过良好并行化和矢量化处理时,英特尔® 集成众核(MIC)架构可随内核数量增加实现线性化的性能增强。该演示提供了一幅测量到的性能与用于计算的内核数量的关系图。CERN发现,性能呈线性趋势增强,直到Knights Ferry上的内核达到32颗,这无疑是一个好消息,它有助于英特尔实现Knights Corner中添加更多内核的计划。
该应用在多核处理器系统上启动,并且由于它可对标准语言和编程模型提供强大支持,因此可经过轻松扩展,充分利用基于英特尔® 集成众核(MIC)架构的协处理器。
系统配置:SGI* H4002*平台:采用两颗英特尔® 至强® X5690处理器(每颗处理器具备6个内核、12MB三级高速缓存、时钟频率为3.46GHz)、24GB DDR3 1333MHz内存、RHEL 6.0 操作系统、1块Knights Ferry协处理器卡(C0 Si、1.2GHz、运行带宽为3.0GT/s的2GB容量GDDR5内存)。
单节点上实现SGEMM 7.4TFLOP计算性能的演示
在本演示中,我们让SGEMM(单精度普通矩阵乘法)同步运行在安装于Colfax所提供的系统中的8块Knights Ferry卡上。 通过累计系统中每块卡上的SGEMM性能,我们获得了约每秒7.4 TFLOP(每秒万亿次浮点计算)的性能。这对于希望获得高计算密度的用户来说非常有吸引力。它为英特尔® 集成众核(MIC)架构上的浮点计算性能提供了早期测量。我们发现,在没有对PCI-e总线带来任何数据转移开销的情况下,在每块Knights Ferry卡上可测量到925 GFLOP(每秒十亿次浮点计算)的持续SGEMM性能,每块卡具有1200 GFLOP(每秒十亿次浮点计算)的峰值性能。
系统配置:Colfax* CXT8000*平台:采用两颗英特尔® 至强® X5690处理器(每颗处理器拥有6个内核、12MB三级高速缓存、时钟频率为3.46GHz)、24GB DDR3 1333MHz内存、双英特尔® 5520 IOH芯片、4个PLX* PeX8647第二代PCI-e交换机、RHEL 6.0 操作系统、8块Knights Ferry协处理器卡(D0 Si、1.2GHz、运行带宽为3.6GT/s的2GB容量GDDR5内存)、Alpha 5英特尔® 集成众核软件堆栈与开发工具。
混合计算——借助英特尔® 数学核心函数库实现SGEMM
本演示展示了在利用英特尔® 数学核心函数库(MKL)及供英特尔® 集成众核(MIC)架构合作伙伴使用的早期工具版本的情况下,仅需18行代码即可获得1 TFLOP(每秒万亿次浮点计算)的SGEMM性能。英特尔® 数学核心函数库同时利用英特尔® 至强® 处理器和Knights Ferry,共享处理过程并获得惊人的平台级性能。需要关注的一点是,当从仅利用英特尔® 至强® 处理器平台转变为同时利用至强® 处理器和集成众核(MIC)架构时,并不是仅仅需要更改这 18 行代码中的某一行。英特尔® 数学核心函数库对系统中 Knights Ferry的可用性检查工作可根据Knights Ferry的可用性仅利用至强® 处理器平台或同时利用至强® 处理器和集成众核(MIC)架构执行SGEMM。
系统配置:英特尔Shady Cove软件开发平台(Intel Shady Cove Software Development Platform):采用两颗英特尔® 至强® X5680处理器(每颗处理器拥有6个内核、12MB三级高速缓存、时钟频率为3.33GHz)、24GB DDR3 1333MHz内存、单颗英特尔® 5520 IOH芯片、RHEL 6.0操作系统、1块Knights Ferry协处理器卡(D0 Si、1.2GHz、运行带宽为3.6GT/s的2GB容量GDDR5内存)、Alpha 5英特尔® 集成众核软件堆栈与开发工具。
混合计算——LU 分解
这是一个与英特尔在国际超级计算大会上发布的技术论文“针对多核及众核设计及动态负载均衡的混合LU”(Designing and Dynamically Load Balancing Hybrid LU for Multi/Many-core)有关的演示。去年,我们展示了借助早期软件堆栈版本,在LU分解过程中的运算性能可超过500 GFLOP(每秒十亿次浮点计算)的Knight Ferry应用开发平台。在现在的演示中,我们充分利用了跨越英特尔® 至强® 处理器和英特尔® 集成众核(MIC)架构的通用编程模型,同时利用Knights Ferry和至强® 处理器在LU分解过程中提供高性能——我们测量到多达772 GFLOP(每秒十亿次浮点计算)的持续性能。通用编程模型有助于我们在英特尔® 至强® 处理器上动态处理尺寸较小的矩阵,在英特尔® 集成众核(MIC)上处理尺寸较大的矩阵,从而获得非常好的的整体性能。
系统配置:英特尔Shady Cove软件开发平台(Intel Shady Cove Software Development Platform):采用两颗英特尔® 至强® X5680处理器(每颗处理器拥有6个内核、12MB三级高速缓存、时钟频率为3.33GHz)、24GB DDR3 1333MHz内存、单颗英特尔® 5520 IOH芯片、RHEL 6.0操作系统、1块Knights Ferry协处理器卡(D0 Si、1.2GHz、运行带宽为3.6GT/s的2GB容量GDDR5内存)、Alpha 5英特尔® 集成众核软件堆栈与开发工具。
关于CERN
CERN(欧洲原子能研究机构)是世界上最大的粒子物理研究实验室,总部位于日内瓦。 目前CERN的成员国包括:奥地利、比利时、保加利亚、捷克共和国、丹麦、芬兰、法国、德国、希腊、匈牙利、意大利、荷兰、挪威、波兰、葡萄牙、斯洛伐克、西班牙、瑞典、瑞士和英国,罗马尼亚为其后候成员国。印度、以色列、日本、俄罗斯、美国、土耳其、欧洲委员会和联合国教科文组织(UNESCO)具有观察员身份。如欲了解有关CERN 的更多信息,请访问:http://press.web.cern.ch/press。
关于FZ Jülich
FZ Jülich(尤利西研究中心,Jülich Research Center)是欧洲最大的研究中心之一。它致力于尖端的跨学科研究,旨在解决健康、能源、环境及信息技术领域的巨大社会挑战。该中心在物理及超级计算方面具有卓越的关键能力。如欲了解有关FZ Jülich的更多信息,请访问:http://www.fz-juelich.de。
关于KISTI
KISTI(韩国科学技术信息研究所)是韩国领先的研究机构,致力于通过利用高性能研究网络与高性能计算机来构建提供知识和信息的优异基础设施。KISTI超级计算中心是韩国最大的高性能计算与高性能网络提供商。如欲了解有关KISTI的更多信息,请访问:www.ksc.re.kr/eng/。
关于LRZ
LRZ(莱布尼茨超级计算中心,Leibniz-Rechenzentrum)是慕尼黑Ludwig-Maximilians大学、慕尼黑科技大学(Technical University of Münich)以及巴伐利亚科学研究院(Bavarian Academy of Sciences)的统一计算中心。LRZ运营支持所有巴伐利亚大学和联邦高性能计算机的高性能计算系统,并为德国所有大学的科学研究工作提供系统支持。如欲了解有关LRZ的更多信息,请访问:http://www.lrz.de。
关于英特尔
英特尔(纳斯达克:INTC)是计算创新领域的全球领先厂商。英特尔设计和构建关键技术,为全球的计算设备奠定基础。了解有关英特尔的更多信息,请访问:www.intel.com/c新闻发布室及http://blogs.intel.com/china。