异构计算给我们带来了哪些思考?
虽然异构计算的快速发展给企业创新带来了更加强大的算力支撑,但真正推动异构计算的高速发展和应用落地,笔者认为还需要在以下三个方面做好功课。
从2022年火爆全球的元宇宙,到今年的ChatGPT,以人工智能为代表的科学技术正在创造出无限的可能,而这背后,离不开算力的强力支撑,这也成为异构计算如何火爆的原因之一。
事实上,异构计算并非新的概念,其早在上世纪 80 年代中期就已经被提出,当时便被认为有着计算能力强、可扩展性好、资源利用率高等特点。随着数据处理技术的不断成熟,以及人工智能技术的飞速发展,异构计算已经成为当前和未来的主要计算方式。
2021年7月,工信部发布《新型数据中心发展三年行动计划》明确提出,推动CPU、GPU等异构算力提升,逐步提高自主研发算力的部署比例,推进新型数据中心算力供应多元化。
虽然异构计算的快速发展给企业创新带来了更加强大的算力支撑,但真正推动异构计算的高速发展和应用落地,笔者认为还需要在以下三个方面做好功课。
一要从底层出发,建立创新框架
目前的异构计算行业,处于群雄争霸的格局。除了诸如英特尔、AMD、NVIDIA等国外的CPU、GPU巨头企业之外,国内也如雨后春笋般的成长出一些DPU、TPU企业。目前,主流的CPU+GPU的异构计算方式虽然已经被应用于各种行业场景当中,但纵观整个异构计算,仍旧没有一家企业能够提供一套具备全套完整自主知识产权。
众所周知,一套具有完整自主知识产权的底层创新体系至关重要,尤其是对于国内企业而言,只有建立这样一套完整的自主知识产权体系,才能彻底摆脱行业巨头的专利限制。
因此,企业必须采用全新的理念来设计核心自主知识产权,建立全新的底层框架,才能在未来的竞争中处于不败之地。
二要软硬件并行,两条腿走路
提到异构计算,更多的人关注底层计算芯片,包括CPU、GPU、DPU等等。
的确,底层计算芯片在异构计算体系中扮演着十分重要的作用,但是,如果只关注底层硬件架构,而忽视软件开发,同样无法推动异构计算的发展。
众所周知,传统异构编程计算任务要在多个供应商提供的不同计算单元上运行,需要熟悉不同计算单元之间数据流的调度、交换和决策机制,这些对于异构计算系统开发者来说,都是门槛很高的难题。一个统一的编程环境可以大幅简化编程复杂度、大幅降低工作量并提升程序运行效率。
以英特尔为例,其不但在硬件上不断完善 CPU、GPU、ASIC、FPGA 领域的产品线, 同时在软件层面持续发力, 并推出了oneAPI软件编程架构,以此来最大化硬件性能。
NVIDIA同样特别注意软硬件的携同开发,不但推出了不同规格的GPU,还发布了CUDA并行计算平台和编程模型,以此来让用户通过利用图形处理器 (GPU) 的处理能力大幅提升计算性能。
实际上,对于企业的开发者而言,由于异构计算改变了传统的以CPU为计算单元的开发模式,对应用的开发带来了不小的挑战。阿里云弹性计算产品经理吴天议在最近的一次技术公开课上就明确表示,从单核到多核,再到基于CPU、GPU、DPU等不同计算芯片的平台,应用开发的难度在不断提升,这就要求开发者在算法上进行精细化的设计,并行化拆分任务,更好的利用CPU与GPU,真正发挥CPU与GPU的性能。
吴天议表示,大规划分布式计算模型进一步降低了开发难度,让上层应用更加关注业务逻辑本身,通过底层的调度更好的利用CPU与GPU等不同的计算单元。
三要注重生态建设,建立健全生态体系
我们知道,异构计算是将CPU、DSP、GPU、ASIC、FPGA等不同制程架构、不同指令集、不同功能的计算单元,组合起来形成一个混合的计算系统。
在这生态体系中,有着不同的厂商参与,彼此之间即是竞争关系,又是合作关系,只有通过多方的合作,才能不断优化算力架构,提高计算效率,因此建立健全生态体系,对异构计算的发展至关重要。
可以说,生态体系决定了对于产业的吸引力和发展前景,谁掌握了生态谁就有发展的主动权,可以主导产业的发展方向,同时获取丰厚的商业利益。
四要让专业的人干最专业的事情
随着人工智能的大爆炸,数据量的飞速增长,传统以CPU为主要计算单元的算力构成方式,显然已经无法满足当前企业对于算力的需求,也不符合企业绿色可持续发展的要求。只有将CPU、GPU、FPGA、DPU等计算芯片组合在一起,才能真正给企业带来高性价比的算力。
当然,异构计算的发展需要从底层创新开始,不断优化软硬件,并建立强大的生态体系,与全产业链的共同协作,才能真正迎来大爆发。