[鲲鹏920-arm64][Euler OS]配置ascend docker开发环境

本文详细介绍如何在鲲鹏920环境下安装docker并构建昇腾AI开发镜像,包括编写Dockerfile和docker-compose文件的过程。同时,还提供了HelloWorld示例用于验证开发环境的正确性。

1 docker环境安装

docker环境安装请参考[鲲鹏920-arm64][Euler OS 20.03 LTS] Docker安装一文

2 制作docker镜像

2.1 编写dockerfile文件

基础镜像gromacs_euler_os:compile_base请查看[鲲鹏920-arm64][Euler OS] gromacs源码编译一文2.1节

FROM gromacs_euler_os:compile_base

ARG NNAE_VERSION=20.0.RC1
ARG NNAE_ARCH=arm64
ARG HOST_ASCEND_BASE=/usr/local/Ascend
ARG CNT_ASCEND_BASE=/usr/local/Ascend/nnae/$NNAE_VERSION/$NNAE_ARCH-linux_gcc7.3.0
ARG ASCEND_NNAE_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/Ascend-NNAE-20.0.RC1-arm64-linux_gcc7.3.0.run"
ARG ASCEND_TF_PLUG_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/Ascend-TFPlugin-20.0.RC1-arm64-linux_gcc7.3.0.run"
ARG PYTHON_DOWNLOAD_URL="https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz"
# 自行编译好的tensorflow安装包,本文资源部分有提供编译好的1.15.4版本下载
ARG TENSORFLOW_PKG_NAME="tensorflow-1.15.4-cp37-cp37m-linux_aarch64.whl"
ARG TENSORFLOW_PKG_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/${TENSORFLOW_PKG_NAME}"
# 以下两个文件位于安装好ascend 910 driver的host机器上,为了让镜像尽量少分层,制作dockerfile的时候从源位置拷出来了
# ascend_install.info位于host机器/etc/ascend_install.info
ARG ASCEND_INSTALL_INFO_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/ascend_install.info"
# version.info位于host机器/usr/local/Ascend/driver/version.info
ARG ASCEND_VERSION_INFO_DOWNLOAD_URL="http://127.0.0.1:56000/chfs/shared/tmp/version.info"

WORKDIR /root

# 安装系统包
RUN yum update && \
    yum install -y curl wget g++ blas blas-devel gcc-gfortran libgfortran libffi-devel

# 安装python-3.7.5
RUN mkdir -p /data/python && \
    cd /data/python && \
    wget ${PYTHON_DOWNLOAD_URL} && \
    tar xf Python-3.7.5.tgz && \
    cd Python-3.7.5 && \
    ./configure --prefix=/usr/local/python3.7.5 --enable-shared && \
    make && make install && \
    cd / && rm -rf /data/python && \
    rm -rf /usr/lib64/libpython3.7m.so.1.0 && \
    ln -s /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib64 && \
    ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7 && \
    ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7 && \
    ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5 && \
    ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5 && \
    ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python && \
    pip3.7 config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple

# HwHiAiUser
# 注意: HwHiAiUser的uid和gid必须与host侧保持一致。若不一致则启动进程的时候会因为权限问题而拒绝访问,docker内/usr/local/Ascend环境是只读的,故也不能从容器内进行权限修改. 可以有host侧通过 cat /etc/passwd查看HwHiAiUser的uid和gid.
# 本文中host侧HwHiAiUser的uid=1001, 故这里指定uid和gid都为1001以防止出现权限问题 
RUN umask 0022 && \
    groupadd -g 1001 HwHiAiUser && \
    useradd -u 1001 -g HwHiAiUser -m -d /home/HwHiAiUser HwHiAiUser

# 安装python包
# tensorflow1.15版本编译时要求numpy < 1.19.0, 所以安装编译好的包也需要小于此版本
RUN pip3.7 install 'numpy<1.19.0' decorator sympy==1.4 cffi==1.12.3 pyyaml pathlib2 grpcio grpcio-tools protobuf scipy requests

# 安装Ascend包和插件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值