• 正文
  • 相关推荐
申请入驻 产业图谱

树莓派的图形处理器性能,能媲美一台现代台式电脑?

12/27 08:55
376
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

自从我成功在树莓派上运行了AMD英特尔英伟达的显卡后,一个挥之不去的问题便萦绕在我心头:

这样做有何意义?

树莓派仅有一条PCIe Gen 3带宽通道可供连接外接显卡(eGPU)。这一带宽实在有限。特别是考虑到现代台式机至少有一个插槽具备16条PCIe Gen 5带宽通道。两者带宽分别为8 GT/s和512 GT/s,差距悬殊,根本不在一个量级。

但我一直想带宽是否所有时候都决定一切。

为了弄清楚树莓派的实际效用,我在多种显卡上测试了四个方面,对比了树莓派5与现代台式电脑的性能表现:

Jellyfin与媒体转码

纯GPU渲染的图形性能(通过GravityMark测试)

大语言模型/人工智能性能(包括预填充和推理)

多显卡应用(具体指大语言模型,因为它们最容易运行)

没错,今天我们不止测试一块显卡。感谢我在超级计算大会25上结识的Dolphin ICS公司,我获得了一个PCIe Gen 4外部交换机和3槽背板,因此可以轻松同时运行两块显卡:

简而言之:在许多情况下,树莓派都能独当一面——如果你愿意牺牲2%-5%的峰值性能,它在效率上甚至常常能大幅领先!

四块显卡,一块树莓派

最疯狂的是,在我完成这些测试时,GitHub用户mpsparrow将四块英伟达RTX A5000显卡插到了一块树莓派上。

https://github.com/geerlingguy/raspberry-pi-pcie-devices/issues/791

运行Llama 3 70b模型时,这一配置的性能与他参考的英特尔服务器的性能相差不到2%:

在树莓派上,该配置每秒生成11.83个文本标记。而在使用完全相同显卡配置的现代服务器上,他得到了每秒12个的结果。差距不到2%。

这怎么可能?因为——至少在使用多块能够通过PCIe总线共享内存访问的英伟达显卡时——树莓派不会成为瓶颈。外部PCIe交换机可能允许显卡以Gen 4或Gen 5的速度通过总线共享内存,而无需通过树莓派的PCIe Gen 3通道进行“南北向”数据传输

但即使不使用多块显卡和PCIe技巧,树莓派仍能在某些情况下与现代个人电脑的性能相媲美——甚至在少数情况下超越它。

成本与效率

除了效率,成本也是一个考虑因素(两种配置均不包含显卡价格):

树莓派外接显卡配置 英特尔个人电脑
总价:350-400美元 总价:1500-2000美元
16GB树莓派CM5 + IO板

Minisforum外接显卡扩展坞

M.2转Oculink适配器

USB固态硬盘

850W电源

英特尔酷睿Ultra 265K

华硕ProArt主板

Noctua Redux散热器

850W电源

测试平台/机箱

M.2 NVMe固态硬盘

64GB DDR5内存

如果峰值效率和性能不是你所追求的,那么考虑一下,树莓派在空闲时的功耗仅为4-5瓦。而个人电脑呢?30瓦。这还是在未运行显卡的情况下,并且在我的测量过程中,两种配置中唯一插上的设备都是一个廉价的树莓派USB键盘和鼠标。

那么,让我们来看看硬件吧。

视频

如需更多背景信息,以及了解实际硬件配置的更多细节,请观看随本博客文章一同发布的视频(否则,请继续阅读!):

单显卡对比,树莓派与英特尔酷睿Ultra

在我进行实际基准测试之前,我先提一下我没有进行的测试,即游戏测试。在我之前的树莓派+显卡配置中,我能够通过box64在Arm架构上运行Steam和Proton来玩Windows游戏。

https://www.jeffgeerling.com/blog/2024/amd-radeon-pro-w7700-running-on-raspberry-pi

但这一次,使用树莓派操作系统13(Debian Trixie)时,我在安装Steam时遇到了FEX和box64的问题,因此暂时搁置了这一测试。我将在明年围绕Valve开发Steam Frame的视频中测试更多Arm架构上的游戏。

今天的重点是原始GPU性能。

我有三项测试来考验每个系统:Jellyfin、GravityMark和大语言模型。

基准测试结果—Jellyfin

让我们从最实际的应用开始:将树莓派用作媒体转码服务器。

因为英伟达的编码器更加成熟,我首先测试了它。即使是一块较旧的预算显卡也应该足以应对一两个流媒体,但我手头有一块4070 Ti显卡,所以我用它进行了测试。

使用编码器基准测试工具时,个人电脑的表现远超树莓派:

https://github.com/Proryanator/encoder-benchmark

https://github.com/geerlingguy/raspberry-pi-pcie-devices/issues/792#issuecomment-3643156658

通过观察nvtop,我找到了原因:树莓派的输入输出性能较弱。

