本文主要是介绍三、NVIDIA Jetson Orin开发板-GPU加速,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、NVIDIA Jetson Orin开发板的硬件情况
df -h#查看操作系统情况
Filesystem Size Used Avail Use% Mounted on
**/dev/nvme0n1p1** 234G 17G 208G 8% /
none 7.4G 0 7.4G 0% /dev
tmpfs 7.6G 0 7.6G 0% /dev/shm
tmpfs 1.6G 19M 1.5G 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup
tmpfs 1.6G 28K 1.6G 1% /run/user/1000
Ubuntu操作系统安装在一个NVMe固态硬盘(/dev/nvme0n1p1)上
free -h#查看CPU内存情况
total used free shared buff/cache available
Mem: 15G 2G 11G 1.5G 2G 11G
Swap: 2G 0M 2G
CPU的内存情况
sudo pip3 install -U jetson-stats#安装
sudo systemctl restart jtop.service#启动
sudo jtop#q退出
显示GPU运行情况。
二、在NVIDIA Jetson Orin开发板上的PyCharm中运行代码并利用GPU进行加速
- cuda库和驱动程序 :
jetpack(NVIDIA JetPack 是专为 NVIDIA Jetson 系列开发板(如 Jetson Nano、Jetson TX2、Jetson Xavier NX 和 Jetson AGX Orin 等)设计的综合性软件开发包。JetPack 提供了一整套工具和库,用于加速 AI 和边缘计算应用的开发。) - 支持GPU加速的库:pytorch
1.1 安装命令
sudo apt update
sudo apt install nvidia-jetpack
1.2 查看cuda是否安装成功
ls /usr/local/cuda#显示cuda目录
1.3 配置环境变量
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
1.4 检验cuda版本,显示版本信息即安装成功
nvcc --version
2、pytorch安装
2.1、下载预编译轮子文件
https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
确认适合Python3.8和cuda11.4的文件
wget https://developer.download.nvidia.cn/compute/redist/jp/v44/pytorch/torch-1.10.0-cp38-cp38-linux_aarch64.whl
wget https://developer.download.nvidia.cn/compute/redist/jp/v44/pytorch/torchvision-0.11.1-cp38-cp38-linux_aarch64.whl
2.2、安装轮子文件
pip install numpy # 安装 numpy
pip install torch-1.10.0-cp38-cp38-linux_aarch64.whl
#pip install torchvision-0.11.1-cp38-cp38-linux_aarch64.whl
2.3、安装依赖库OpenBLAS(它是一个高性能的线性代数库,pytorch依赖他进行数值计算)
sudo apt-get install libopenblas-dev
2.4、测试安装情况
import torch
print("CUDA available:", torch.cuda.is_available())
if torch.cuda.is_available():print("CUDA device name:", torch.cuda.get_device_name(0))
三、设置pycharm项目界面开机自启动
1、确定项目结构和入口脚本
/home/makerobo/PycharmProjects/SVDD-Python-master/
├── pyqt_test/
│ ├── boundary.png
│ ├── distance.png
│ └── main.py
├── SECURITY.md
├── src/
│ ├── BaseSVDD.py
│ └── __pycache__/
2、创建启动脚本‘run.sh’
在项目目录 /home/makerobo/PycharmProjects/SVDD-Python-master/ 中创建一个名为 run.sh 的启动脚本:
#!/bin/bash
export DISPLAY=:0 # 确保图形界面可用
cd /home/makerobo/PycharmProjects/SVDD-Python-master/ # 进入项目目录# 激活虚拟环境,我的虚拟环境为pytorch_svdd
source /home/makerobo/anaconda3/bin/activate pytorch_svdd# 运行Python脚本
python pyqt_test/main.py
确保‘run.sh’脚本有可执行权限:
chmod +x /home/makerobo/PycharmProjects/SVDD-Python-master/run.sh
3、创建‘systemd’服务单元文件
在‘/etc/systemd/system/’下创建‘SVDD-Python-master.service’服务文件
sudo vi /etc/systemd/system/SVDD-Python-master.service
[Unit]
Description=My PyCharm Python Project
After=network.target[Service]
ExecStart=/home/makerobo/PycharmProjects/SVDD-Python-master/run.sh
WorkingDirectory=/home/makerobo/PycharmProjects/SVDD-Python-master
Environment="DISPLAY=:0"#指定显示环境变量,用于 GUI 应用程序,确保它们知道在哪里绘制窗口
Environment="XAUTHORITY=/home/makerobo/.Xauthority"#用于身份验证,允许程序在显示器上绘制窗口
Environment="CONDA_EXE=/home/makerobo/anaconda3/bin/conda"#指定 conda 可执行文件的位置
Environment="CONDA_PREFIX=/home/makerobo/anaconda3/envs/pytorch_svdd"#指定激活的 conda 环境路径
Environment="CONDA_PYTHON_EXE=/home/makerobo/anaconda3/bin/python"#指定 Python 可执行文件的位置
Environment="CONDA_DEFAULT_ENV=pytorch_svdd"#指定默认的 conda 环境
Environment="PATH=/home/makerobo/anaconda3/envs/pytorch_svdd/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"#更新 PATH 变量,使其包含 conda 环境中的可执行文件路径
StandardOutput=inherit
StandardError=inherit
Restart=always
User=makerobo[Install]
WantedBy=multi-user.target
4、设置文件权限和所有权
确保项目目录及其文件的所有权和权限正确
sudo chown -R makerobo:makerobo /home/makerobo/PycharmProjects/SVDD-Python-master/
sudo chmod -R +x /home/makerobo/PycharmProjects/SVDD-Python-master/
5、启用和启动服务
重新加载‘system’配置:
sudo systemctl daemon-reload
启用服务,使其在开机时自动运行
sudo systemctl enable SVDD-Python-master.service
启动服务
sudo systemctl start SVDD-Python-master.service
6、验证服务是否正常运行
sudo systemctl status SVDD-Python-master.service
这篇关于三、NVIDIA Jetson Orin开发板-GPU加速的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!