ThinkStation PGX Ubuntu aarch64架构上使用Docker 配置amd64架构镜像的深度学习环境并使用Vscode开发

前言

联想 ThinkStation PGX 是一款设计精巧、功能强大的桌面AI超算工作站,它完全具备训练AI模型的能力,特别是在大规模模型的微调、推理和原型开发场景中表现出色。ThinkStation PGX 和 A100/A800 是定位不同的产品。A100/A800 是数据中心级的计算加速卡,通常需要多卡并联并安装在大型服务器中,以追求极致的训练吞吐量。而 ThinkStation PGX 是一台完整的桌面AI工作站,其核心价值在于集成了最新的GB10超级芯片和完整的NVIDIA AI软件栈(预装DGX OS),开箱即用,避免了复杂的软硬件配置烦恼。以仅240瓦的功耗提供了匹敌小型服务器的AI算力,实现了能效的巨大飞跃基于NVIDIA统一软件架构,在PGX上开发的模型可以无缝部署到云端或数据中心,几乎无需修改代码。

txt 复制代码
1. ThinkStation PGX/NVIDIA Grace Blackwell/NVIDIA<br/>Grace 20核Arm @CPU
2. Blackwel1 CUDA核心,嵌入NVENC视频编码器和NVDEC视频解码器/人工智能
3. 1000 TOPS(万亿次运算/秒);1 PFLOP(FP4精度)/统一系统内存128GB
4. LPDDR5x 256位总线/硬盘容量4TB NVMe M. 2/可扩展性"两个ThinkStation PGX节点可通过集成的/NVIDIA ConnectX@-7进行连接,以处理参数高达405B的模型"
5. 搭载NVIDIA基础操作系统的操作系统Ubuntu Linux Pro/预装 NVIDIA人工智能软件栈"NVIDIA NIM<

由于Thinkstation pgx是aarch64/arm64架构的,在配置环境的过程中。好多工具包是不支持该架构的。通过Docker 配置能避免架构不同无法安装工具包的问题。

1 从云服务器上配置开发环境,然后下载docker镜像

在基于x86-64或者amd64的服务器上成功配置环境后,导出镜像。导出为为pytorch-test.tar文件

具体步骤,根据自己的需要设定

2 在Thinkstation PGX 系统上安装和使用docker

(1)使用 docker load命令从归档文件(如 .tar或 .tar.gz)中加载镜像

bash 复制代码
docker load -i pytorch-test.tar
# 列出所有容器,找到使用目标镜像的容器ID
docker ps -a
# 修改镜像名称使用方法
docker tag <原始镜像名>:<标签> <简化后的镜像名>:<标签>
# 修改名称
docker tag pytorch-test-mirror:test pytorch-test:latest
# 查看加载的镜像
docker images

(2)适配架构

如果镜像 pytorch-test:latest是为 linux/amd64(即传统的Intel/AMD CPU架构)构建的,而当前主机是 linux/arm64。这两种架构的二进制指令不兼容,需要安装并配置模拟器,最常用的是QEMU。

bash 复制代码
# 安装QEMU和相关工具
sudo apt-get update && sudo apt-get install -y qemu-user-static binfmt-support

# 注册QEMU解释器(推荐使用Docker官方工具)
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

(3)运行启动Docker

bash 复制代码
# 方法一:直接告诉Docker您要运行AMD64架构的镜像。
docker run -it --platform linux/amd64 pytorch-test:latest /bin/bash

# 方法二:指定架构+目录挂载
mkdir continual_robot
docker run -it --platform linux/amd64 -v /home/pgx/lium/continual_robot:/workspace/continual_robot pytorch-test:latest /bin/bash

3 Vscode开发

(1)开发目录挂载(

将主机上的一个目录映射到容器内的指定路径。双方对目录内容的任何修改都会实时同步

bash 复制代码
docker run -v /path/on/host:/path/in/container -it pytorch-test:latest /bin/bash
# 具体为
docker run -v /home/pgx/lium/continual_robot:/workspace/continual_robot -it pytorch-test:latest /bin/bash
  • /path/on/host:替换为你本地文件夹的绝对路径。
  • /path/in/container:替换为容器内希望挂载到的目标路径。
  • your_image_name:替换为你使用的镜像名称

docker cp命令方法适合一次性将文件或文件夹复制到一个正在运行的容器中,类似于 cp命令

bash 复制代码
docker cp /path/on/host your_container_id:/path/in/container

(2)Vscode安装Containier Tools和Dev Containers插件

用来创建docker将您的用户分组并添加:

创建docker组。

bash 复制代码
 sudo groupadd docker

将用户添加到docker组。

bash 复制代码
 sudo usermod -aG docker $USER

运行以下命令以激活对组的更改:

bash 复制代码
 newgrp docker

验证是否能够运行docker没有命令sudo。

bash 复制代码
 docker ps

最后重启系统,才能永久生效

bash 复制代码
sudo reboot

(3)vscode

vscode打开本地的项目,要让 VS Code Dev Container 能识别并启动镜像,需要在项目中创建一个 Dev Container 配置。

在项目根目录建立 .devcontainer 文件夹

bash 复制代码
mkdir -p .devcontainer

在 .devcontainer 下创建 devcontainer.json

json 复制代码
{
    "name": "PyTorch Test DevContainer",
    "image": "pytorch-test:latest",
    "runArgs": [
        "--platform=linux/amd64"
    ],
    "workspaceFolder": "/workspace",
    "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind"
}

然后重启Vscode就可以在Containier 插件中看到运行的docker镜像,右键选中 Attach shell就会打开docker下的终端,此时就是正常的开发环境,docker开发环境配置完成。

相关推荐
沪上企服通43 分钟前
数电发票全生命周期下的企业财税中台:从“开票工具“到“实时风控“的架构跃迁
架构
一技安身43 分钟前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
lytao1233 小时前
单体、微服务、Serverless:架构要匹配问题
微服务·架构·serverless·软件工程
javaDocker4 小时前
金融级 AIOps 架构跃迁(从“1-5-10“快恢目标到 AI Agent 告警收敛的完整技术实践)
人工智能·金融·架构
运维全栈笔记4 小时前
Windows 安装 WSL2 并运行 Ubuntu 24.04 指南
linux·网络·windows·ubuntu
一叶龙洲4 小时前
Ubuntu24.04Fcitx5使用macos12界面
ubuntu
鸿观工坊5 小时前
Docker 多阶段构建实践指南
docker
米糕闯编程5 小时前
鱼香ros2(一)在ubuntu中安装ros2
linux·运维·ubuntu·机器学习
数字孪生视频孪生5 小时前
三维实时重构异构底座 核工危化无感定位跨境轨迹一屏统揽
大数据·运维·人工智能·重构·架构
cnnews5 小时前
Ubuntu 编译 postmarketOS
linux·运维·arm开发·ubuntu·github·音视频