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开发环境配置完成。

相关推荐
想你依然心痛12 分钟前
固件架构演进:从裸机到RTOS到Linux的决策矩阵——复杂度、实时性、成本三维解析
架构·嵌入式·响应式编程·数据流·流处理·资源控制·背压
贺国亚31 分钟前
OpenClaw-架构原理与工程实践
架构
陶辉1 小时前
大模型时代的流量调度与架构演进:解构基于语义的路由策略
架构
大侠锅锅2 小时前
第 6 篇:模块自升级与自动回滚——空中换引擎
架构·边缘计算·升级回滚
AI的探索之旅3 小时前
从 Ubuntu 14.04 到 24.04:TI AM335x 开发环境完整迁移与 Agent 接管方案
linux·数据库·嵌入式硬件·ubuntu·postgresql
渣渣盟3 小时前
Docker 运维常用命令手册(含扩容与实战)
运维·docker·容器
梦帮科技3 小时前
GRAVIS v5.5:向硬核桌面端进化与云端多节点容灾部署实践
windows·架构·rust·自动化·区块链·智能合约·数字货币
●VON4 小时前
HarmonyKit | HarmonyOS Kit 模块化体系与零依赖架构实践
ui·华为·架构·harmonyos·鸿蒙·新特性
小尘要自信4 小时前
小米摄像头怎么接入RTSP?Go2RTC转流、EasyNVR录像与公网访问教程
人工智能·docker·开源