Ubuntu20.04下Docker方案实现多平台SDK编译

0 前言

熟悉嵌入式平台Linux SDK编译流程的小伙伴都知道,假如平台a要求必须在Ubuntu18.04下编译,平台b要求要Ubuntu22.04的环境,那我只有Ubuntu20.04,或者说我的电脑硬件配置最高只能支持Ubuntu20.04怎么办?强行在Ubuntu20.04下编译,编又编不过,换到旧版本我又不愿意,更何况旧版本也不能编新SDK,总不能安装多个虚拟机吧,太重了又很吃性能。于是,Docker方案应运而生:将不同的编译环境及依赖部署到独立的Docker容器,SDK源码路径映射到Docker里面去编译,轻松解决。

1 安装Docker

1.1 设置Docker的apt存储库

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

1.2 安装最新版本Docker包

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

因为网络原因,可能需要多试几次,直到安装完成。

安装完成后,检验Docker是否安装成功。

sudo docker version

2 基于Ubuntu18.04 Docker部署AIO-1126-JD4 SDK编译环境

2.1 拉取Ubuntu18.04镜像

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:18.04
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:18.04  docker.io/ubuntu:18.04

查看镜像是否拉取成功

sudo docker images

2.2 首次启动镜像

启动一个交互式的容器,使用名为 "firefly",并将本地主机上AIO-1126-JD4的SDK目录映射到容器内的/home目录,最后以Bash shell运行。


                
### 安装 Caffe-GPU 的准备工作 为了在 Ubuntu 20.04 上顺利安装 Caffe-GPU 版本,建议先确保系统的软件包是最新的。这可以通过运行以下命令来实现: ```bash sudo apt-get update && sudo apt-get upgrade -y ``` 此操作可以保证后续依赖项不会因为版本冲突而出现问题[^2]。 ### 安装必要的依赖库 接着需要安装一系列编译工具以及依赖库,这些对于构建和优化 Caffe 是必需的。具体来说,应该执行如下指令: ```bash sudo apt-get install build-essential cmake git pkg-config libatlas-base-dev \ libboost-all-dev libgflags-dev libgoogle-glog-dev libhdf5-serial-dev libleveldb-dev \ liblmdb-dev libopencv-dev libprotobuf-dev protobuf-compiler python3-pip python3-dev \ python3-numpy python3-scipy python3-matplotlib ipython3 htop vim curl wget unzip ``` 上述命令会安装大部分所需的开发工具与库文件,为之后的成功编译打下基础。 ### 配置 NVIDIA CUDA 和 cuDNN 由于选择了 GPU 加速的支持,因此还需要配置好 NVIDIA 提供的相关驱动程序及其配套组件 CUDA Toolkit 及 cuDNN SDK。一种简便的方法是利用 Docker 来获取预配置好的环境;另一种则是手动下载并按照官方文档指示完成设置。如果选择后者,则可以从[NVIDIA官方网站](https://developer.nvidia.com/)找到对应版本的CUDA和cuDNN进行本地化部署[^3]。 ### 获取源码并编译 当所有前置条件都已满足后,就可以从 GitHub 克隆最新的 Caffe 源代码仓库,并切换到适合自己的分支(如 `ssd`),再进入该目录准备下一步的操作: ```bash git clone https://github.com/weiliu89/caffe.git -b ssd && cd caffe ``` 随后根据个人需求调整 Makefile.config 文件中的选项,特别是关于是否开启 CPU_ONLY 支持的部分应设为 false 并确认其他参数无误后再继续。最后启动实际的编译过程: ```bash cp Makefile.config.example Makefile.config # 编辑Makefile.config... make all -j$(nproc) make test -j$(nproc) make runtest -j$(nproc) ``` 以上步骤完成后即代表已经成功完成了 Caffe-GPU 在 Ubuntu 20.04 中的手动安装流程[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值