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

相关推荐
kevin_水滴石穿3 小时前
centos7 离线安装docker-compose(纯绿色安装)
运维·docker·容器
每一步都算数3 小时前
从通用对话到专属智库:两种AI部署模式,让企业数据真正“活“起来
架构
尘世中一位迷途小书童3 小时前
项目大扫除神器:Knip —— 将你的代码库“瘦身”到底
前端·架构·代码规范
weixin_449290013 小时前
Ubuntu 系统上安装和配置 Go 语言运行环境
linux·ubuntu·golang
狗哥哥4 小时前
企业级 Vue 3 项目图标系统重构实践:从多源混乱到单一数据源
前端·vue.js·架构
管理大亨4 小时前
Elasticsearch + Logstash + Filebeat + Kibana + Redis架构
redis·elasticsearch·架构
神算大模型APi--天枢6464 小时前
从异构调度到边缘部署:国产大模型算力平台的后端开发能力拆解
大数据·人工智能·科技·架构·硬件架构
橙序员小站4 小时前
Springboot3.0并不能拯救你的屎山
java·后端·架构
java_logo4 小时前
CALIBRE-WEB Docker 容器化部署指南
前端·docker·容器·电子书·calibre·calibre-web·docker部署calibre