ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

2018先进计算报告回顾:冯诺依曼瓶颈与量子计算突围

2018先进计算报告回顾:冯诺依曼瓶颈与量子计算突围 简介这份《先进计算发展研究报告2018年》由中国信息通信研究院编写面向关注计算技术演进的研究人员、产业分析师及高校师生系统梳理了从手动、机械、电动到电子计算的发展脉络并深入解读先进计算的内涵与体系。报告围绕供需不匹配这一核心矛盾剖析器件、部件、系统及非冯诺依曼架构四大创新重点涵盖量子点、二维材料、GPU/FPGA/ASIC、异构与可重构计算、内存计算、量子计算与类脑计算等方向并对创新应用驱动、开放融合、产业生态多元化重构等趋势作出展望。资源包为1个PDF文件大小约1.25MB内容完整、结构清晰含前言、目录及四大章节便于按主题检索研读。目前已有83人学习下载适合需要把握计算技术产业格局、撰写行业分析或开展相关课题研究的读者参考。1. 一份 2018 年的先进计算报告今天翻出来还能读出什么2018 年前后先进计算这个词开始密集出现在各类产业研究报告里。当时大家讨论的焦点集中在三件事冯诺依曼架构撞墙之后往哪走、量子计算什么时候能走出实验室、类脑计算能不能绕开功耗瓶颈。这份《先进计算发展研究报告2018年》就是那个时间节点的产物它把高性能计算、量子计算、类脑计算、边缘计算几条线拉到一起做了横向梳理。放到今天看它的价值不在于结论多新而在于它记录了一个转折点传统 CMOS 缩放还能不能撑住、异构计算怎么落地、量子计算从物理实验走向工程化的第一步长什么样。如果你正在做算力选型、技术路线预研或者需要给团队讲清楚先进计算到底包含哪些方向这份报告的结构和分类框架仍然可以当底稿用。它适合两类人一是刚接触这个领域、需要快速建立全景认知的工程师二是已经在某个细分方向做事、想看看相邻技术走到哪一步的从业者。2. 先进计算的技术版图从冯诺依曼瓶颈到三条突围路线2.1 冯诺依曼架构为什么成了所有路线的共同起点要理解先进计算在 2018 年的讨论语境得先回到冯诺依曼架构本身。经典冯诺依曼架构把存储和计算分开指令和数据通过总线在 CPU 和内存之间来回搬运。这个设计统治了七十多年但到了 2010 年代中后期问题变得非常具体处理器速度每年提升内存带宽的增速却跟不上两者之间的差距被叫做存储墙。数据搬运的能耗甚至超过了计算本身的能耗在一些大规模并行任务里搬数据的功耗占比能到百分之六十以上。这就是先进计算要解决的核心矛盾。报告里把突围方向大致分成三条一是继续优化冯诺依曼架构本身走异构计算和领域专用架构的路子二是换计算范式比如量子计算和类脑计算三是在系统层面做文章比如边缘计算把算力下沉到数据产生的地方。三条路线不是互斥的2018 年的报告已经注意到它们在实际部署中会交叉。2.2 量子计算在 2018 年走到了哪一步2018 年是量子计算从物理验证向工程化过渡的关键年份。当时超导量子比特的相干时间还比较短普遍在几十微秒量级门操作的保真度刚过百分之九十九的门槛。报告里重点讨论的是量子退火和量子门模型两条技术路线的差异退火适合组合优化问题门模型通用性更强但工程难度大。从落地角度看2018 年还没有出现真正意义上的量子优势演示但云访问量子处理器的模式已经开始出现。研究者可以通过云平台提交量子电路在真实硬件上跑几十个量子比特的实验。这对从业者的意义在于你不需要自己建稀释制冷机就能开始积累量子算法和量子编程的经验。报告里提到的几个方向——量子化学模拟、组合优化、量子机器学习——到今天仍然是主要的应用探索领域。2.3 类脑计算和神经形态芯片的工程化尝试类脑计算在 2018 年的报告里占了不小篇幅。它的核心思路是模仿生物神经系统的脉冲发放机制用事件驱动的方式做计算而不是像传统深度学习那样做密集的矩阵乘法。这样做的好处是功耗可以压得很低因为大部分神经元在大部分时间是不活跃的。当时比较有代表性的工程化尝试包括基于脉冲神经网络SNN的神经形态芯片。这类芯片的典型参数是单芯片集成几十万到上百万个神经元、每个神经元连接数千个突触、功耗在毫瓦到瓦级。报告里提到的一个关键挑战是编程模型不成熟——你不能直接把 PyTorch 模型部署上去需要把网络转成脉冲形式这个过程会损失精度而且工具链远不如 GPU 生态完善。2.4 异构计算和领域专用架构的实际部署相比量子计算和类脑计算的前沿性异构计算在 2018 年已经是落地中的方案。CPU 加 GPU 的组合在深度学习中成为标配FPGA 在特定场景做加速ASIC 则出现在推理端。报告里给出的判断是未来不会有一种架构通吃所有场景而是不同场景用不同组合。这个判断在今天看是准确的。当时讨论的异构计算落地路径主要有三条一是用 OpenCL 或 CUDA 做跨设备编程二是用高层次综合HLS把算法快速映射到 FPGA三是针对特定算子做 ASIC 定制。每条路径的成熟度不同CUDA 生态最完善HLS 门槛在降低ASIC 则只适合出货量足够大的场景。3. 把报告里的技术路线拆成可验证的调研动作3.1 用表格对比四条路线的成熟度和适用场景拿到一份行业报告第一步不是从头读到尾而是把里面提到的技术路线拉出来做对比。下面这张表是我根据报告框架整理的参数范围参考了 2018 年前后的公开资料你可以按同样的结构补充自己的调研数据。技术路线2018 年成熟度典型功耗编程门槛适合场景异构计算CPUGPU大规模部署百瓦级低CUDA/OpenCL深度学习训练推理、科学计算FPGA 加速中等规模部署十瓦级中Verilog/HLS低延迟推理、网络加速量子计算实验室云访问稀释制冷机千瓦级高量子电路组合优化、量子化学模拟类脑计算原型验证毫瓦到瓦级高SNN 工具链事件驱动视觉、低功耗边缘表格的作用是帮你快速判断如果你手头的任务对延迟敏感但对吞吐要求不高FPGA 可能比 GPU 更合适如果你做的是组合优化问题且规模不大可以试试云上的量子退火。报告里没有给出这么具体的对比但它的分类框架可以支撑你做这个动作。3.2 用 Python 脚本量化冯诺依曼瓶颈的影响报告里讨论存储墙时用的是定性描述但你可以自己动手算一下数据搬运的能耗占比。下面这段脚本模拟不同计算强度下数据搬运和实际计算各自的能耗。# 估算冯诺依曼架构下数据搬运与计算的能耗占比 # 参数参考 2018 年前后 28nm 工艺的典型值 def energy_breakdown(compute_intensity, data_size_gb, flops): compute_intensity: 每字节数据对应的浮点运算次数 data_size_gb: 需要搬运的数据量GB flops: 总浮点运算次数 # 搬运 1 字节数据的能耗皮焦耳28nm 下约 10 pJ/byte energy_per_byte 10e-12 # 一次浮点运算的能耗皮焦耳约 1 pJ/FLOP energy_per_flop 1e-12 bytes_moved data_size_gb * 1e9 move_energy bytes_moved * energy_per_byte compute_energy flops * energy_per_flop total move_energy compute_energy print(f计算强度: {compute_intensity} FLOP/Byte) print(f数据搬运能耗: {move_energy:.4f} J) print(f计算能耗: {compute_energy:.4f} J) print(f搬运占比: {move_energy/total*100:.1f}%) print(---) # 低计算强度场景计算强度 1 FLOP/Byte energy_breakdown(1, 10, 10e9) # 高计算强度场景计算强度 100 FLOP/Byte energy_breakdown(100, 10, 1000e9)这段脚本的逻辑很直接搬运能耗等于字节数乘以单字节能耗计算能耗等于浮点运算次数乘以单次运算能耗。参数方面10 pJ/byte 和 1 pJ/FLOP 是 28nm 工艺下的粗略值不同工艺节点会有差异。跑出来的结果会告诉你在低计算强度下搬运能耗占大头只有把计算强度提上去计算能耗才会成为主要部分。这就是为什么深度学习里做算子融合、减少中间结果落盘能省电——本质上是在降低数据搬运量。3.3 用云平台跑一个量子电路的入门实验如果你对量子计算感兴趣但不想碰硬件2018 年之后云访问量子处理器已经比较方便了。下面用 Qiskit 写一个最简单的贝尔态制备电路这是理解量子纠缠和量子门操作的最小实验。# 贝尔态制备两个量子比特的最大纠缠态 # 需要安装 qiskit: pip install qiskit from qiskit import QuantumCircuit, execute, Aer # 创建 2 个量子比特、2 个经典比特的电路 qc QuantumCircuit(2, 2) # 对第一个量子比特施加 Hadamard 门制造叠加态 qc.h(0) # 以第一个量子比特为控制第二个为目标施加 CNOT 门 qc.cx(0, 1) # 测量两个量子比特结果存入经典寄存器 qc.measure([0, 1], [0, 1]) # 用本地模拟器运行 1024 次 backend Aer.get_backend(qasm_simulator) job execute(qc, backend, shots1024) result job.result() counts result.get_counts(qc) print(测量结果统计:, counts) # 预期输出{00: ~512, 11: ~512} # 00 和 11 各占约一半说明两个量子比特完全关联这段代码的关键在 H 门和 CNOT 门的组合。H 门把第一个量子比特变成 0 和 1 的叠加态CNOT 门把两个量子比特纠缠起来最终测量结果只会出现 00 或 11各占约一半。参数 shots 控制重复次数次数越多统计越稳定。如果你把这段代码提交到云上的真实量子处理器会看到结果里混入少量 01 和 10那是硬件噪声导致的——这也是 2018 年量子硬件保真度还不够高的直接体现。4. 复现报告结论时最容易翻车的几个地方4.1 把报告里的预测当成已落地的事实现象读到报告里说某个技术路线有前景直接按这个路线做技术选型结果发现工具链不成熟、社区资料少、踩坑成本极高。原因行业报告写的是趋势判断不是工程可行性评估。2018 年报告里对类脑计算和量子计算的描述偏乐观但当时这两条路线的工程化程度远不如异构计算。解决拿到报告后先做一轮成熟度筛查。具体做法是查三个指标有没有可用的开源工具链、有没有云平台可以租用、社区问答活跃度如何。三个都满足才考虑投入缺一个就只做技术跟踪不押注。4.2 忽略工艺节点对能耗参数的影响现象用报告里的能耗数据做方案对比算出来的结论和实际测试对不上。原因报告里引用的能耗数据往往来自特定工艺节点比如 28nm 和 7nm 的单字节搬运能耗差好几倍。如果不确认数据来源的工艺条件直接拿来算结论会偏。解决做能耗估算时先确认三个参数工艺节点、电压频率、温度条件。如果报告没写就按最保守的值算或者自己用目标工艺的公开数据替换。上面那段 Python 脚本里的 10 pJ/byte 是 28nm 的粗略值7nm 下可以降到 2-3 pJ/byte 量级。4.3 量子电路模拟的 shots 设得太小现象跑量子电路模拟结果波动很大每次跑出来的分布都不一样误以为电路有问题。原因量子测量是概率性的shots 设得太小统计涨落就大。比如 shots10 的时候00 和 11 的比例可能是 7:3看起来像电路错了。解决做统计验证时 shots 至少设 1024最好 4096。如果只是验证电路逻辑可以用 statevector 模拟器直接看态矢量不需要测量。Qiskit 里用 Aer.get_backend(statevector_simulator) 就能拿到精确的态矢量。4.4 类脑计算直接套用深度学习工具链现象想把训练好的 CNN 模型直接部署到神经形态芯片上发现精度掉得厉害或者根本转不过去。原因SNN 和传统 ANN 的信息表示方式不同。ANN 用连续值激活SNN 用脉冲发放频率或时间编码。直接转换需要做权重归一化和阈值调整不是简单的格式转换。解决如果一定要用 SNN先从简单的全连接网络开始用 ANN-to-SNN 转换工具做初步映射然后在目标芯片上做微调。2018 年这方面的工具链还不成熟现在有一些开源框架可以用了但精度损失仍然是需要接受的现实。4.5 异构计算只盯着 GPU 忽略数据搬运开销现象把任务从 CPU 迁到 GPU发现加速比远低于预期甚至在某些小规模任务上更慢。原因GPU 加速的前提是任务有足够的并行度和计算强度。如果任务本身数据量小、计算简单数据在主机和设备之间来回搬运的开销会吃掉加速收益。解决迁移前先算计算强度。计算强度低于 10 FLOP/Byte 的任务优先考虑在 CPU 上做优化或者用算子融合减少数据搬运。GPU 适合的是计算强度高、并行度大的任务比如矩阵乘法、卷积。5. 从 2018 年报告里挖出今天还能用的判断框架翻旧报告的一个实用技巧是不看它的结论看它的分类维度和判断依据。2018 年这份报告把先进计算分成高性能计算、量子计算、类脑计算、边缘计算几块这个分法到今天基本没变说明分类框架是稳的。变的是每块下面的具体技术参数和成熟度。我自己的习惯是拿这类报告做三件事。第一把报告里的技术路线拉成一张表标注每条路线的成熟度、工具链完善度、社区活跃度每半年更新一次。第二对每条路线找一个最小可验证实验比如量子计算就用上面那段贝尔态代码类脑计算就找一个 SNN 仿真框架跑个 MNIST异构计算就用 CUDA 写个矩阵乘法。第三把报告里的预测和实际进展做对照记录哪些判断被验证了、哪些偏了偏的原因是什么。这个对照记录比报告本身更有价值因为它训练的是你对技术成熟度的判断力。2018 年报告里对量子计算的判断偏乐观对异构计算的判断偏保守对类脑计算的判断基本准确。这个偏差模式本身就是一个有用的信号前沿技术容易被高估短期进展成熟技术容易被低估长期渗透。下次再看到类似报告你可以先按这个模式做一轮预期校准再决定投入多少资源去跟。希望帮到你。本文还有配套的精品资源点击获取
返回列表