哈希算法原理解析,如何利用哈希函数预测博彩走势惊到了!大神炮轰CUDA:CUDA存致命缺陷它不是未来!这种新语言将打破英伟达的GPU垄断地位护城河终会消失!
2025-07-28哈希算法,SHA256,哈希函数,加密哈希,哈希预测/哈希算法是博彩游戏公平性的核心,本文详细解析 SHA256 哈希函数的运作原理,并提供如何通过哈希技术进行博彩预测的方法!
惊到了!大神炮轰CUDA:CUDA存致命缺陷,它不是未来!这种新语言将打破英伟达的GPU垄断地位,护城河终会消失!
近日,一位大牛 Thomas Cherickal,发表了一篇博客,阐述了一种新的编程范式。他认为,基于 MLIR 的 Mojo 无疑将取代基于 LLVM 的 CUDA,而且这种方式已经几乎可以在其他任何芯片上运行,包括谷歌TPU、AMD、英特尔以及任何定制的AI芯片!
有一种新的编程语言,正在AI圈兴起,撬动英伟达的围墙花园。而CUDA也不再是护城河。
近日,一位大牛 Thomas Cherickal,发表了一篇博客,阐述了一种新的编程范式。他认为,基于 MLIR 的 Mojo 无疑将取代基于 LLVM 的 CUDA,而且这种方式已经几乎可以在其他任何芯片上运行,包括谷歌TPU、AMD、英特尔以及任何定制的AI芯片!作者思路非常清晰,从市场竞争格局、硬件和软件的趋势变化两个角度,拆解了 CUDA 的优势和致命缺陷,并做出了论断:CUDA 将走向终点,而 Mojo 才是未来。篇幅较长,建议大家收藏细读。
其实,即便 OpenAI、DeepMind 这些 AI 巨头,其实也都曾苦 CUDA 久矣。问题是,目前还没什么好替代品。
自 2007 年推出以来,CUDA 一直是 GPU 编程的黄金标准。它让开发者能够更精细地控制 GPU,但也让英伟达在软硬一体的算力生态中建立了坚固的护城河:
从训练模型到部署推理,CUDA 的封闭性和高门槛,让无数开发者又爱又恨。一边是性能无敌的 GPU,一边是写起来像黑魔法一样的 CUDA。
到了2025年年中,情况在发生变化。IT界正在向异构化彻底转变。由此,我们看到科技巨头从没有放弃推出自己的芯片。
英特尔的Gaudi处理器专为深度学习训练和推理而设计,是英伟达GPU的有力竞争者。
AMD的MI系列GPU为高性能计算和AI工作负载而设计,是英伟达数据中心GPU的竞争者。
Groq的TSP架构为低延迟推理和高吞吐量而设计,尤其适用于大语言模型。
谷歌的TPU是针对机器学习工作负载(尤其在谷歌云基础架构中)优化的定制芯片。
AWS Trainium是一款为机器学习训练而设计的芯片,具有高性能和成本效益。
除此之外,主攻定制芯片的初创公司也不在少数。而这种百花齐放的新格局需要一种新的编程理念。
CUDA的全称是统一计算设备架构。它是英伟达的并行计算平台和编程模型,允许开发者编写类似C++的代码(称为内核),可在英伟达GPU上运行。
CUDA的真正优势在于常年积累的库生态,其成熟度可以说市面上无与伦比。这里展示一些:
此外,CUDA 还对硬件实现了直接底层控制,使研究人员能够获得最佳性能;另外,悠久的历史造就了庞大的社区,拥有丰富的文档和支持。
厂商锁定:CUDA代码只能在英伟达GPU上运行。这导致开发者和整个行业被一家收费高昂的硬件供应商牢牢束缚。这抑制了竞争,并限制了选择最佳硬件的自由。
双语言问题:AI和科学计算的主要瓶颈。研究人员使用Python等高级语言设计原型,因为简单易用、迭代速度快。但对于生产环境而言,关注性能的代码必须完全用低级C++/CUDA重写。这造成了痛苦且昂贵的脱节,减缓了从研究到部署的进程。
编程复杂性:CUDA功能强大,但异常复杂和冗繁。开发者被迫手动管理内存,在CPU(主机)和GPU(设备)之间传输数据。开发者还必须成为硬件调度员,管理线程块、网格和同步。这种复杂性导致学习曲线陡峭,常常导致难以察觉的bug。
LLVM项目是一系列模块化且可重用的编译器技术。其核心是LLVM中间表示(IR),这是一种类似汇编的低级语言。LLVM已成为现代编译器后端的标准,尤其适用于CPU。编译器前端(比如面向C++的Clang)将源代码转换成LLVM IR。然后,LLVM后端优化该IR,将其转换成特定CPU的机器码。这种模块化在当时是革命性的。
然而,LLVM是为以CPU为中心的时代设计的。对于异构硬件盛行的新时代来说,其IR过于低级。
它会丢失源代码中重要的高级信息,这个问题名为“语义鸿沟”(semantic gap)。比如说,在编译TensorFlow模型时,某个运算是卷积运算的知识或信息会丢失。
LLVM IR只能识别一组宽泛的循环和算术指令。这使得编译器无法执行强大的、针对特定领域的优化。它不再理解程序员的高级意图。这就是“语义鸿沟问题”的本质,而MLIR解决了这个问题。
CUDA 的编译流程部分借助了 LLVM IR(NVVM),但整体还是闭源且偏向传统的硬编码式工具链;而 Mojo 则选择原生拥抱 MLIR(一个更现代、更模块化的 LLVM 子项目),在可扩展性与多架构适配性上更进一步。
他们很快发现:LLVM 传统的单一、底层中间表示(IR)已经无法胜任现代异构硬件的复杂需求。
MLIR 的突破点在于,它提供了一个统一的基础架构,可以定义、组合多个不同层次的 IR。
你可以把 MLIR 理解为一个“硬件通用翻译器”,它能同时理解从高级语言语义到底层硬件细节的所有层级。每种方言都代表了一个特定领域或抽象层级:
这样做的最大好处,就是能启用一种更强大的编译策略:逐步降阶(progressive lowering)。
编译器不再一口气把高级代码压成底层汇编,而是像“剥洋葱”一样,一层层转化:
这种方式能尽可能长时间地保留高阶语义上下文,从而带来更精准、更有针对性的编译优化。
它不仅解决了 “一语言绑一硬件” 的问题,还让开发者和编译器都可以更自由地定义优化路径。
无论你是写 AI 框架、区块链虚拟机,还是芯片设计工具,MLIR 都是值得关注的底层基石。
2023 年 5 月,Mojo由LLVM和Swift语言的原始架构师Chris Lattner创建。其设计理念遵循第一原则,旨在成为MLIR时代的完美语言,是一种可在多个平台上实现快速且可移植的 CPU+GPU 代码的编程语言。
因为,即便是近几年大热的Rust,也都是基于LLVM 的,所以具有LLVM的所有缺点。而Mojo 则是当今唯一基于MLIR的主流编程语言。
•Mojo旨在与现有的Python生态系统完全兼容,这是一项杀手级功能!
•它通过利用Python庞大的生态系统,完全规避了新语言面临的“冷启动”问题。
•它引入了现代内存管理概念以确保内存安全,比如所有权和借用(源自Rust),没有垃圾收集器的开销。
理论是一回事,实践是另一回事。以下完整且实用的代码示例,将展示两种范式之间的重大差异。
代码主要由样板代码和低级管理组成。步骤1、2、3、6和7纯粹用于跨CPU/GPU边界管理内存。这很繁琐,容易出错,并掩盖核心算法。全局关键字、blockIdx、threadIdx和...语法是CUDA特有的硬件抽象。
该代码根本上永久地与英伟达的硬件架构紧密相关。实际算法:三个嵌套循环只占总代码的一小部分。程序员的精力耗费在了硬件管理上,而不是问题本身上。
•程序员可以添加提示(比如@vectorize或@parallelize)以指导编译器,实现控制,而无需增加复杂性。
所以长期看,基于MLIR的Mojo无疑将取代基于LLVM的CUDA(部分基于),开发者将享受这一变化!
Mojo 与 CUDA 的最大区别,在于它们对“程序员该关心什么”的定义截然不同:
这种区别不是小修小补,而是编程范式的根本转变。在 Mojo 中,开发者可以把精力放在如何改进算法上;而具体“怎么映射到芯片上”,交给 MLIR 编译器自动完成。
这意味着:Mojo 能大幅加速 AI 的研发周期,真正做到“想法立刻变成实验”。
Mojo 写出来的代码不是专属于 NVIDIA 的!通过 MLIR 的多级中间表示,Mojo 代码可以编译运行在多种硬件上:
当我们将目光从当下主流的密集矩阵运算,转向未来更广阔的计算领域时,CUDA 的局限就开始暴露。而 MLIR + Mojo 的组合,正是为这种异构、多样、并发、稀疏甚至非传统的计算范式而生。
目标是找到一个“nonce”(随机数),使其与区块数据一起哈希后的结果小于目标值——这完全是暴力穷举搜索,最适合并行加速硬件。
比如:SHA-256 的 ASIC,把哈希算法直接写入了硅片,能效比 GPU 高出几个数量级。
芯片设计领域有个术语叫HLS(高阶综合):把高级算法描述转成硬件电路语言(如 Verilog 或 VHDL)并烧录进芯片。
MLIR,借助项目如 CIRCT(专为硬件设计的 MLIR 子项目),正是下一代 HLS 的核心支撑。
这就是 MLIR 带来的“从软件到硅”的编译能力 —— CUDA 无法涉足的疆域。
一方面,未来是异构芯片的天下,这并非猜测,而是事实。厂商锁定所带来的商业和技术风险不可接受。
另一方面,随着时间演进,如今 GPU僵硬的SIMT模式不再适应稀疏数据、神经形态AI、区块链和量子计算的发展趋势。
同时,谷歌、苹果、英特尔、AMD和ARM纷纷采用,清晰地表明了其在未来编译器领域的核心地位。
Mojo解决了双语言问题,兼具易用性和性能,并提供了通往整个MLIR生态系统的门户。
因此,从CUDA到基于MLIR的世界的过渡将是渐进的过程,却又是不可避免的。这是从以硬件为中心的封闭模式向软件定义的开放未来的根本性转变。
Ilya认错,Scaling Law崩了?自曝SSI秘密技术路线取代OpenAI
Ilya终于承认,自己关于Scaling的说法错了!现在训练模型已经不是「越大越好」,而是找出Scaling的对象究竟应该是什么。他自曝,SSI在用全新方法扩展预训练。而各方巨头改变训练范式后,英伟达GPU的垄断地位或许也要打破了。