超级计算机被誉为"国之重器",代表国家算力的最高水准,也是一国科技实力的重要体现。理解超级计算机的峰值算力,首先需要知道算力的计量单位FLOPS(Floating-point operations per second)。FLOPS表示每秒浮点的运算次数。具体使用时,FLOPS前面还会有一个字母常量,例如TFLOPS、PFLOPS。这个字母T、P代表次数,T代表每秒一万亿次,P代表每秒一千万亿次。除了运算次数,衡量算力水平时还要看算力精度。例如,1000FLOPS的AI计算中心所提供的的算力,与1000FLOPS超级计算机提供的算力,虽然数值相同,但由于精度不同,实际算力水平也是天壤之别。根据参与运算数据精度的不同,可把算力分为双精度算力(64位,FP64)、单精度算力(32位,FP32)、半精度算力(16位,FP16)及整型算力(INT8、INT4)。数字位数越高,意味着精度越高,能够支持的运算复杂程度就越高,适配的应用场景也就越广。超级计算机常被用于需要大量运算的工作,譬如天气预报、运算化学、分子模型、天体物理模拟等,是为高精尖科学领域提供极致算力的服务。由于这类科学领域的计算对数据精度要求高,因此通常的超算系统以双精度数值计算为主。近年来,AI在国内获得快速发展,为匹配AI训练与推理的特殊需求,AI超算系统应运而生。不同于传统超算,AI超算系统大多用于语音、图片或视频的处理,浮点计算下的低精度计算甚至整型计算即可满足相应需求。要确定不同精度算力的性能,需通过各自领域内的专用测试程序来测试。例如,用于测试超级计算机性能的Linpack测试专注于双精度算力;用于智能计算机性能的Resnet-50则专注于半精度算力。如果将参与运算的数据比作货物,那么双精度算力就可以看作重型卡车,低精度算力可以看作是小型货车。重型卡车也可以承担小型货车的任务,但功耗过高,会造成浪费。而小型货车由于自身性能限制,无法承担重型卡车的任务。同样,超级计算机的双精度算力即可以看作是重型卡车,是一种"通用算力",可以承担各种计算任务;而单精度、低精度算力作为小型货车,则是一种"专用算力",是专门为AI的训练和推理设计,无法承担超级计算机的计算任务。"超级计算机设计的目标是为做更复杂的计算,所以即使只是做简单的计算,它的功耗还是很高。"中国科学院计算技术研究所研究员张云泉此前曾对媒体表示,AI计算擅长于推理或训练,但多数不具备高精度数值计算能力,这也限制其在 AI 计算之外的应用场景使用。