由中国汽车技术研究中心有限公司、中国汽车工程学会、中国汽车工业协会、中国汽车报社共同主办,天津经济技术开发区管理委员会特别支持,日本汽车工业协会、德国汽车工业协会、中国汽车动力电池产业创新联盟、新能源汽车国家大数据联盟联合协办的第二十届中国汽车产业发展国际论坛(以下简称“泰达汽车论坛”)于2024年8月29日至9月1日在天津滨海新区举办。本届论坛以“风雨同舟二十载 携手并肩向未来”为年度主题,邀请重磅嘉宾展开深入研讨。
在8月30日“生态专场二:加速云计算与数字技术应用,推动新质型产业发展”中,国家超级计算天津中心党组成员、总工程师,天津市天河计算机技术有限公司执行董事、总经理冯景华发表了题为“基于自主算力的产业赋能经验分享”的演讲。
国家超级计算天津中心党组成员、总工程师,天津市天河计算机技术有限公司执行董事、总经理冯景华
以下为演讲实录:
对于算力国家是有明确定义的。对于算力的引导性,比如要建什么样的算力,如何做通用计算、超计算和智能计算的合理梯次布局,最新发布的文件中“一体化算力网”建设涵盖了通用计算、智能计算、超级计算的融合算力中心。
从个人视角看,或者是从学术的视角看,其实并不太过分区分超算和智算的区别。超算和智算的区别在哪儿,从个人视角看,核心区别在于算力精度,因为超算通常是用LP64双精度的计算能力来表达科学计算的精度问题,智算通常是LP16的能力。但是,其实客观讲,建一个超算中心,或者建一个智算中心,天津超算不太区分这个,因为超算和智算都是同样的算力,而且现在融合算力发展趋势也非常明显,很多应用比如说传统气象的科技计算应用是非常传统的,做气候气象、气候预报的,做临时、短时、中长期的预报,现在很多也要介入人工智能,APC+AI,而且现在有很多科学研究是用AI for Science,用AI来解决Science求解工作量大的问题,所以是不太区分的。比如说美国的算力中心大部分都叫超级计算机。因为美国以英伟达为代表的单位,生产的GPU是带着LP64和LP16的能力,所以GPU既可以用科技计算,也可以用于智能计算。但是我们国内的某些芯片设计中只有LP16,没有双精度。大家可以看到,像英伟达的比如说H100系列,就是双精度计算能力和网络带宽。但是从芯片的底层结构讲,其实个人不太区分超算和智算,因为上层应用需求是多样性的,不同的应用领域、行业需求需要超算和智算,国家层面也是建立涵盖超算、智算的通用融合算力中心,并没有强调一定要建智算或者是超算。
国家关于算力作用非常明确,主要有四个方向作用,即助推产业升级、赋能科技创新、满足人民美好生活和实现高效社会治理。在跟很多单位合作的时候,这是基本的认知,算力是一定会产生价值的。对算力的投入,投入多少钱会有多少数字经济的产出,虽然这个比例值不太一样,但是大多数都是明确的,算力投入一定会带动数字经济,因为算力本身就是一个数字产业化的过程,会推动产业数字化的发展。从算力中心的角度,确实要兼顾这四个方面的作用,至少要兼顾其中一两个方面,不是单纯的建一个算力中心出去给用户。
从2010年一直到现在,天河一号到现在也是世界领先的结构,基本上采用世界领先的“异构体系结构”融合的算力模式,由基础设施、计算处理、互联通信、并行存储等硬件组成,软件包括服务环境、运行库、应用环境和管理服务平台等。而且,全部使用的国产芯片。也实现了云、超算、智算的融合,当然它有自己配套的运营管理、算力服务、资源调度、人工智能开发平台、综合一体化平台等等这些。以芯片为例,可以看到MT-3000芯片的性能指标,由通用储蓄盒和加速处理单元组成的。国产的GPU芯片不是类似的结构,但也包括通用处理单元和协助单元还有GSM全局共享存储单元等。从体系结构就能够看出来它很复杂,所以调动应用的时候绝不像CPU这样简单,CPU是同构的,所有芯片都是一样的,访存也是一样的,访存要走来走去,要从加速处理单元到通用处理单元,内存之间包括编制空间也不一样,这些都很复杂,所以写代码的时候需要对核心代码重写,所以面临很大挑战性。当然,宽向量体系解决的一个问题,为了发挥性能指标,要有实现更大的计算能力,同时要实现自动变优化,能够让程序少写一点,少改一点,同时能兼顾一些性能的提升。还有一些异构编程接口,像GPU里面有统一的联盟OpenCL,就是做GPU之间的接口,所以实现所谓NMB、英伟达等等生态的兼容,但是这种兼容一定会带来性能损失,这是正常的鱼和熊掌很难兼得。了解底层逻辑,代码写起来就很复杂,如果你不想了解底层逻辑,用接口编辑的时候就会带来性能的损失,因为不同的编制空间、不同的方式,计算方法不一样。甚至一个简单的矩阵乘法,行列的排列方式都会带来效率的不一样。
基于国产算力的,面向汽车领域很多场景下的应用,三个层次问题是要解决的:
一是底层库。像常用的人工智能的基本算子、科学计算的ILP库等等这些基础库,是没有办法通过优化,甚至要用到底层汇编,才能发挥极致性能。在这种情况下,大家就可以用库来提升应用,应用甚至都不用重写,通过库就可以达到质的提升,即使无法发挥100%,能发挥30%、40%,也是质的提升。
二是典型应用的移植和优化。面向汽车产业的很多应用,没有编制,没法移植,只能基于自己的工业软件做移植。这个移植和优化功能也是一个很大的工作量要做的,基本上一个软件,10万行左右代码的软件基本上需要5至6个人半年的时间,这个工作量是很大的,要调优,要移植、优化。
三是整合平台。从用户层面角度其实不太关心底层逻辑,甚至都不关心底层用的什么芯片,重要的是我的应用要能够跑起来。就像汽车上的应用,应用到底用在什么样的芯片用户是不关心的,用户关心的是这个应用跑的好不好、快不快。要把这个应用移植好以后放在平台上,通过平台调度,打好底层的接口,上层不感知,让用户用起来更简单。
如果选择了国产的算力芯片,基本上这三层都是要面临的,不管是做工业软件还是做智能网联车,还是做其他的,都是要解决的问题。
举几个例子。比如做智算,从整个框架从头开始写,对于模型的、推理的,包括FFT、ftmDNN库、训练库,包括适配相应的算子库、设备库、通信库等等,我们做了一个3D的渲染框架,是开源的,网上能查到,支持GPU版本,支持外创版本,也可以实现大规模智能化运营开发训练,3D的并行训练,其实工作量还是很大的。实现了可编程性和效率,提高可编程性还兼顾效率,肯定不能说既提高可编程性又达到极致的效率,但是我们在做尝试,让它既好用又能够更快。比如做显示屏的软件,这个是完全自主的,每一行代码都是自己写的,从后处理的算法到前端的展示到整个应用等,入选了科创中国的先导技术榜,也有很多专利。这个基本上能够对标国外的,是用来做显示动力学的爆炸、毁伤、冲撞、碰撞等结构的力学软件,比如说像航空发动机摄入无人机以后是什么状态,太空碎片撞击卫星会怎么样,比如说一个子弹或者是导弹射到一个墙体上,甚至还有飞机库等。
汽车里也有类似结构的应用,这是我们做的显示动力学的基本软件。这个很难,行业里面也有很多汽车的单位参与CAE联盟,它里面讲到专家们有一个共识的观点,工业软件的差距远远超过芯片,芯片现在说3至5年,但是工业软件差距还是比较大,还有很大的工作量,但是这两年国家花了很大的力气,给了很大的支持在做工业软件。
基于自主芯片做的智能的大模型,生成式的智能,包括云的开发,在海关、政务、医疗领域,汽车还没用,其实可以做很多深入的工作,这里面有很多工作量。好处是完全基于国产芯片去适配。在汽车产业领域其实主要是目前做的比较成熟的是仿真研发相关的工作,也有一体化的平台,从应用的底层、数据、商业软件,还有自主国产的软件,整合在一起,其实就是数据和软件的整合,给上层应用做服务,把我们的应用层里面的开发工具,包括机器学习和测评、优化的方式和方法、流程整合在一起,再加上项目管理能力,实现业务逻辑,从产品需求到方案设计,从性能目标到仿真自动化。这个过程也是让项目经理、测试工程师、仿真工程师、设计工程师全程参与其中,共同完成一个项目,共同推进一个成果的落地,例如研发成果、做新产品、新工业优化等。这是我们做的从底层到管理、项目协同,实现了整个项目的管理,项目里可以列进度和进展计划、人物权限,来保证项目的安全性等等,包括执行的流程性,包括数据管理、材料管理、性能管理,知识库的一些基本管理。
底层的支持依赖于软硬件的资源,包括资源管理、资源分配、资源调度、求解器等,整合在一起就是汽车产业领域的服务。比如说我们做电池的、做模具的、做整车的、做系统分析的,包括数值风洞等等。举几个典型的例子,比如做汽车性能大规模的仿真分析,超低风阻数字化的开发,还有复杂环境的性能仿真,还有多工况、多方案的安全性能的开发和寻优,还有批量计算作业的提交,可以针对一个项目,批量提交计算任务,然后得到结果,然后尽快地反馈项目基本完成的情况。
风洞基本上实现了国产化替代,从算力芯片、底层算力资源到软件数值风洞CFD软件,都实现了比传统商用的并发处理难以满足数值风洞的快速计算需求的情况下,实现了CFD计算结果和数值风洞测试结果进行对标,是国产软件、国产芯片或者国产的算力系统支持做的。我们做的仿真一体化平台,从算力资源到应用,甚至后面的人工智能的工作,都在推进的过程中。
以上是把我们在汽车产业能做的工作给大家分享,如果有兴趣可以再进一步沟通,谢谢!