From b1459fc2e010616ff7dd04e9d761c8f09870dc5f Mon Sep 17 00:00:00 2001 From: zhihang Date: Fri, 30 May 2025 13:59:21 +0000 Subject: [PATCH] add CANN 8.1.RC1 --- .../8.1.RC1-python3.11/22.03-lts/Dockerfile | 182 ++++++++++++++++++ AI/cann/meta.yml | 4 +- Others/python/3.10.17/24.03-lts/Dockerfile | 14 +- 3 files changed, 193 insertions(+), 7 deletions(-) create mode 100644 AI/cann/8.1.RC1-python3.11/22.03-lts/Dockerfile diff --git a/AI/cann/8.1.RC1-python3.11/22.03-lts/Dockerfile b/AI/cann/8.1.RC1-python3.11/22.03-lts/Dockerfile new file mode 100644 index 0000000..b9219ac --- /dev/null +++ b/AI/cann/8.1.RC1-python3.11/22.03-lts/Dockerfile @@ -0,0 +1,182 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03-lts AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.11.12/bin:${PATH} + +RUN yum update -y && \ + yum install -y \ + gcc \ + gcc-c++ \ + make \ + cmake \ + curl \ + zlib-devel \ + bzip2-devel \ + openssl-devel \ + ncurses-devel \ + sqlite-devel \ + readline-devel \ + tk-devel \ + gdbm-devel \ + libpcap-devel \ + xz-devel \ + libev-devel \ + expat-devel \ + libffi-devel \ + systemtap-sdt-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +# Install Python +RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.12/Python-3.11.12.tgz -o /tmp/Python-3.11.12.tgz && \ + tar -xf /tmp/Python-3.11.12.tgz -C /tmp && \ + cd /tmp/Python-3.11.12 && \ + mkdir -p /usr/local/python3.11.12/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.11.12/lib" --prefix=/usr/local/python3.11.12 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.11.12/bin/python3.11 /usr/local/python3.11.12/bin/python3 && \ + ln -sf /usr/local/python3.11.12/bin/pip3.11 /usr/local/python3.11.12/bin/pip3 && \ + ln -sf /usr/local/python3.11.12/bin/python3 /usr/local/python3.11.12/bin/python && \ + ln -sf /usr/local/python3.11.12/bin/pip3 /usr/local/python3.11.12/bin/pip && \ + rm -rf /tmp/* + +# Stage 2: Install CANN +FROM python-installer AS cann-installer + +ARG TARGETPLATFORM + +RUN yum update -y && \ + yum install -y \ + unzip \ + pciutils \ + net-tools \ + lapack-devel \ + gcc-gfortran \ + util-linux \ + findutils \ + wget \ + && yum clean all \ + && rm -rf /var/cache/yum + +# Note: Install CANN runtime dependencies +RUN pip install --no-cache-dir --upgrade pip +RUN pip install --no-cache-dir \ + attrs cython numpy==1.24.0 decorator sympy cffi pyyaml pathlib2 \ + psutil protobuf==3.20 scipy requests absl-py + +# Note: Get the download link according to ARCH and download the installation package +RUN ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + CANN_TOOLKIT_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.1.RC1/Ascend-cann-toolkit_8.1.RC1_linux-${ARCH}.run && \ + CANN_KERNELS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.1.RC1/Ascend-cann-kernels-910b_8.1.RC1_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.1.RC1/Ascend-cann-nnal_8.1.RC1_linux-${ARCH}.run && \ + wget --quiet --header="Referer: https://www.hiascend.com/" ${CANN_TOOLKIT_URL} -O ~/Ascend-cann-toolkit.run && \ + wget --quiet --header="Referer: https://www.hiascend.com/" ${CANN_KERNELS_URL} -O ~/Ascend-cann-kernels.run && \ + wget --quiet --header="Referer: https://www.hiascend.com/" ${CANN_NNAL_URL} -O ~/Ascend-cann-nnal.run + +# Note: Install CANN Toolkit Development Kit Package +RUN chmod +x ~/Ascend-cann-toolkit.run && \ + ~/Ascend-cann-toolkit.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-toolkit.run + +# Note: Install CANN Kernels Operator Package +RUN chmod +x ~/Ascend-cann-kernels.run && \ + ~/Ascend-cann-kernels.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-kernels.run + +# Note: Install CANN NNAL Neural Network Acceleration Library +RUN . /usr/local/Ascend/ascend-toolkit/set_env.sh && \ + chmod +x ~/Ascend-cann-nnal.run && \ + ~/Ascend-cann-nnal.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-nnal.run + +# Stage 3: Copy results from previous stages +FROM openeuler/openeuler:22.03-lts AS official-openeuler + +# Python Environment variables +ENV PATH=/usr/local/python3.11.12/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/common/:/usr/local/Ascend/driver/lib64/driver/:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:$PATH +ENV ASCEND_AICPU_PATH=${ASCEND_TOOLKIT_HOME} +ENV ASCEND_OPP_PATH=${ASCEND_TOOLKIT_HOME}/opp +ENV TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit +ENV ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME} + +# Note: NNAL Environment variables, obtained from /usr/local/Ascend/nnal/set_env.sh +ENV ATB_HOME_PATH=/usr/local/Ascend/nnal/atb/latest/atb/cxx_abi_0 +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV PATH=${ATB_HOME_PATH}/bin:$PATH +ENV ATB_STREAM_SYNC_EVERY_KERNEL_ENABLE=0 +ENV ATB_STREAM_SYNC_EVERY_RUNNER_ENABLE=0 +ENV ATB_STREAM_SYNC_EVERY_OPERATION_ENABLE=0 +ENV ATB_OPSRUNNER_SETUP_CACHE_ENABLE=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_TYPE=3 +ENV ATB_OPSRUNNER_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_OPSRUNNER_KERNEL_CACHE_TILING_SIZE=10240 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_WORKSPACE_MEM_ALLOC_GLOBAL=0 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_HOST_TILING_BUFFER_BLOCK_NUM=128 +ENV ATB_DEVICE_TILING_BUFFER_BLOCK_NUM=32 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_LAUNCH_KERNEL_WITH_TILING=1 +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +ENV ATB_RUNNER_POOL_SIZE=64 +ENV ASDOPS_HOME_PATH=${ATB_HOME_PATH} +ENV ASDOPS_MATMUL_PP_FLAG=1 +ENV ASDOPS_LOG_LEVEL=ERROR +ENV ASDOPS_LOG_TO_STDOUT=0 +ENV ASDOPS_LOG_TO_FILE=1 +ENV ASDOPS_LOG_TO_FILE_FLUSH=0 +ENV ASDOPS_LOG_TO_BOOST_TYPE=atb +ENV ASDOPS_LOG_PATH=/root +ENV ASDOPS_TILING_PARSE_CACHE_DISABLE=0 +ENV LCCL_DETERMINISTIC=0 +ENV LCCL_PARALLEL=0 + +SHELL [ "/bin/bash", "-c" ] + +RUN yum update -y && \ + yum install -y \ + ca-certificates \ + bash \ + glibc \ + sqlite-devel \ + gcc \ + gcc-c++ \ + make \ + cmake \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.11.12 /usr/local/python3.11.12 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_NNAL_ENV_FILE="/usr/local/Ascend/nnal/atb/set_env.sh" && \ + echo "source ${CANN_TOOLKIT_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_TOOLKIT_ENV_FILE}" >> ~/.bashrc && \ + echo "source ${CANN_NNAL_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_NNAL_ENV_FILE}" >> ~/.bashrc + +ENTRYPOINT ["/bin/bash", "-c", "\ + source /usr/local/Ascend/ascend-toolkit/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] \ No newline at end of file diff --git a/AI/cann/meta.yml b/AI/cann/meta.yml index 52bd633..ea2ab35 100644 --- a/AI/cann/meta.yml +++ b/AI/cann/meta.yml @@ -1,4 +1,6 @@ -cann7.0.RC1.alpha002-oe2203sp2: +7.0.RC1.alpha002-oe2203sp2: path: 7.0.RC1.alpha002/22.03-lts-sp2/Dockerfile 8.0.RC1-oe2203sp4: path: 8.0.RC1/22.03-lts-sp4/Dockerfile +8.1.RC1-python3.11-oe2203lts: + path: 8.1.RC1-python3.11/22.03-lts/Dockerfile diff --git a/Others/python/3.10.17/24.03-lts/Dockerfile b/Others/python/3.10.17/24.03-lts/Dockerfile index 96ea6d8..d97b9d7 100644 --- a/Others/python/3.10.17/24.03-lts/Dockerfile +++ b/Others/python/3.10.17/24.03-lts/Dockerfile @@ -44,6 +44,12 @@ RUN PY_HOME=/usr/local/python${VERSION} && \ make altinstall && \ rm -rf /tmp/* +FROM ${BASE} AS official + +ARG VERSION + +COPY --from=builder /usr/local/python${VERSION} /usr/local/python${VERSION} + RUN VERSION_SHORT=$(echo "${VERSION}" | cut -d. -f1,2) && \ VERSION_MAJOR=$(echo "${VERSION}" | cut -d. -f1) && \ PY_HOME=/usr/local/python${VERSION} && \ @@ -52,10 +58,6 @@ RUN VERSION_SHORT=$(echo "${VERSION}" | cut -d. -f1,2) && \ ln -sf ${PY_HOME}/bin/python${VERSION_MAJOR} ${PY_HOME}/bin/python && \ ln -sf ${PY_HOME}/bin/pip${VERSION_MAJOR} ${PY_HOME}/bin/pip -FROM ${BASE} AS official - -ARG VERSION +RUN echo "${VERSION}" > /test.txt -ENV PATH=/usr/local/python${VERSION}/bin:${PATH} - -COPY --from=builder /usr/local/python${VERSION} /usr/local/python${VERSION} +ENV PATH=/usr/local/python${VERSION}/bin:${PATH} \ No newline at end of file -- Gitee