树莓派GPU使用心得

本文详细介绍了如何在树莓派3B+上配置GPU加速,通过修改GPU内存分配,解决QtCreator与树莓派GPU库文件冲突的问题,并提供了解决QWidget调用show函数段错误的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

型号:树莓派3B+
系统:2020-02-13-raspbian-buster
编译器: QTCreator
QT版本:qt5.11.3

1、首先要先修改当前GPU的容量(建议128MB)
sudo raspi-config
7 Advanced Options->A3 Memory Split
注意:这里设置的GPU容量其实是芯片上的内存总量分出来的空间,3B+的内存总量是1GB分给GPU128MB剩余的就都是内存大小了。

2、树莓派在安装完系统后在目录/opt/vc下会有一系列库文件、头文件、源码以及一些非常炫酷的例子。这里的文件在官方项目的描述是:arm端树莓派的GPU接口库文件源码(Source code for ARM side libraries for interfacing to Raspberry Pi GPU.)项目地址

具体的库文件结构如图
在这里插入图片描述

该项目中包括的库文件有EGL(Open EGL), mmal(), GLESv2(OpenGL ES 2.0), vcos(), openmaxil(OpenMAX IL), vchiq_arm(), bcm_host(), WFC(), OpenVG(hardware-accelerated OpenVG 1.1).

3、其中EGL和GLESv2的库文件会和命令安装的qt中依赖的GLESv2库文件冲突,经过试验可以将/opt/vc/lib下的libbrcmEGL.so和libbrcmGLESv2.so文件备份删除。然后软连接成/usr/lib/arm-linux-gnueabihf文件夹下的libEGL.so.1.1.0和libGLESv2.so.2.1.0
sudo ln -sf libGLESv2.so.2.1.0 libbrcmGLESv2.so
sudo ln -sf libEGL.so.1.1.0 libbrcmEGL.so
这样就能解决qt在使用GPU库文件的时候QWidget调用show函数段错误的情况。

在使用GPU的任意库进行开发时都要先执行函数bcm_host_init();

更新

经过踩坑发现/usr/lib/arm-linux-gnueabihf下的libGLESv2.so和libEGL.so库文件是使用软件方法实现的Opengl ES渲染库文件,不会使用GPU进行硬件加速,而/opt/vc/lib文件夹下的libbrcmEGL.so和libbrcmGLESv2.so是使用GPU硬件加速了的opengl es库文件,使用系统命令(sudo apt install qt5-default qtcreator -y)安装的qt库文件使用的渲染库是软件实现的opengl es库文件,所以如果需要同时使用命令安装的qt库文件和树莓派GPU除opengles外其他相关lib库文件,则需要进行上面3中更改依赖(不建议)。
(强烈建议)最好自己编译qt库文件,相关编译可以参考文章

树莓派是一款基于ARM架构的小型计算机,而PyTorch官方并不支持直接在树莓派上运行GPU版本(因为树莓派本身并没有CUDA兼容的显卡)。不过,你可以通过一些间接的方式让树莓派利用其内置的硬件加速功能来提升深度学习模型推理性能。 以下是详细步骤: --- ### 步骤 1: 安装必要的依赖项 首先,在树莓派上安装基础工具和库: ```bash sudo apt update && sudo apt upgrade -y sudo apt install python3-pip libjpeg-dev zlib1g-dev libopenblas-base cmake git -y ``` 然后创建一个新的虚拟环境并激活它: ```bash python3 -m venv torch-env source torch-env/bin/activate ``` --- ### 步骤 2: 安装 PyTorch CPU 版本 由于 GPU 加速需要 CUDA 支持,而树莓派无法使用 NVIDIA 的 CUDA 技术,因此我们需要先从 PyTorch 官方源下载适合 ARM 架构的预编译包。例如: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu ``` 这将为你提供适用于 Raspberry Pi 的纯 CPU 版 PyTorch 框架。 --- ### 步骤 3: 使用 OpenCV 或其他优化框架辅助加速计算 虽然我们无法直接启用“GPU”模式,但是可以借助 OpenCV、TensorRT 等工具进一步提高效率。比如加载 ONNX 文件并通过 Tensorflow Lite Interpreter 实现高效推断处理流程等方法都可以考虑进去。 另外还可以尝试下面这个项目链接里提到的内容——针对 Jetson Nano/TX 设备定制化的解决方案也可能适应于RPi平台之上: [https://github.com/pytorch/examples/tree/master/distributed](https://github.com/pytorch/examples) --- ### 注意事项 尽管如此,请注意以下限制条件: - **性能瓶颈**:即使启用了所有可用选项,与桌面级硬件相比仍然存在较大差距; - **内存占用高**:训练大型神经网络可能会导致系统资源耗尽甚至崩溃现象发生; 如果确实需要更强大的算力,则建议升级到专用 AI 边缘设备如 Google Coral Dev Board 或者 Nvidia Jetson NX。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值