编码器基准测试使用的是原始视频流,这些视频流相当大(例如,一个4K文件可能超过10GB)。这意味着你需要从磁盘加载所有这些数据,然后通过PCIe总线将其复制到GPU,接着GPU会吐出一个压缩后的视频流,再将其写回磁盘。

在树莓派上,PCIe总线的最高速度约为850 MB/秒,而且由于只有一条通道,且我使用的是USB 3.0固态硬盘作为启动盘,其实际持续速度只能达到约300 MB/秒。

而个人电脑则能通过我安装的PCIe Gen 4 x4固态硬盘以2 GB/秒的速度传输数据。

在原始吞吐量方面,个人电脑无疑胜出。

但就Jellyfin的工作方式而言,至少对于我自己的媒体库(我存储的是轻度压缩的H.264和H.265文件),转码并不需要那么大的带宽。

我安装了Jellyfin并设置它使用NVENC硬件编码。这一设置开箱即用。

https://jellyfin.org/docs/general/post-install/transcoding/hardware-acceleration/nvidia/

在我对Sneakers的1080p编码版本进行转码时,我可以毫无延迟地跳转。我可以切换比特率来模拟通过家庭VPN播放Galaxy Quest的情景,而Jellyfin也能流畅应对。在这一配置下,阿波罗11号的4K H.265文件在所有比特率下都播放得非常流畅。

即使同时进行两个转码任务,比如这里的4K版Dune和1080p版Sneakers,运行也同样流畅。虽然解码引擎似乎达到了极限,但并未造成任何卡顿。

英特尔个人电脑在原始吞吐量方面胜出,这对于构建全功能的视频转码服务器来说非常棒,但对于大多数其他转码应用场景(如OBS、Plex或Jellyfin)来说,树莓派已经足够好。

从历史上看,AMD在转码方面的表现并不如英伟达,但其显卡也足够使用。我在测试的AI Pro显卡上成功进行了转码,但遇到了一些稳定性问题。

https://github.com/geerlingguy/raspberry-pi-pcie-devices/issues/785#issuecomment-3643862116

基准测试结果——GravityMark

我想看看原始3D渲染的性能如何,因此我运行了GravityMark基准测试——目前仅在AMD显卡上进行,因为我还未能在树莓派上的英伟达驱动上运行显示器

不出所料,英特尔个人电脑的速度更快……但只是快了一点点。

渲染工作全部在GPU端完成,并不真正依赖树莓派的CPU或PCIe通道,因此它可以运行得相当快。

真正让我惊讶的是,当我在一块较旧的AMD显卡——我的RX 460上再次运行测试时发生的情况。

这款显卡在计算机领域已经算是老古董了,但我认为这反而让树莓派占了优势。RX 460运行在PCIe Gen 3上,这与树莓派的速度完全相同——而树莓派实际上在性能上略微超越了个人电脑。但更让我震惊的是每瓦性能得分。

这一得分衡量的是系统的整体效率,虽然英特尔目前在效率方面并不出色,但树莓派也并非Arm架构中的最佳代表。

我获得了英伟达3060、3080 Ti和A4000显卡在个人电脑端的基准测试结果,但树莓派端我没有桌面环境或显示输出正常工作。

基准测试结果——人工智能

AMD Radeon AI Pro R9700显卡拥有32GB显存,应该非常适合运行大量大语言模型,包括占用20GB显存的Qwen3 300亿参数模型。

以下是树莓派与个人电脑的性能对比结果:

这可不是我所期望看到的结果。

我有点气馁,于是回到了我信赖的RX 460显卡:

这才更符合我的预期。也许R9700显卡表现不佳是由于驱动问题或缺乏大内存支持?

我不能责怪AMD的工程师没有在树莓派上测试他们的AI显卡。

这让我好奇英伟达的表现是否会更好,因为他们多年来一直在优化他们的Arm驱动。

以下是RTX 3060 12GB显卡的表现,这是一款因显存足够大而在家中进行低成本推理而广受欢迎的显卡:

树莓派的表现相当不错。有些模型在个人电脑上的表现似乎略好一些,如tinyllama和llama 3.2 3B,但对于中等规模的模型,树莓派的表现与之相差无几。树莓派甚至在Llama 2 13B模型上超越了个人电脑。

真正让我惊讶的是下一张图表:

这一图表衡量的是每个系统的效率。考虑到电源、CPU、内存、GPU等所有因素,树莓派在几乎达到个人电脑性能的同时,实际上在生成文本标记方面的效率更高。

好吧……那只是3060显卡。那块显卡也已经五年了。也许更大、更新的显卡表现不会这么好?

我对所有能拿到的英伟达显卡进行了AI测试,包括RTX 3080 Ti、RTX 4070 Ti、RTX A4000和RTX 4090。我会让你观看视频以查看所有结果,但在这里我将直接跳到结尾,展示RTX 4090显卡在树莓派上的表现(这是我目前拥有的最快的显卡):

