“天河二号”超级计算机
图片来源:国家超级计算广州中心
HPC vs PC
HPC的架构设计理念与家用电脑截然不同,它采用的是一种“集群”或“分布式”的架构。相比之下,我们日常使用的普通家用电脑,也就是个人计算机(PC)的架构则是一种“单打独斗”的模式,它通常是一个独立的系统,核心是一颗或两颗多核CPU(例如,常见的4核、8核或16核),负责处理系统中的所有计算任务。虽然现代家用电脑也配备了GPU,但其主要用途是处理图形渲染任务,以支持高清视频播放和3D游戏,其架构和驱动程序并非为大规模科学计算而优化。个人计算机的系统总线、内存带宽和存储速度都是围绕满足单个用户的需求来设计的,其性能瓶颈在于单个处理器的处理能力和串行任务的执行效率,当面临需要海量计算和数据处理的任务时,便会显得力不从心,例如,一个需要个人计算机数天甚至数周才能完成的复杂仿真任务,在HPC上可能只需要几小时甚至几分钟就能完成,这种效率上的巨大差异,正是两者架构本质不同的直接体现。
既然高性能计算机比普通家用电脑强大这么多,那用超级计算机打游戏或者运行我们常用的软件岂不是爽到飞起?
事实并非如此。HPC的核心优势在于并行计算,即将一个大任务分解成无数个小任务,交由成千上万个计算核心同时处理。然而,大多数游戏的核心逻辑是串行的,即需要按顺序一步步执行。虽然游戏中的图形渲染、物理效果等部分可以并行化,但游戏的主循环、AI决策、用户输入处理等核心逻辑很难被有效地并行化。因此,将游戏运行在HPC上,大部分计算核心可能处于闲置状态,无法发挥其并行计算的优势。此外,HPC的处理器(如“申威26010”)采用的是为科学计算优化的指令集和架构,与游戏所需的架构不同,这导致游戏程序无法直接在HPC的处理器上运行。