【前几天收到元凯的新书《算力芯片》,吃了一惊。
这些年看着他一路走来,从量化策略研究员,到如今,已经深度到硬件的微观层面。
这种学习力和求索精神,令人赞叹。
下文为元恺写这本书的心路历程,友情发布。】
文/濮元恺(《算力芯片》编著者)
2023年初,GPT等自然语言大模型开始被更多行业和个人使用,全社会的目光投向AI人工智能领域,计算机行业也掀起一波对于算力的关注潮,其他行业则开始感受到算力不足所带来的焦虑。我意识到自己之前的专业和知识积累,或许能为此贡献点什么,于是和电子工业出版社沟通,说明自己的想法,以及非常粗略的内容规划。
我在去年虽然也常有加班,但是市场环境相对平静。这一点量化金融从业者应该非常清楚,没有alpha结构性奔溃,也没有beta的快速杀跌。以及我自己对写书这件事的信息隔离(需要一个安静且不被打扰的环境),给我了非常好的知识梳理机遇期。
直到23年中,我才对要写什么有了具体规划。图书内容需要瞄准CPU和GPU等芯片近20年来的主要发展,着重讲解高性能高算力密度的芯片微架构和产品设计,且需要考虑到不同读者的知识构成和需求,拓宽受众群体,而不是写成一本类似教材的专著或教科书。
在此内容规划下,本书有三大重点:
1、CPU的演进。从调度和逻辑计算为传统目标,转向更高密度的核心堆砌和更高多核心并行效率,如AMD的EPYC处理器。
2、GPU的演进。这是一个非常棒的故事,从2005年左右开始,业界其实就已经发现着色器shader拥有较大计算密度(虽然当时不同shader浮点精度还比较混乱),有通用处理器的潜质,成熟的产品如NVIDIA的A100,H100处理器。
3、其他非通用处理器(加速器)。近几年来挣脱CPU/GPU架构的束缚,高速发展成为算力密度极高的超级计算机加速器。谷歌的TPU,华为的昇腾Ascend 910处理器。再比如特斯拉的Dojo,完全是定制化的高密度算力芯片,也是一种思路。
在内容整理阶段,考虑到很多读者是因为兴趣翻阅起这本书,我们加入了对于CPU基本原理介绍的第2、3、4章节。第4章节的SIMD单元,也是CPU能堆砌出高并行算力的基础计算单元。这部分中,Intel对于MMX指令集的介绍非常有历史感,低分辨率的图片,图中人物的上世纪90年代的发型也很有趣。那正是多媒体概念提出的年代,是CPU无法满足图形处理的年代,现在面对AI,超级计算机又何尝不是呢?第5章节是对大型处理器拓扑结构的介绍,很多有趣的设计方案能够让CPU的多个核心处于高效率运行阶段。第6章节是分段介绍主流的高算力CPU芯片,其实还有很多优秀产品,但是篇幅有限,只能点到即止。
第7章节之后,都是GPU部分。这里的每一个字的产生都离不离2010年我在中关村在线从业的经历,当时我们不仅写公开评测文章,还针对自己关注的领域做深入研究,我着重关注GPU的通用计算能力和兼容性问题,因为CUDA已经能够渗透式地改变整个行业。我还记得天河超级计算机第一次通过GPU带来了峰值浮点能力的飞跃,之后GPU加速器成为TOP500超级计算里统计中的明星。GPU部分参考了非常多的厂商白皮书,其中NVIDIA的资料尤其丰富。Intel的加速器部分我认为较为可惜,其在GPU发展路径上举棋不定,直到截稿时才大致看清未来它会以Gaudi产品线为主。
23年7月,我将正在写书的这个消息透露给NVIDIA的朱亮先生和快科技(原驱动之家)的邱洪民先生,两位都是行业前辈,对于产品应用有深刻认知,我们大部分用户接触到的高性能设备,他们都能更早期通过厂商送测拿到,并测试和反馈。虽然14年前我也是其中的一类人,我记得世界上第一块通用性强的可编程GPU,代号Fermi的GTX480发布前,我的领导告诉我中国大陆地区只有5块,我们办公室就有2块。我也突然想起2011工作去上海出差,坐在黄仁勋对面, 我的问题总是跑题到GPU Computing,他总是绕回到GPU Graphics回答我,因为那次的主题是NVIDIA为上海世博会做了一个清明上河图多屏显示方案。
回到关于本书的内容中,23年底截稿时,已经有大约5个人知晓此事,不被打扰的感觉是非常好的。2024年初,我和出版社项目负责人决定开始对内容做删减。刚开始是几句话,后来是整段,再后来是整小节删除。因为这本书如果什么都要写,字数40万,页数700页不止,同时这本并非是纯技术讲解,而是融合技术架构、产品、市场格局的图书,为此我们必须大力精简《算力芯片》。修改过程中,和出版社的配合出现了一些进度滞后的问题,再加上行文规范的修正,导致全书修改超过7次。每次反馈又耗费了大量时间,导致本书没有更早问世,这是一个不小的遗憾。
本书涉及到大量参考资料,如果没有这些资料,我不可能拿着显微镜打开芯片内部架构做讲解。正因为有了这些精彩的图书、白皮书、解决方案文档、论文、评测分析类文章,和它们背后伟大的作者,才有了本书丰富的内容。根据出版社要求,我整理了全部参考资料,他们会以电子版形式提供给读者,所以我在每章节后没有再附上冗长的参考资料。
通过扫描图书上出版社的二维码,添加微信助手,读者可以自行获取电子版参考资料。但是我也隐约感觉可能漏掉一两篇,如果细心的读者发现,最早是你撰写了某个算法、或某个技术分析细节、或你创作了某个重要的架构图,请与我联系,我尽快做出说明,并加入到参考资料中。
图书规划初始,我坚持以“编著”模式撰写本书,而不是6年前我写量化投资行业交易模型时,以“著”作为撰写模式。编著是在整理已有成果(产品、技术)的基础上有所概括和分析的写作过程。实际上本书也是我翻越愚昧之山、跌落到绝望之谷的过程,某些知识点可以较快完成,另一些则需要阅读大量文献,还不知道如何下笔,有一段时间,我越来越没信心能完成这件事。同时由于图书内容和自己的工作完全没有关系,也没有商业合作支持,我不止被问过一次为什么要写这本书。
而支撑我一直写完这本书的答案,是基于兴趣,是基于中文世界还没有看到算力芯片产品的综述类资料。我也期待图书能够再版,能认识到专业积累深刻的工程师、行业前辈们,和我一起继续丰富内容、维持更新。
图书中存在一些小错误,比如把bank(存储单元板块划分)翻译为银行,以及其他一些不规范的描述,我会统一说明并在未来的版本中进行修正。
全书中,或者说这18个月中,有以下几本书或者文献对我产生了重要影响,我先简单列出一小部分(完整部分有超过200篇文献或者图书),等过段时间详细说明它们的内容:
1、龙芯团队胡伟武等前辈撰写的《计算机体系结构基础》
2、姚永斌撰写的《超标量处理器设计》,由于出版时间久远,我甚至没能买到正版图书,看了翻印版和电子扫描版
3、景乃锋等人撰写的《通用图形处理器设计——GPGPU编程模型与架构原理》,作为GPU部分的核心参考资料
4、《Computer Architecture: A Quantitative Approach, Sixth Edition》中文名《计算机体系结构:量化研究方法》
5、《Computer Arithmetic Algorithms and Hardware Implementations》
6、《深入理解计算机系统》原版是《Computer Systems:A Programmer's Perspective》,简称为CSAPP,教科书级别的计算机系统本质讲解
7、《On-Chip Networks》该图书介绍了众核处理器的拓扑方式,目前几乎每一颗高算力的芯片都必然采用某种拓扑结构来提升并行度
8、论文《Improving the Utilization of Micro-operation Caches in x86 Processors》,我引用了其中的2张图片,并翻译了其中的一段细节(AMD Zen微架构部分)
8、论文《ISSCC 2020: Zen 2 The AMD 7nm Energy-Efficient High-Performance x86-64 Microprocessor Core》,AMD官方披露的改进细节,主要是核心到核心的延迟改进
9、论文《An Introduction to the Compute Express LinkTM (CXLTM) Interconnect》细致讲解CXL总线,比较有前景的扩展方式
10、tomshardware、chipsandcheese、wikichip、anandtech、semianalysis、beyond3d网站
11、NVIDIA、AMD、Intel等厂商提供的白皮书
最后,感谢半导体行业中辛勤耕耘的工程师们,你们创造一个微观世界,提升了人类知识的存储和演进方式,极大程度上改进了全社会运行效率。
这半年我也做了一些新的工作内容尝试,换个角度看待二级市场博弈,以及重新评估它最终为投资人提供的回报。我着重思考(特别是反思)以下几个问题:
1、以数量化方式为核心的投资交易逻辑的优劣是什么?
2、交易思路和交易执行方式的护城河在哪里?
3、现阶段是某公司的资源积累,还是成果爆发阶段?
4、数据挖掘的边界,是否被某些市场参与主体打破,导致风险事件爆发?
5、权益市场投资在国内的收益风险特性是什么?
我时常想这些问题,也带着自己的工作任务和投资人、基金管理人交流这些问题,在此过程中也越来越认清自己的能力边界。
最后感谢谭校长打造的公众号《RIH投读会》帮我发布这篇文章,一路走来能遇到几个好友是非常不容易的事,希望大家的工作都能顺应经济周期和行业周期。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有