兼容 CUDA还是成为 NVIDIA——成本模型锁定与 GPU 生态的“不可能三角”在人工智能大模型时代NVIDIA 的 CUDA 生态已成为加速计算领域事实上的行业标准。PyTorch、TensorFlow、JAX 等主流框架长期以 CUDA 作为最成熟、最广泛部署的后端从学术论文的参考实现到工业界的训练与推理管线整个 AI 软件栈的核心能力都深度依赖 CUDA 及其衍生体系。这种近乎垄断的地位使得任何试图进入通用 GPU 与 AI 加速器市场的挑战者都必须面对一个无法回避的核心命题如何处理与 CUDA 生态的关系本文的核心论证围绕一个被长期忽视的根本性区分展开CUDA 兼容的真正矛盾不在于能否实现 CUDA 语义而在于能否复现 NVIDIA 的成本模型。语义可以翻译ISA 可以映射API 可以重实现——但成本模型来自硬件和运行时的可观察行为。若要求极限兼容且性能等价成本模型也必须被复现而这会将新硬件推向 NVIDIA 的优化表面。这一逻辑可以提炼为一个结构性约束无修改兼容、性能等价与架构自主之间存在强烈的工程张力。三者每一项都不是非黑即白的二元变量而是连续的梯度值——兼容程度越高成本模型收敛的压力越大架构自主性被压缩的程度越深。三者无法同时推向极限。这不是严格的数学定理而是工程实践中反复验证的梯度约束。在此基础上本文提出核心判断极限 CUDA 兼容的终点不是成为一张独立的、有自己个性的新 GPU而是成为 NVIDIA 成本模型的影子实现——兼容的不仅是 CUDA 语义更是 NVIDIA GPU 的可观察行为与优化表面。兼容战略只能作为市场冷启动的桥接手段长期出路在于将兼容边界从底层 CUDA 代码上移到框架层、编译器 IR 层与原生库层在新的战场上建立独立生态。一、CUDA 到底是什么要讨论 CUDA 兼容首先必须回答一个看似简单的问题CUDA 究竟是什么答案远比“一个并行计算 API”复杂。CUDA 不是一个单一接口而是一个从硬件微架构到上层应用生态的完整封闭体系。它可以被拆解为清晰的七层结构不同层级的耦合强度、迁移难度与生态权重截然不同CUDA C/C 语言扩展__global__、__device__、__shared__等关键字与内核启动语法。这是最表层的抽象也是最容易模仿的部分。CUDA Runtime API / Driver API内存管理、流与事件、模块加载、上下文管理等基础运行时接口。PTX / NVVM IRNVIDIA 的虚拟指令集与中间表示。PTX 不等同于某一代 SM 的机器码但它也不是中立的开放 IR——它深度嵌入了 NVIDIA 的线程层级、内存空间、同步语义与指令扩展。SASS / cubin针对特定 NVIDIA GPU 架构编译生成的底层机器指令与硬件物理特性深度绑定。CUDA 数学库与 AI 库cuBLAS、cuDNN、cuBLASLt、cuFFT、NCCL、TensorRT、CUTLASS 等。这是 CUDA 生态最核心、最难替代的部分贡献了绝大多数应用的性能。开发工具链Nsight Compute、Nsight Systems、cuda-gdb、性能分析工具、占用率计算器等。上层生态绑定PyTorch、TensorFlow、JAX、DeepSpeed、vLLM、FlashAttention、bitsandbytes 等数以万计的第三方库与框架默认假设 CUDA 存在并深度集成。这七层结构的核心特征是第 1–4 层是耦合层第 5–7 层是护城河层。耦合不是简单的“一一对应”而是 CUDA 作为抽象层选择性地暴露了 NVIDIA 硬件的关键特性同时隐藏了不必要的细节。例如__shared__关键字确实对应 SM 内部的片上共享存储其存储体冲突规则直接影响代码性能__syncthreads()的语义依赖于硬件提供的块级屏障机制与内存可见性规则Warp Size 32 是 NVIDIA 长期坚持的硬件惯例大量高性能代码事实上依赖这一假设。理解这七层结构是讨论一切兼容问题的基础。当一家厂商宣称“支持 CUDA”时它可能只兼容了第 1–2 层也可能试图兼容第 1–5 层。这两种“兼容”的技术内涵与工程难度有着天壤之别。二、为什么 CUDA 兼容有不同难度“兼容 CUDA”是一个极其模糊的说法。不同层级的兼容技术难度、工程投入、性能收益与法律风险完全不同。在展开分析之前必须首先给出“极限 CUDA 兼容”的严格定义不是指能够编译部分 CUDA 源码也不是指实现若干 CUDA Runtime API而是指现有 CUDA 程序、二进制、库调用、工具链、性能分析方法和调优经验在无需修改的情况下迁移到新硬件并且保持接近 NVIDIA 平台的正确性、性能特征和开发体验。极限兼容在工程中可能永远无法完美达成——即便 NVIDIA 自身的跨代兼容也不是完全无感的。但这并不意味着它是一个虚空假设。它描述的是一个方向当厂商宣称“全面兼容 CUDA 生态”时他们正在向这个方向推进。本文论证的正是一个梯度关系——兼容程度越高成本模型收敛的压力越大——而非只在极限点才生效的阈值断言。在这一严格定义下可以审视三条主要的兼容技术路径。源码到源码的翻译提供自定义编译工具链读取.cu源代码翻译为自家 GPU 的原生指令主要兼容第 1–2 层。其核心矛盾在于高性能 CUDA 代码充满了针对 NVIDIA 硬件的隐式假设。核心内核大量使用 Warp 级原语、内联 PTX、Tensor Core MMA 指令以及针对特定 SM 架构的共享内存布局、线程块大小和寄存器使用量的精细调优。通用编译器无法在编译时自动解构这些深度手工优化并重新构造出针对另一套硬件架构的等效优化。针对 Warp Size 32 优化的线程束洗牌操作在 Wavefront Size 64 的硬件上需要额外处理针对 NVIDIA 矩阵单元设计的 tile 大小在其他矩阵加速器上可能效率低下。源码翻译适合作为迁移入口但不能保证性能可移植性。API 与库层兼容是一条非常重要却常被技术讨论忽略的路径重实现 CUDA Runtime/Driver API 与关键库的 API/ABI提供替代版的libcuda.so、libcudart.so、libcublas.so等动态库内部将调用映射到厂商自有的 runtime 和原生库实现。大量 AI 应用并不直接编写 CUDA kernel而是通过框架间接调用底层库。对于这类库调用型工作负载如果厂商做出了性能优秀的原生 GEMM、attention 和通信库就有可能在保留无修改迁移体验的同时用原生性能打动用户——这个过程不需要逐条翻译 CUDA kernel也不需要兼容 PTX 或 SASS。但这条路线的局限性同样清晰覆盖范围限于库调用型负载无法覆盖任意手写 CUDA kernel、内联 PTX、cubin 二进制和第三方 CUDA 扩展。当工作负载主要停留在库调用层面时厂商可以在不复制 NVIDIA 微架构的情况下实现相当程度的应用迁移——这是“不可能三角”的一个有限但真实的局部出口。中间表示与二进制翻译将 PTX 或 SASS 实时翻译成自家 GPU 的指令。PTX 翻译本质上是为 NVIDIA 的虚拟 ISA 编写一个非 NVIDIA 的后端仍有寄存器重分配和指令重排的空间。SASS 翻译则几乎等同于在软件层面模拟 NVIDIA 的硬件行为几乎没有重优化空间。两者共同面临硬件行为语义差异的根本性挑战执行模型差异要求兼容层强制引入额外同步内存一致性模型差异要求额外插入 fence 或 barrier专用硬件单元映射则可能因矩阵 tile 形状和精度支持不同而导致性能数量级下降。越靠近底层的兼容越容易被 NVIDIA 的架构路线绑架。三、为什么能跑不等于跑得快前面梳理了兼容的层级和路径。现在需要引入全文最核心的概念区分——它回答了“能跑”和“跑得快”之间的鸿沟从何而来。3.1 语义兼容与成本模型兼容一个程序能否正确运行取决于语义兼容计算结果是否正确内存访问是否合法同步是否保证了必要的可见性。一个程序能否高速运行取决于成本模型兼容原来的优化技巧还管不管用原来的 block size、tile size、warp shuffle、shared memory layout、Tensor Core 使用方式换平台后还能不能保持原有的性能收益。这里的“成本模型”需要给出精确的操作性定义不是笼统的“所有可观察行为”而是特指那些被高性能代码在优化时主动依赖、且换硬件后会失效的行为假设。具体包括执行粒度warp/wavefront size、片上存储的 bank 结构及冲突代价、矩阵单元支持的 tile 形状与数据布局、内存合并访问规则、寄存器压力与 occupancy 的关系、同步操作的代价层级、计算与通信重叠的行为特征。这些不是玄学是可以通过 microbenchmark、profiler、autotuning 和 roofline 分析测量的具体性能特征。语义可以翻译API 可以重实现但成本模型来自硬件和运行时的可观察行为无法被“兼容”而不付出架构代价。3.2 高性能 CUDA 代码已编码 NVIDIA 成本模型CUDA 生态里真正值钱的资产不是 CUDA 语法而是围绕 NVIDIA 成本模型长期积累的优化资产。cuBLAS、cuDNN、NCCL、CUTLASS、FlashAttention、TensorRT、各种 fused kernel——这些高性能资产的代码结构、调参习惯、kernel layout、数据布局和通信策略都不是架构中立的而是长期围绕 NVIDIA GPU 的特定硬件行为优化出来的。这些代码隐含地假设了warp 内通信很便宜warp size 是 32shared memory 有特定 bank 行为某种访存模式可以 coalescing某种 tile 大小正好适配 Tensor Core某种寄存器使用量不会让 occupancy 崩溃某种 kernel launch 和 stream 调度方式能有效重叠计算与通信。需要承认的是绝大多数 AI 开发者和研究者并不直接编写这类深度优化的 CUDA kernel他们通过 PyTorch 等框架间接调用底层库。但这并不能削弱成本模型锁定的重要性——正是因为核心 kernel 被少数人写、被绝大多数人用这些 kernel 才构成了生态的性能引擎。如果它们在新硬件上跑不快整个上层应用的用户体验就会崩塌。3.3 无修改兼容会保留原有优化假设如果用户不改代码、不重写 kernel、不改库调用、不重新调参那么原有优化假设就不会消失。原代码仍然假设自己运行在 NVIDIA 式成本模型上。如果新硬件的成本模型不同——执行粒度不是 32、矩阵单元 tile 形状不同、shared memory 行为不同、occupancy 关系不同、coalescing 规则不同——那么原来的“快代码”就可能不成立。无修改迁移会把 NVIDIA 的优化假设一并带到新硬件上。3.4 性能等价要求新硬件接住这些假设现在来到关键推理如果要求代码不改、二进制不改、库调用不改、调优经验不改而性能还要接近 NVIDIA那么新硬件必须让这些 NVIDIA 优化假设继续成立。这里需要对“性能等价”做一个重要澄清本文讨论的性能等价不是个别 benchmark 上通过更大面积或更高功耗硬怼出来的局部性能相当而是指广泛 CUDA 存量生态的整体性能表现——包括各种不同的模型、推理框架、训练策略、精度和负载规模。在局部可以用资源补偿但在广泛的、多元的、不断演进的工作负载面前这种方法不再可行。因此新硬件必须在外部表现上提供与 NVIDIA 类似的执行粒度、同步机制、内存层次、片上存储行为、矩阵单元接口、访存成本、runtime 行为和 profiling 观察方式。极限 CUDA 兼容要求的不是 CUDA 语义等价而是 NVIDIA GPU 成本模型等价。四、为什么极限兼容会逼近 NVIDIA4.1 不可能三角基于上述分析可以提炼出一个结构性约束对于试图承接广泛 CUDA 存量生态的非 NVIDIA GPU 而言无修改兼容、性能等价与架构自主之间存在强烈的工程张力。三者每一项都不是 0/1 的二元变量而是连续变量——兼容程度越高成本模型收敛的压力越大架构自主性被压缩的程度越深。三者无法同时推向极限。情况一无修改兼容 性能等价 → 架构自主下降。如果厂商追求现有 CUDA 程序、二进制、库与工具链无需修改且性能接近 NVIDIA那么其硬件设计将不可避免地向 NVIDIA 架构收敛。单卡内核的成本模型包括 Warp 执行粒度、共享内存 bank 冲突规则、SM 占用率与线程块调度、寄存器文件大小、内存合并规则、Tensor Core MMA 指令 tile 形状、L2 缓存容量与带宽、原子操作性能特征以及 CUDA 流/事件/Graph 和异步拷贝的运行时行为多卡系统层面则涉及 NCCL 通信拓扑和网络行为。如果要让所有这些经过 NVIDIA 成本模型优化的代码“不改也快”那么新硬件在对外暴露的行为上必须向 NVIDIA 靠拢。情况二无修改兼容 架构自主 → 性能等价丧失。如果厂商坚持保留自身硬件架构特色同时追求对现有 CUDA 程序的无修改兼容就必须在软件层引入厚重的翻译与适配层来弥补语义差异。兼容层越厚性能开销越大。这就是为什么许多宣称“支持 CUDA”的硬件在简单程序上表现尚可在深度优化的生产级代码上却性能断崖。情况三性能等价 架构自主 → 无修改兼容丧失。这是唯一健康且可持续的长期路线。这条路线的核心是将兼容边界从 CUDA 代码层向上迁移到框架层或计算图层通过高质量的框架后端、原生数学库与通信库让用户通过重新编译或框架适配获得原生性能。需要明确区分两种不同性质的架构收敛。应用需求驱动的收敛——所有 AI 加速器都有矩阵单元、HBM 和分层存储这是大模型工作负载本身的客观需求不是模仿 NVIDIA。CUDA 兼容驱动的收敛——为了适配 warp-level primitive 而模拟 warp32为了兼容 CUDA shared memory 编程习惯而暴露类似 scratchpad 语义为了兼容 Tensor Core MMA 指令形状而设计类似 tile 接口才是真正被 NVIDIA 成本模型塑形的部分。如果一个硬件特征即使没有 CUDA 生态也会因为 AI workload 而出现那它是应用需求驱动的自然收敛如果一个特征主要是为了让既有 CUDA 代码、调优方式或二进制行为继续成立那它才是兼容驱动的被动收敛。API/库层兼容是一个有限但真实的局部例外。当应用主要调用高层库而非手写 CUDA kernel 时厂商可以通过 API/库层兼容保留“无修改迁移”体验同时用原生库实现保证性能硬件上保持自主架构。但这个例外不能推翻三角——因为其覆盖面仅限于库调用型负载一旦涉及任意手写 CUDA kernel、内联 PTX、cubin 二进制或第三方 CUDA 扩展API/库层兼容就无法提供真正的无感迁移。4.2 核心判词极限兼容的终点是成本模型收敛将三种情况放在一起审视可以发现一个清晰的分界线情况一与情况二都试图在 CUDA 代码层解决问题区别只在于牺牲架构还是牺牲性能情况三则彻底放弃了这一层的纠缠将战场向上迁移。任何执意在 CUDA 代码层追求极限无修改兼容的方案都逃不开“牺牲架构”或“牺牲性能”的二选一。由此得出本文的核心判断如果追求让所有 CUDA 代码、二进制、库调用和调优经验在无需修改的情况下保持原有性能那么兼容的就不再只是 CUDA 语义而是 NVIDIA GPU 的成本模型。此时硬件未必在物理结构上逐晶体管复制 NVIDIA但其对外暴露的执行粒度、内存层次、同步行为、矩阵单元接口和性能直觉都必然向 NVIDIA 收敛。需要做一个重要澄清成本模型收敛不等于内部实现完全没有创新空间。厂商可以用完全不同的调度器实现相似的 warp 行为可以用不同的片上网络实现相似的 shared memory 延迟可以用不同的矩阵引擎微架构实现相似的 Tensor Core 接口。架构自主不是被完全消灭而是被实质性压缩——外部行为约束会影响内部设计方向厂商不能自由定义自己的成本模型不能自由决定哪些操作昂贵、哪些操作便宜。这种自主性的下降意味着厂商不再是新硬件标准的定义者而是 NVIDIA 标准的追随者。这就是极限兼容的本质不是物理版图上的逐晶体管复制而是成为 NVIDIA 成本模型的影子实现——复制的是 NVIDIA GPU 的优化表面。更尖锐地说能跑 CUDA只是兼容 CUDA能让所有 CUDA 代码不改且保持原有性能才是在兼容 NVIDIA GPU 本身。4.3 必须处理的强反例为什么 x86 兼容没有让 AMD 变成 Intelx86 兼容同样要求很深AMD 能够运行 Intel 生态的大量软件和二进制程序但 AMD CPU 并没有变成 Intel CPU。这是最需要认真回应的质疑。x86 是一个相对稳定、公开、由 Intel 和 AMD 交叉授权的指令集架构。编译器以 ISA 语义为主要兼容目标流水线深度、缓存层次、分支预测器、乱序执行引擎等微架构细节由各厂商独立实现差异被指令集抽象层吸收。但这个区分需要更加诚实。x86 的高性能代码——BLAS 库、数据库内核、游戏引擎——确实也包含针对特定 CPU 微架构的深度优化这些优化同样依赖缓存大小、流水线深度、分支预测器行为等成本模型因素。x86 生态解决成本模型锁定的方法不是让 AMD 的硬件模仿 Intel而是编译器多后端加开源软件生态。一个 BLAS 库针对 Intel 和 AMD 分别有优化路径用户不需要改代码重新编译即可。CUDA 则不同。CUDA 不仅定义了计算语义还通过__shared__、warp-level primitive、Tensor Core MMA 指令、同步模型和内存层次将 GPU 的执行粒度、线程层级、片上存储结构和矩阵单元协作方式等大量微架构特性直接暴露给了开发者。高性能 CUDA 代码不是针对抽象 ISA 调优而是针对 NVIDIA GPU 的成本模型手工优化。更重要的是CUDA 的锁定比 x86 更深一层x86 的“成本模型锁定”主要是后端微架构层面的——缓存大小、流水线深度、分支预测器行为——可以通过编译器调度适应差异而 CUDA 的锁定涉及编程模型层面——warp shuffle 的通信拓扑、shared memory 的 bank 利用方式和同步机制、Tensor Core MMA 的协作模式。这种编程模型层面的耦合对编译器优化的透明度更低自动转换的难度更大。x86 的经验恰恰证明源码级兼容和库级兼容可以长期成功但前提是性能关键路径要允许针对不同微架构重新生成或选择原生代码。同一个为 Intel 特定微架构手写的 AVX-512 microkernel并不会在 AMD 上无修改且保持同等最优。高性能生态的正确做法不是复制某一家硬件而是在更高层建立可重定向的编译器和库生态。这正是将兼容边界上移这一出路的有力佐证。其他潜在反例也需处理Apple Rosetta 是动态二进制翻译与重新编译的结合性能并不等价于原生 x86 硬件不满足“无感且性能等价”的条件编译器重优化如果源码可见且上升到计算图层确实可以重优化但这已经属于“兼容边界上移”用更高带宽和更大面积硬怼可以在有限 benchmark 上补偿成本模型差异但无法覆盖广泛生态和长期演进重实现库对库调用型负载有效覆盖面有限不能解决手写 kernel 和内联汇编问题。五、既然如此为什么还要兼容答案不在技术层面而在市场层面。这不是技术最优解而是市场最优解。在一个已被 CUDA 统治的市场中全新不兼容的硬件几乎没有生存空间。开发者没有动力为重写代码投入用户也不会购买没有软件支持的硬件。CUDA 兼容正是打破这个死循环的钥匙——它向市场释放信号你现有的软件投资不会完全作废。这一阶段的目标不是性能对等而是功能覆盖与可用性。“能跑、够用、便宜、供货稳定”往往比“极致性能”更重要。兼容战略真正的危险不在于“兼容得不好”而在于“兼容得太好”以至于过度特化。如果厂商将所有资源投入完善 CUDA 兼容层忽视原生编程模型和工具链建设其硬件设计将不可避免地被 NVIDIA 的架构路线绑架——这正是“不可能三角”中最危险的那条路径的现实映射。现实中成功的挑战者普遍采用“兼容为主原生为辅”的混合路径用兼容层解决“能不能跑”的问题吸引用户尝试用原生库和框架后端解决“快不快”的问题留住用户用原生编程模型和工具链解决“能不能创新”的问题建立长期竞争力。兼容是手段不是目的。六、怎样摆脱真正的目标不是“兼容”而是“超越”。这需要分阶段的混合战略以兼容为入场券解决“能不能跑”的问题通过原生性能优势和工具链引导用户转向原生开发最终在足够多的应用以原生方式运行时摆脱 NVIDIA 的架构束缚实现颠覆性创新。对于未来的出路最有希望的答案不在下一个 OpenCL 式的底层 API 标准而在于深度学习编译器与框架层中间表示的革命。以 PyTorch 2.0 Dynamo/TorchInductor、Triton、MLIR、XLA/OpenXLA 等为代表的框架层编译器正在将 AI 软件栈的结构从“开发者手写硬件专用代码”转变为“开发者写高层计算图编译器为不同硬件后端生成优化代码”。对硬件厂商而言他们不再必须逐行兼容庞大复杂的 CUDA C 存量代码而可以通过提供高质量编译器后端、原生库和运行时来接入主流生态。需要坦诚承认深度学习编译器并非终点。它仍然面临图捕获完整性、编译器硬件假设、后端质量差异、关键算子仍需手工优化、第三方生态惯性等多重挑战。此外如果主流编译器生态继续以 NVIDIA 为主要优化目标那么“兼容边界上移”只是把锁定的位置从 CUDA 代码层移到了编译器后端层——问题换了战场但 NVIDIA 仍然可能占据先发优势。尽管如此上移仍然是质的改善。底层 CUDA 代码锁定要求新硬件逐指令兼容这是刚性的、原子化的约束。而编译器/框架层的锁定通过后端适配、算子重写和调优空间探索可以有更多的灵活性和自适应性。它把竞争从“你必须一模一样”变成了“你必须更快”——这对拥有不同硬件架构的厂商更为公平。编译器不是消除问题而是改变了问题的约束类型从刚性语义兼容变为柔性性能竞争。大模型时代的算子收敛趋势也在为挑战者创造有利条件。核心算子高度收敛于矩阵乘法、注意力机制、归一化和激活函数等少数几类。算子收敛确实降低了新硬件在单算子性能层面的追赶表面复杂度。但必须清醒认识到算子收敛并不意味着系统复杂度的消失。在大模型的实际部署中性能瓶颈越来越取决于 GEMM、attention、通信、内存管理和调度系统的整体协同而非单个算子的峰值吞吐。KV cache 管理、动态批处理、量化与反量化、MoE 分发、流水线与张量并行、集合通信、HBM 带宽利用率和推理服务调度等共同构成了一整套系统工程挑战。算子收敛降低了追赶的表面复杂度但并没有消解追赶的系统难度。七、结论CUDA 生态的本质是由编程模型、关键库、编译器、工具链、分布式通信、框架适配和开发者网络共同构成的全栈体系。这种多维度的深度耦合为 NVIDIA 构建了极其坚固的护城河。本文的核心论证围绕一个根本性区分展开CUDA 兼容的真正矛盾不在于能否实现 CUDA 语义而在于能否复现 NVIDIA 的成本模型。语义可以翻译成本模型不能白嫖。高性能 CUDA 生态的存量资产不是中立代码而是长期围绕 NVIDIA GPU 成本模型优化沉淀的结果。无修改兼容会保留这些优化假设性能等价要求新硬件接住这些假设而成本模型兼容将实质性压缩架构自主空间。“不可能三角”不是数学定理而是一种梯度约束兼容程度越高成本模型收敛的压力越大架构自主性被压缩的程度越深。极限兼容并不要求物理版图上的逐晶体管复制但它会迫使挑战者成为 NVIDIA 成本模型的影子实现——复制的是 NVIDIA GPU 的优化表面。能跑 CUDA只是兼容 CUDA能让所有 CUDA 代码不改且保持原有性能才是兼容 NVIDIA GPU 本身。CUDA 兼容因此只能作为市场冷启动的手段不能成为长期技术战略。正确的路径是将兼容边界从底层 CUDA 代码向上迁移到框架层和计算图层。通过建设高质量的原生库、编译器后端和工具链在保留硬件自主性的同时为用户提供平滑的迁移体验和有竞争力的性能。深度学习编译器的兴起正在为这一转移创造条件——它不能一劳永逸地消除 NVIDIA 的先发优势但它将竞争的规则从“你必须一模一样”改变为“你必须更快”为独立硬件架构的创新留出了空间。对于挑战者而言这一分析最重要的启示是不要试图去赢一场“无限逼近 NVIDIA”的比赛因为那场比赛的终点就是成为 NVIDIA 成本模型的影子。正确的方向是主动放弃对“无修改兼容”的执念将战场转移到框架、编译器与原生生态在自己的赛道上定义下一代硬件的标准。