英伟达面临挑战?工程师突破CUDA,护城河岌岌可危!
英伟达在经历由DeepSeek-R1引发的4万亿元市值缩水之后刚刚有所恢复,现在似乎又要迎接新的挑战。 英伟达作为全球领先的半导体企业,在面对如此巨大的市场波动时,展现了其强大的韧性。然而,此次事件不仅揭示了技术行业内部的竞争激烈程度,也突显了市场对新技术和产品依赖的脆弱性。随着英伟达继续前行,如何平衡创新与风险控制将是其未来发展的关键。
硬件媒体Tom‘s Hardware带来开年最新热议:
DeepSeek甚至绕过了CUDA,使用更底层的编程语言做优化。
这一次是DeepSeek-V3论文中的更多细节,被人挖掘出来。
据MiraeAssetSecuritiesResearch(韩国未来资产证券)的分析指出,V3的硬件效率之所以能够超越Meta等公司达十倍之多,主要在于“他们彻底重新设计了所有组件”。
在使用英伟达的H800 GPU训练DeepSeek-V3时,他们根据自身的需求,将132个流式多处理器(SMs)中的20个调整为处理服务器间的通信任务,而非进行计算任务。
变相绕过了硬件对通信速度的限制。
△ DeepSeek-V3 Technical Report
这种操作是用英伟达的PTX(Parallel Thread Execution)语言实现的,而不是CUDA。
PTX在接近汇编语言的层次上执行,使得开发者能够进行细致的优化工作,例如寄存器分配以及线程或 Warp 级别的调节。
这种编程方式确实显得复杂且不易于维护,因此业界普遍采用CUDA等高级编程语言来简化开发过程和提高代码的可读性与可维护性。这不仅有助于开发者更高效地编写程序,还能有效减少错误和提高软件的整体质量。CUDA作为一种被广泛认可的技术,其强大的并行计算能力为处理大规模数据提供了有力的支持,使得开发者能够更加专注于解决实际问题,而非陷入繁琐的底层细节中。
换句话说,他们把优化做到了极致。
有网友表示,如果有一群人因为觉得CUDA不够快而转而使用PTX,那么他们可能是前量化交易员。在高频交易领域,时间就是金钱,每一微秒的延迟都可能意味着巨大的经济损失。因此,这些交易员对计算速度有着极高的要求。转向PTX这种更低级别的编程语言,无疑是一种极致优化性能的方法。不过,这种方式也意味着更高的开发难度和维护成本,对于一般的开发者来说可能并不适用。这反映了在高性能计算领域,不同背景的人可能会采取不同的策略来解决相同的问题,同时也提醒我们,在追求极致性能的同时,也需要权衡成本和复杂性。
亚马逊的一位工程师提出了一个引人深思的问题:CUDA是否仍然是其技术优势的关键?在当前的情况下,顶尖实验室似乎有能力有效利用各种GPU资源。 这一提问引发了对现代计算环境中硬件依赖性的广泛讨论。CUDA曾一度被视为高性能计算领域的标准工具,它极大地提升了英伟达GPU在深度学习和科学计算中的应用效率。然而,随着其他平台如ROCm(由AMD支持)的发展,以及跨平台编程框架的不断进步,CUDA的垄断地位正受到挑战。这意味着,虽然CUDA仍然是一种强大且有效的工具,但不再像过去那样是进入先进计算领域不可替代的“护城河”。 因此,对于亚马逊这样的科技巨头而言,保持技术上的灵活性和开放性变得尤为重要。它们需要考虑如何在不完全依赖单一技术路径的前提下,持续推动创新和发展。这也促使我们思考,未来的技术生态系统可能会变得更加多元化,企业必须具备适应变化的能力,才能在竞争激烈的市场中立于不败之地。
甚至有网友开始畅想,如果“新源神”DeepSeek发布了一个可以替代CUDA的开源方案……
那么事情是否真会如此?
DeepSeek真的绕过了CUDA?
PTX(平行线程执行)作为英伟达GPU架构的核心技术,依然是连接高级语言代码与GPU底层硬件指令的关键桥梁。在CUDA编程模型中,PTX扮演着至关重要的角色,它允许开发者编写更加灵活且高效的代码,以充分利用现代GPU的强大计算能力。 从技术发展的角度来看,PTX的存在表明了英伟达在推动GPU计算能力提升方面的持续努力。随着人工智能、机器学习等领域的飞速发展,对计算资源的需求也日益增加。在这种背景下,PTX这样的技术不仅简化了开发流程,还为实现更复杂的算法提供了可能。此外,它也为未来的技术迭代奠定了坚实的基础,使得软件开发者能够更容易地适应硬件更新,从而推动整个行业的进步。
PTX类似汇编语言,代码大概长这样:
△来自tinkerd.net
在实际的编译过程中,CUDA代码首先会被转化为PTX代码,随后PTX代码会被编译为对应GPU架构的机器码(即SASS,流式汇编器)。
CUDA提供了高级编程接口和工具链,使得开发者的工作更加简便。而PTX作为中间层,起到了连接高级语言与底层硬件的桥梁作用。
另外,这种两步编译流程也使得CUDA程序具有跨架构的兼容性和可移植性。
反过来说,像DeepSeek这样直接编写PTX代码的方法,确实显得极其繁琐,并且由于每种型号的GPU架构都有所差异,因此这种方法的可移植性极低。对于开发者而言,这样的编程方式无疑增加了工作难度,同时也限制了软件在不同硬件平台上的应用范围。 这一做法无疑为那些追求极致性能优化的人士提供了一条路径,但对于普通开发者或团队来说,却可能因为过于复杂而望而却步。此外,这也提醒我们在选择技术路径时,需要权衡性能与开发成本之间的关系,寻找更为平衡的解决方案。
有从业者指出,专为H100优化的代码在迁移到其他型号上时,可能会遇到性能下降的问题,甚至完全无法运行。这表明不同型号之间的硬件差异对软件兼容性提出了更高的要求。未来开发者在进行代码优化时,需要更加谨慎地考虑跨平台兼容性问题,以避免不必要的迁移困难。此外,这也提醒相关企业,在采购设备时需充分评估其长期使用的灵活性与适应性,确保技术投资的有效性和可持续性。
所以说,DeepSeek做了PTX级别的优化不意味着完全脱离了CUDA生态,但确实代表他们有优化其他GPU的能力。
事实上,DeekSeek已经与AMD、华为等团队紧密合作,迅速提供了对多种硬件生态系统的支持。这种快速响应不仅展示了DeekSeek的技术实力,也体现了其在推动跨平台兼容性方面的决心。通过与这些重要伙伴的合作,DeekSeek无疑在扩大其技术影响力的同时,也为用户带来了更加广泛的选择和更好的使用体验。这表明公司在面对市场和技术挑战时,能够灵活应对并积极寻求解决方案。
One More Thing
还有人提出,通过这样的方式,AI在汇编语言方面的专长可以成为其自我提升的一个重要方向。 如此一来,AI在汇编语言上的优势不仅能够促进其技术能力的进一步发展,还能为未来的编程与计算领域开辟新的可能性。随着技术的进步,AI在这一领域的深入研究有望带来更高效的代码编写工具和更为智能的系统设计方法,从而推动整个科技行业的创新与发展。
我们不知道DeepSeek内部是否使用AI辅助编写了PTX代码——
近日,我亲眼见证了DeepSeek-R1编写的代码显著提升了大模型推理框架的运行速度。这一进步不仅令人振奋,也标志着人工智能技术在优化性能方面取得了重要突破。随着技术的不断进步,我们有理由期待未来会有更多类似的创新成果,这将极大推动人工智能领域的整体发展。这种技术上的飞跃对于加速AI应用落地具有重要意义,有望为各行各业带来更高效、更智能的服务体验。
Llama.最近有一个新的PR请求在C++项目中提出,该请求通过引入SIMD指令显著提升了WebAssembly在执行某些点积运算时的速度。这一改进显示了开发者们正在积极探索利用现代处理器的多核和向量处理能力来优化代码性能。这不仅有助于提高软件的执行效率,还可能为未来的WebAssembly应用提供一种新的性能提升路径。 从当前的趋势来看,这种对底层硬件特性的深入挖掘和利用将成为软件开发领域的一个重要方向。随着技术的发展,我们可能会看到更多类似的优化方法被应用到各种不同的计算任务中,从而进一步推动整个行业的进步。这样的技术创新无疑值得我们关注和期待。
在这次提交请求(PR)中,绝大多数代码都是由DeekSeek-R1编写的。而我所贡献的部分主要集中在开发测试流程以及编写提示语句上,这过程中难免会经历多次尝试与修正。 这种分工合作的方式无疑展现了人工智能在软件开发领域的潜力。通过让机器负责大部分编码工作,人类开发者可以专注于更需要创意和判断力的任务,比如设计测试方案和优化用户体验。这样的协作模式不仅提高了开发效率,也使得项目的整体质量得到了显著提升。
是的,该PR意在展示大模型现在有能力撰写高质量的底层代码,甚至可以对自身代码进行优化。
llama.cpp项目的创始人审查了这段代码后表示“比我预想的要复杂得多”。