[嵌入式AI从0开始到入土]18_Ascend C算子开发环境(S5赛季)


前言

一、安装docker

二、拉取docker镜像

三、启动docker容器

四、进入docker环境

1. 命令行方式

2. ssh连接

已知问题

前言

本环境是为了大家能够更加快速的搭建AscendC算子开发环境,3步实现从0到运行sample样例。支持ssh直连容器开发环境。


预装软件版本信息如下:


软件名      版本

Ascend-cann-toolkit     8.1.RC1_linux-x86_64社区版

一、安装docker

这里我使用的测试环境是win11下wsl2的ubuntu22.04.5环境。安装docker的命令如下:


sudo apt update && sudo apt install docker.io -y


此处有遇到win10用户使用wsl2安装docker后,无法启动docker的问题。需要在微软商店搜索并安装Docker Desktop软件。首 次启动docker desktop 软件可能会出现首页加载不出来的问题,请耐心等待其加载完毕,这可能需要10-30分钟。


二、拉取docker镜像

执行下面的命令,如果普通用户有权限操作docker也可以不提权执行。


sudo docker pull swr.cn-north-4.myhuaweicloud.com/toolsmanhehe/cann_op_develop:8.1.RC1


另有cann8.0.0版本镜像备用,但是需要手动配置ssh登录。


sudo docker pull swr.cn-north-4.myhuaweicloud.com/toolsmanhehe/cann_op_develop:8.0.0


三、启动docker容器

这里我们需要使用docker run命令创建容器,参考命令如下,可根据实际情况调整。此命令只在创建容器时需要使用,后续使用容器过程中不再需要执行。

注意:由于宿主机的ssh可能使用了22端口,因此需要通过-p参数转发容器的22端口至其他可用端口


docker run --name cannopdevelop -it -d --shm-size=10g \

    --privileged=true \

    -v /home:/home \

    -v /tmp:/tmp \

    -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \

    -e http_proxy=$http_proxy \

    -e https_proxy=$https_proxy \

    -e "PATH=/usr/local/python3.10.2/bin:$PATH" \

    -p 8822:22 \

    swr.cn-north-4.myhuaweicloud.com/toolsmanhehe/cann_op_develop:8.1.RC1


四、进入docker环境

1. 命令行方式

在终端中执行即可。


sudo docker exec -it cannopdevelop bash


2. ssh连接

首先使用ifconfig或其他等价工具查询运行容器的环境的ip地址,这里是全零侦听的,因此只要是能ping通当前环境的ip都是可以的。

使用ssh root@ip -p 8822连接。密码:toolsmanhehe,可以在进入容器后通过passwd root命令修改。

使用vscode连接方式见下图:

1.jpg

已知问题

无法通过密钥显示ssh免密登录

环境中默认运行了密钥登录和root登录(虽然只有root用户)。我测试了很多次,同一组密钥,我的ubuntu环境下可以正常通过私钥登录,但是容器内不行。望各位大佬赐教。



请使用浏览器的分享功能分享到微信等