与树莓派相比,这块显卡的体积要大得多——它甚至让许多可能安装它的个人电脑主机都相形见绌!

看起来tinyllama模型几乎完全让树莓派望尘莫及。但令人惊讶的是,对于大多数模型,树莓派仍然能够独当一面——Qwen3 30B模型在树莓派上的速度慢不到5%。

对于一块本身就能消耗数百瓦功率的显卡来说,效率如何呢?

我原以为由于系统其他部分的功耗占比会较小,个人电脑的表现会更好——实际上,对于少数几个模型来说确实如此。但在大多数测试中(对于较大的模型),树莓派仍然略微超越了更大的个人电脑。

这……很奇怪。

我真心没有预料到这样的结果。我原本以为树莓派会被完全击败,也许能偶尔创造一两个奇迹般的胜利。

有一点需要注意:我为了保持跨厂商的一致性使用的是llama.cpp的Vulkan后端。根据使用RTX 2080 Ti进行的一些CUDA测试,CUDA可能会稍微改变绝对数值,但实际上变化不大——而且令人惊讶的是,CUDA在树莓派上也能正常工作。

https://github.com/geerlingguy/ai-benchmarks/issues/46#issuecomment-3672239842

对于已经阅读本帖并在评论中提及提示处理速度和上下文的r/LocalLLaMA社区的朋友们,我在上面每个结果中都链接到了一个包含所有测试数据的GitHub问题页面,所以在发表评论前,请先查看这些问题页面。

双显卡

到目前为止,我们只测试了一块显卡。如果我们尝试两块呢?

我使用了一块Dolphin PCIe互连板,配有Dolphin的MXH932 PCIe主机总线适配器,并通过M.2转SFF-8643适配器和SFF-8643转SFF-8644电缆将其连接到我的树莓派CM5上,电缆从树莓派连接到Dolphin的显卡。

在运行任何大语言模型之前,我想看看我是否能在两块显卡之间共享内存。PCI Express具有一项功能,允许设备直接相互通信,而无需通过CPU进行“南北向”数据传输。这将消除树莓派的Gen 3 x1瓶颈,并为显卡提供完整的Gen 4 x16链接,从而获得更大的带宽。

要实现这一功能,你必须禁用ACS,即访问控制服务。而且Dolphin显然已经在他们的交换机卡上为我设置好了这一切。

mpsparrow使用的是四块相同的英伟达RTX A5000显卡。但我只有不同型号的显卡。看起来如果你有不同的显卡,如我的4070和A4000,或我的A4000和A400,英伟达驱动并不支持以相同的方式进行显存池化。

但没关系,我仍然可以使用llama.cpp和多块显卡通过CPU进行“南北向”数据传输来做一些事情。

这是4070和A4000显卡的性能表现,与直接在A4000显卡上运行相同模型相比。

我猜想由于树莓派和显卡之间的额外数据传输,当llama.cpp在两块显卡之间推送数据时,会产生大量微小延迟。这并没有提高性能,但这一设置确实允许你扩展到更大规模的模型,这些模型无法在一块显卡上运行。

比如Qwen 3 30B模型大约有18GB,对于这两块显卡中的任何一块来说都太大了。使用一块显存足够大的显卡来容纳整个模型会更快、更高效。但如果你已经有两块显卡,并且想一起使用它们,这是可行的。

我还运行了我拥有的两块最大的AMD显卡——RX 7900 XT(20GB)和Radeon AI Pro R9700(32GB),他们有高达52GB的显存。但同样,可能由于AMD的驱动问题,我无法让一些模型完成运行——即使完成了,速度也非常慢:

为了完成我的双显卡测试,我还在英特尔个人电脑上运行了所有测试,结果并不令人意外,个人电脑的速度更快:

但至少对于Qwen3 30B模型,树莓派再次展现出了自己的实力。

结论:如果你有多块相同的显卡,甚至尝试使用其他工具如vLLM(我无法在树莓派上安装它),你可能会得到比我这里更好的结果。

但主要教训仍然适用:更多显卡可以给你带来更大容量,但它们的速度肯定不如一块更大的显卡——而且效率也更低。

结论

那么,经过所有这些测试,谁是赢家呢?

好吧,如果你关心原始性能和简易设置,那么显然是个人电脑。但对于一个非常特定的用户群体来说,树莓派更好,比如你并非总是满负荷运行,且工作负载几乎完全由GPU驱动。树莓派设置在空闲时的功耗总是比个人电脑低20-30瓦。而其他使用瑞芯微高通系统级芯片的Arm架构单板计算机甚至更高效,而且通常具有更高的输入输出带宽。

最终,我这样做并不是因为它有意义,而是因为了解树莓派的局限性、GPU计算和PCI Express很有趣。这一目标已经实现。

 

官方网站:https://edatec.cn/zh/cm0

淘宝店铺:https://edatec.taobao.com/

相关推荐