DeepSeek 的含金量还在上升

ops/2025/2/5 22:43:05/

大家好啊,我是董董灿。

最近 DeepSeek 越来越火了。

网上有很多针对 DeepSeek 的推理测评,除此之外,也有很多人从技术的角度来探讨 DeepSeek 带给行业的影响。

比如今天就看到了一篇文章,探讨 DeepSeek 在使用 GPU 进行模型训练和推理时,绕过了 CUDA 编程。

难道 CUDA 的护城河不在了?

在这里插入图片描述

针对这个问题我想聊一聊,因为 AI 编译器也正好是我的专业。

CUDA 编程之所以说是英伟达软件生态的护城河,原因是英伟达的编译器对 CUDA 语言做了很多优化和适配,使 CUDA 编写的程序可以非常容易且高效的运行在 GPU 芯片上。

这其中,CUDA 语法并不是核心,编译 CUDA 语言的编译器才是。

就像是 Gcc/Clang 等编译器一样。

你可以很容易的用 C 语言写出一段逻辑,然后在很多后端硬件(比如 x86 架构,ARM 架构等等)上运行,并且性能还不错。

CUDA 也是一样的,它本身也是一种类 C 语言的“高级语言”,说它高级是相对于底层汇编而言的,而非真正的高级语言。

利用 CUDA 写好的程序经过英伟达的编译器编译完成后,可以得到汇编语言,进而转换为机器码在英伟达的 GPU 上运行。

这些机器码程序可以有非常不错的性能,而且有很强的移植性。

这一切都是英伟达的编译器自动优化的结果。

而 DeepSeek 绕过了 CUDA 编程,直接手写了汇编代码,这确实需要非常强的技术功底才能实现。

相当于手写汇编代替了编译器的工作。

这样做的好处就是可以自己控制 GPU 的各种资源,比如寄存器和内存,而坏处就是难度高,代码可维护性差,并且不易移植。

不易移植也就是说,在 H100 上编写的汇编代码,在 A100 上可能性能非常差甚至跑不起来。

很多公司在追求性能的时候都会手写汇编。

之前就有过某厂家为了将自己的产品打响,用汇编手写了一整个 AI 模型,效果也是非常好,但就是刚才说的那个问题,难以移植。

会这么做的公司,一方面要有技术积累,另一方面都在追求极致的性能。

DeepSeek 也不例外,但很显然 DeepSeek 有类似的技术积累。

幻方量化交易的高性能计算或许为此提供了很多技术支持。

也难怪 DeepSeek 都快火出圈了。

但虽然如此, CUDA 的护城河仍然存在,因为并不是所有的公司都能做到手写汇编,这里的技术壁垒还是挺高的。

要想真正打破 CUDA 护城河,需要重新定义和建立新的芯片架构和编程范式,这一点在目前的情况下还是挺难的。

即使手写的汇编,也依然在 GPU 的定义框架内运行,依然没有跳开英伟达。


http://www.ppmy.cn/ops/155990.html

相关文章

CNN的各种知识点(四): 非极大值抑制(Non-Maximum Suppression, NMS)

非极大值抑制(Non-Maximum Suppression, NMS) 1. 非极大值抑制(Non-Maximum Suppression, NMS)概念:算法步骤:具体例子:PyTorch实现: 总结: 1. 非极大值抑制(…

Linux环境下的Java项目部署技巧:Nginx 详解

Nginx 的启动 Nginx 启动会生成 2 个进程:主进程与守护进程 主进程:常用于提供反向代理服务。特点:占内存大守护进程:防止主进程以外关闭。特点:占内存小 Nginx 启动需要占用 80 端口: 当 Ngnix 启动失败时&#xff0…

联想拯救者R720笔记本外接显示屏方法,显示屏是2K屏27英寸

现在某品牌的13/14代(CPU是13或14开头)CPU缩肛有设计质量问题、CPU容易氧化易损坏易蓝屏等问题,现在大家买笔记本或台式电脑请不要考虑这两代CPU,或考虑AMD的CPU。 晚上23点10分前下单,第二天上午显示屏送到&#xff…

Dest1ny攻防实战:SpringBoot 脱敏属性***明文获取

今天是dest1ny攻防实战! 脱敏springboot敏感数据!! 大家多多支持,多多点赞,多多关注!! 谢谢大家,下面我们来看今天的内容! 1.前言 SpringBoot敏感信息泄露&#xff0…

【棋弈云端】网页五子棋项目测试报告

目录 一、项目背景1.1 项目简介1.2 应用技术 二、项目功能2.1 用户管理功能2.2 游戏对战功能 三、测试报告3.1 功能测试3.1.1注册功能测试3.1.2 登录功能测试3.1.3 匹配和落子测试 3.2 界面测试3.3 性能测试3.4 自动化测试3.4.1 创建驱动对象3.4.2 自动化检测注册功能3.4.3 自动…

如何构建ObjC语言编译环境?构建无比简洁的clang编译ObjC环境?Windows搭建Swift语言编译环境?

如何构建ObjC语言编译环境? 除了在线ObjC编译器,本地环境Windows/Mac/Linux均可以搭建ObjC编译环境。 Mac自然不用多说,ObjC是亲儿子。(WSL Ubuntu 22.04) Ubuntu可以安装gobjc/gnustep和gnustep-devel构建编译环境。 sudo apt-get install gobjc gnus…

PostCss

什么是 PostCss 如果把 CSS 单独拎出来看,光是样式本身,就有很多事情要处理。 既然有这么多事情要处理,何不把这些事情集中到一起统一处理呢? PostCss 就是基于这样的理念出现的。 PostCss 类似于一个编译器,可以将…

[C语言日寄] 源码、补码、反码介绍

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…