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

相关推荐
码云数智-园园1 小时前
“架构之争,生态之合”:.NET 生态系统对 LoongArch 与 RISC-V 的支持深度解析
架构·.net·risc-v
小王要努力上岸2 小时前
[特殊字符] Nginx全栈实战指南:Rocky Linux 10 & Ubuntu 24.04 双系统部署
linux·nginx·ubuntu
小Pawn爷8 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
engchina9 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
HABuo9 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
啊森要自信10 小时前
CANN ops-cv:面向计算机视觉的 AI 硬件端高效算子库核心架构与开发逻辑
人工智能·计算机视觉·架构·cann
2的n次方_11 小时前
CANN ascend-transformer-boost 架构解析:融合注意力算子管线、长序列分块策略与图引擎协同机制
深度学习·架构·transformer
Fushize12 小时前
多模块架构下的依赖治理:如何避免 Gradle 依赖地狱
android·架构·kotlin
大雨淅淅13 小时前
Eureka从入门到精通:开启微服务架构的钥匙
微服务·云原生·eureka·架构
oMcLin13 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka