From 9a5a01266bea43562d5fe6e8b848dc44f02ade1d Mon Sep 17 00:00:00 2001 From: Chen zhichao Date: Fri, 15 May 2026 15:54:22 +0800 Subject: [PATCH 1/2] add CANN-9.0.0-openeuler22.03-image and a trigger for build and push cann --- .github/workflows/build_and_push_cann.yml | 15 ++ .../workflows/trigger_build_and_push_cann.yml | 59 ++++++ build_cann_arg.json | 110 +++++++--- .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../9.0.0-a3-openeuler22.03-py3.10/Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../9.0.0-a3-openeuler22.03-py3.11/Dockerfile | 191 ++++++++++++++++++ .../Dockerfile | 57 ++++++ .../9.0.0-a3-openeuler22.03-py3.12/Dockerfile | 191 ++++++++++++++++++ tools/template/openeuler.Dockerfile.j2 | 3 +- 34 files changed, 3876 insertions(+), 31 deletions(-) create mode 100644 .github/workflows/trigger_build_and_push_cann.yml create mode 100644 cann/9.0.0-310p-openeuler22.03-py3.10-devel/Dockerfile create mode 100644 cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile create mode 100644 cann/9.0.0-310p-openeuler22.03-py3.11-devel/Dockerfile create mode 100644 cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile create mode 100644 cann/9.0.0-310p-openeuler22.03-py3.12-devel/Dockerfile create mode 100644 cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile create mode 100644 cann/9.0.0-910-openeuler22.03-py3.10-devel/Dockerfile create mode 100644 cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile create mode 100644 cann/9.0.0-910-openeuler22.03-py3.11-devel/Dockerfile create mode 100644 cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile create mode 100644 cann/9.0.0-910-openeuler22.03-py3.12-devel/Dockerfile create mode 100644 cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile create mode 100644 cann/9.0.0-910b-openeuler22.03-py3.10-devel/Dockerfile create mode 100644 cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile create mode 100644 cann/9.0.0-910b-openeuler22.03-py3.11-devel/Dockerfile create mode 100644 cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile create mode 100644 cann/9.0.0-910b-openeuler22.03-py3.12-devel/Dockerfile create mode 100644 cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile create mode 100644 cann/9.0.0-950-openeuler22.03-py3.10-devel/Dockerfile create mode 100644 cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile create mode 100644 cann/9.0.0-950-openeuler22.03-py3.11-devel/Dockerfile create mode 100644 cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile create mode 100644 cann/9.0.0-950-openeuler22.03-py3.12-devel/Dockerfile create mode 100644 cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile create mode 100644 cann/9.0.0-a3-openeuler22.03-py3.10-devel/Dockerfile create mode 100644 cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile create mode 100644 cann/9.0.0-a3-openeuler22.03-py3.11-devel/Dockerfile create mode 100644 cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile create mode 100644 cann/9.0.0-a3-openeuler22.03-py3.12-devel/Dockerfile create mode 100644 cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile diff --git a/.github/workflows/build_and_push_cann.yml b/.github/workflows/build_and_push_cann.yml index 6b5f2ba3..82f78aea 100644 --- a/.github/workflows/build_and_push_cann.yml +++ b/.github/workflows/build_and_push_cann.yml @@ -9,6 +9,21 @@ on: default: '9.0.0-910b-ubuntu22.04-py3.12' type: choice options: + - 9.0.0-310p-openeuler22.03-py3.10 + - 9.0.0-310p-openeuler22.03-py3.11 + - 9.0.0-310p-openeuler22.03-py3.12 + - 9.0.0-910-openeuler22.03-py3.10 + - 9.0.0-910-openeuler22.03-py3.11 + - 9.0.0-910-openeuler22.03-py3.12 + - 9.0.0-910b-openeuler22.03-py3.10 + - 9.0.0-910b-openeuler22.03-py3.11 + - 9.0.0-910b-openeuler22.03-py3.12 + - 9.0.0-950-openeuler22.03-py3.10 + - 9.0.0-950-openeuler22.03-py3.11 + - 9.0.0-950-openeuler22.03-py3.12 + - 9.0.0-a3-openeuler22.03-py3.10 + - 9.0.0-a3-openeuler22.03-py3.11 + - 9.0.0-a3-openeuler22.03-py3.12 - 9.0.0-950-ubuntu22.04-py3.12 - 9.0.0-950-openeuler24.03-py3.12 - 9.0.0-910b-ubuntu22.04-py3.12 diff --git a/.github/workflows/trigger_build_and_push_cann.yml b/.github/workflows/trigger_build_and_push_cann.yml new file mode 100644 index 00000000..f642a2fe --- /dev/null +++ b/.github/workflows/trigger_build_and_push_cann.yml @@ -0,0 +1,59 @@ +name: Batch Trigger CANN Build And Publish + +on: + workflow_dispatch: + inputs: + publish_base: + description: 'Publish base image' + default: false + type: boolean + required: true + publish_devel: + description: 'Publish devel image' + default: false + type: boolean + required: true + +concurrency: + group: cann-batch-build + cancel-in-progress: false + +jobs: + trigger-workflow: + runs-on: ubuntu-latest + strategy: + max-parallel: 2 + matrix: + cann_tag: + - 9.0.0-310p-openeuler22.03-py3.10 + - 9.0.0-310p-openeuler22.03-py3.11 + - 9.0.0-310p-openeuler22.03-py3.12 + - 9.0.0-910-openeuler22.03-py3.10 + - 9.0.0-910-openeuler22.03-py3.11 + - 9.0.0-910-openeuler22.03-py3.12 + - 9.0.0-910b-openeuler22.03-py3.10 + - 9.0.0-910b-openeuler22.03-py3.11 + - 9.0.0-910b-openeuler22.03-py3.12 + - 9.0.0-950-openeuler22.03-py3.10 + - 9.0.0-950-openeuler22.03-py3.11 + - 9.0.0-950-openeuler22.03-py3.12 + - 9.0.0-a3-openeuler22.03-py3.10 + - 9.0.0-a3-openeuler22.03-py3.11 + - 9.0.0-a3-openeuler22.03-py3.12 + steps: + - name: Trigger single CANN build + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + await github.rest.actions.createWorkflowDispatch({ + owner: context.repo.owner, + repo: context.repo.repo, + workflow_id: "Build and Publish CANN Image", + ref: context.ref, + inputs: { + cann_tag: "${{ matrix.cann_tag }}", + publish_base: ${{ inputs.publish_base }}, + publish_devel: ${{ inputs.publish_devel }} + } + }); \ No newline at end of file diff --git a/build_cann_arg.json b/build_cann_arg.json index 1fc263cb..5ae3d45a 100644 --- a/build_cann_arg.json +++ b/build_cann_arg.json @@ -3,101 +3,151 @@ { "cann_version": "9.0.0", "cann_chip": "310p", - "os_name": "ubuntu", - "os_version": "22.04", - "py_version": "3.12", + "os_name": "openeuler", + "os_version": "22.03", + "py_version": "3.10", + "tags": [ + "9.0.0-310p-openeuler22.03-py3.10" + ] + }, + { + "cann_version": "9.0.0", + "cann_chip": "310p", + "os_name": "openeuler", + "os_version": "22.03", + "py_version": "3.11", "tags": [ - "9.0.0-310p-ubuntu22.04-py3.12" + "9.0.0-310p-openeuler22.03-py3.11" ] }, { "cann_version": "9.0.0", "cann_chip": "310p", "os_name": "openeuler", - "os_version": "24.03", + "os_version": "22.03", "py_version": "3.12", "tags": [ - "9.0.0-310p-openeuler24.03-py3.12" + "9.0.0-310p-openeuler22.03-py3.12" ] }, { "cann_version": "9.0.0", "cann_chip": "910", - "os_name": "ubuntu", - "os_version": "22.04", - "py_version": "3.12", + "os_name": "openeuler", + "os_version": "22.03", + "py_version": "3.10", "tags": [ - "9.0.0-910-ubuntu22.04-py3.12" + "9.0.0-910-openeuler22.03-py3.10" ] }, { "cann_version": "9.0.0", "cann_chip": "910", "os_name": "openeuler", - "os_version": "24.03", + "os_version": "22.03", + "py_version": "3.11", + "tags": [ + "9.0.0-910-openeuler22.03-py3.11" + ] + }, + { + "cann_version": "9.0.0", + "cann_chip": "910", + "os_name": "openeuler", + "os_version": "22.03", "py_version": "3.12", "tags": [ - "9.0.0-910-openeuler24.03-py3.12" + "9.0.0-910-openeuler22.03-py3.12" ] }, { "cann_version": "9.0.0", "cann_chip": "910b", - "os_name": "ubuntu", - "os_version": "22.04", - "py_version": "3.12", + "os_name": "openeuler", + "os_version": "22.03", + "py_version": "3.10", "tags": [ - "9.0.0-910b-ubuntu22.04-py3.12" + "9.0.0-910b-openeuler22.03-py3.10" ] }, { "cann_version": "9.0.0", "cann_chip": "910b", "os_name": "openeuler", - "os_version": "24.03", + "os_version": "22.03", + "py_version": "3.11", + "tags": [ + "9.0.0-910b-openeuler22.03-py3.11" + ] + }, + { + "cann_version": "9.0.0", + "cann_chip": "910b", + "os_name": "openeuler", + "os_version": "22.03", "py_version": "3.12", "tags": [ - "9.0.0-910b-openeuler24.03-py3.12" + "9.0.0-910b-openeuler22.03-py3.12" ] }, { "cann_version": "9.0.0", "cann_chip": "950", - "os_name": "ubuntu", - "os_version": "22.04", - "py_version": "3.12", + "os_name": "openeuler", + "os_version": "22.03", + "py_version": "3.10", + "tags": [ + "9.0.0-950-openeuler22.03-py3.10" + ] + }, + { + "cann_version": "9.0.0", + "cann_chip": "950", + "os_name": "openeuler", + "os_version": "22.03", + "py_version": "3.11", "tags": [ - "9.0.0-950-ubuntu22.04-py3.12" + "9.0.0-950-openeuler22.03-py3.11" ] }, { "cann_version": "9.0.0", "cann_chip": "950", "os_name": "openeuler", - "os_version": "24.03", + "os_version": "22.03", "py_version": "3.12", "tags": [ - "9.0.0-950-openeuler24.03-py3.12" + "9.0.0-950-openeuler22.03-py3.12" ] }, { "cann_version": "9.0.0", "cann_chip": "a3", - "os_name": "ubuntu", - "os_version": "22.04", - "py_version": "3.12", + "os_name": "openeuler", + "os_version": "22.03", + "py_version": "3.10", + "tags": [ + "9.0.0-a3-openeuler22.03-py3.10" + ] + }, + { + "cann_version": "9.0.0", + "cann_chip": "a3", + "os_name": "openeuler", + "os_version": "22.03", + "py_version": "3.11", "tags": [ - "9.0.0-a3-ubuntu22.04-py3.12" + "9.0.0-a3-openeuler22.03-py3.11" ] }, { "cann_version": "9.0.0", "cann_chip": "a3", "os_name": "openeuler", - "os_version": "24.03", + "os_version": "22.03", "py_version": "3.12", "tags": [ - "9.0.0-a3-openeuler24.03-py3.12" + "9.0.0-a3-openeuler22.03-py3.12" ] } ] diff --git a/cann/9.0.0-310p-openeuler22.03-py3.10-devel/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.10-devel/Dockerfile new file mode 100644 index 00000000..db8cfab4 --- /dev/null +++ b/cann/9.0.0-310p-openeuler22.03-py3.10-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-310p-openeuler22.03-py3.10 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile new file mode 100644 index 00000000..660715e1 --- /dev/null +++ b/cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/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.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ + tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ + cd /tmp/Python-3.10.20 && \ + mkdir -p /usr/local/python3.10.20/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.10.20/lib" --prefix=/usr/local/python3.10.20 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.10.20/bin/python3.10 /usr/local/python3.10.20/bin/python3 && \ + ln -sf /usr/local/python3.10.20/bin/pip3.10 /usr/local/python3.10.20/bin/pip3 && \ + ln -sf /usr/local/python3.10.20/bin/python3 /usr/local/python3.10.20/bin/python && \ + ln -sf /usr/local/python3.10.20/bin/pip3 /usr/local/python3.10.20/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-310p-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.10.20 /usr/local/python3.10.20 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-310p-openeuler22.03-py3.11-devel/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.11-devel/Dockerfile new file mode 100644 index 00000000..f0419e4f --- /dev/null +++ b/cann/9.0.0-310p-openeuler22.03-py3.11-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-310p-openeuler22.03-py3.11 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile new file mode 100644 index 00000000..df0902a0 --- /dev/null +++ b/cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/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.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ + tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ + cd /tmp/Python-3.11.15 && \ + mkdir -p /usr/local/python3.11.15/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.11.15/lib" --prefix=/usr/local/python3.11.15 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.11.15/bin/python3.11 /usr/local/python3.11.15/bin/python3 && \ + ln -sf /usr/local/python3.11.15/bin/pip3.11 /usr/local/python3.11.15/bin/pip3 && \ + ln -sf /usr/local/python3.11.15/bin/python3 /usr/local/python3.11.15/bin/python && \ + ln -sf /usr/local/python3.11.15/bin/pip3 /usr/local/python3.11.15/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-310p-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.11.15 /usr/local/python3.11.15 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-310p-openeuler22.03-py3.12-devel/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.12-devel/Dockerfile new file mode 100644 index 00000000..7790efdf --- /dev/null +++ b/cann/9.0.0-310p-openeuler22.03-py3.12-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-310p-openeuler22.03-py3.12 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile new file mode 100644 index 00000000..95a6b1e5 --- /dev/null +++ b/cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/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.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ + tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ + cd /tmp/Python-3.12.13 && \ + mkdir -p /usr/local/python3.12.13/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.12.13/lib" --prefix=/usr/local/python3.12.13 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.12.13/bin/python3.12 /usr/local/python3.12.13/bin/python3 && \ + ln -sf /usr/local/python3.12.13/bin/pip3.12 /usr/local/python3.12.13/bin/pip3 && \ + ln -sf /usr/local/python3.12.13/bin/python3 /usr/local/python3.12.13/bin/python && \ + ln -sf /usr/local/python3.12.13/bin/pip3 /usr/local/python3.12.13/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-310p-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.12.13 /usr/local/python3.12.13 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-910-openeuler22.03-py3.10-devel/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.10-devel/Dockerfile new file mode 100644 index 00000000..7f1c2306 --- /dev/null +++ b/cann/9.0.0-910-openeuler22.03-py3.10-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-910-openeuler22.03-py3.10 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile new file mode 100644 index 00000000..c52fdf53 --- /dev/null +++ b/cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/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.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ + tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ + cd /tmp/Python-3.10.20 && \ + mkdir -p /usr/local/python3.10.20/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.10.20/lib" --prefix=/usr/local/python3.10.20 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.10.20/bin/python3.10 /usr/local/python3.10.20/bin/python3 && \ + ln -sf /usr/local/python3.10.20/bin/pip3.10 /usr/local/python3.10.20/bin/pip3 && \ + ln -sf /usr/local/python3.10.20/bin/python3 /usr/local/python3.10.20/bin/python && \ + ln -sf /usr/local/python3.10.20/bin/pip3 /usr/local/python3.10.20/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-910-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.10.20 /usr/local/python3.10.20 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-910-openeuler22.03-py3.11-devel/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.11-devel/Dockerfile new file mode 100644 index 00000000..f4efe8e5 --- /dev/null +++ b/cann/9.0.0-910-openeuler22.03-py3.11-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-910-openeuler22.03-py3.11 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile new file mode 100644 index 00000000..f2458784 --- /dev/null +++ b/cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/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.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ + tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ + cd /tmp/Python-3.11.15 && \ + mkdir -p /usr/local/python3.11.15/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.11.15/lib" --prefix=/usr/local/python3.11.15 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.11.15/bin/python3.11 /usr/local/python3.11.15/bin/python3 && \ + ln -sf /usr/local/python3.11.15/bin/pip3.11 /usr/local/python3.11.15/bin/pip3 && \ + ln -sf /usr/local/python3.11.15/bin/python3 /usr/local/python3.11.15/bin/python && \ + ln -sf /usr/local/python3.11.15/bin/pip3 /usr/local/python3.11.15/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-910-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.11.15 /usr/local/python3.11.15 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-910-openeuler22.03-py3.12-devel/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.12-devel/Dockerfile new file mode 100644 index 00000000..3fcbdf3a --- /dev/null +++ b/cann/9.0.0-910-openeuler22.03-py3.12-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-910-openeuler22.03-py3.12 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile new file mode 100644 index 00000000..9e4a646e --- /dev/null +++ b/cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/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.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ + tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ + cd /tmp/Python-3.12.13 && \ + mkdir -p /usr/local/python3.12.13/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.12.13/lib" --prefix=/usr/local/python3.12.13 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.12.13/bin/python3.12 /usr/local/python3.12.13/bin/python3 && \ + ln -sf /usr/local/python3.12.13/bin/pip3.12 /usr/local/python3.12.13/bin/pip3 && \ + ln -sf /usr/local/python3.12.13/bin/python3 /usr/local/python3.12.13/bin/python && \ + ln -sf /usr/local/python3.12.13/bin/pip3 /usr/local/python3.12.13/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-910-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.12.13 /usr/local/python3.12.13 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-910b-openeuler22.03-py3.10-devel/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.10-devel/Dockerfile new file mode 100644 index 00000000..affc914f --- /dev/null +++ b/cann/9.0.0-910b-openeuler22.03-py3.10-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-910b-openeuler22.03-py3.10 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile new file mode 100644 index 00000000..e54499fa --- /dev/null +++ b/cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/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.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ + tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ + cd /tmp/Python-3.10.20 && \ + mkdir -p /usr/local/python3.10.20/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.10.20/lib" --prefix=/usr/local/python3.10.20 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.10.20/bin/python3.10 /usr/local/python3.10.20/bin/python3 && \ + ln -sf /usr/local/python3.10.20/bin/pip3.10 /usr/local/python3.10.20/bin/pip3 && \ + ln -sf /usr/local/python3.10.20/bin/python3 /usr/local/python3.10.20/bin/python && \ + ln -sf /usr/local/python3.10.20/bin/pip3 /usr/local/python3.10.20/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-910b-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.10.20 /usr/local/python3.10.20 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-910b-openeuler22.03-py3.11-devel/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.11-devel/Dockerfile new file mode 100644 index 00000000..6e6eb05f --- /dev/null +++ b/cann/9.0.0-910b-openeuler22.03-py3.11-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-910b-openeuler22.03-py3.11 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile new file mode 100644 index 00000000..788c1ba3 --- /dev/null +++ b/cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/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.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ + tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ + cd /tmp/Python-3.11.15 && \ + mkdir -p /usr/local/python3.11.15/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.11.15/lib" --prefix=/usr/local/python3.11.15 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.11.15/bin/python3.11 /usr/local/python3.11.15/bin/python3 && \ + ln -sf /usr/local/python3.11.15/bin/pip3.11 /usr/local/python3.11.15/bin/pip3 && \ + ln -sf /usr/local/python3.11.15/bin/python3 /usr/local/python3.11.15/bin/python && \ + ln -sf /usr/local/python3.11.15/bin/pip3 /usr/local/python3.11.15/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-910b-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.11.15 /usr/local/python3.11.15 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-910b-openeuler22.03-py3.12-devel/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.12-devel/Dockerfile new file mode 100644 index 00000000..68acbbf2 --- /dev/null +++ b/cann/9.0.0-910b-openeuler22.03-py3.12-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-910b-openeuler22.03-py3.12 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile new file mode 100644 index 00000000..ebbaf40d --- /dev/null +++ b/cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/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.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ + tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ + cd /tmp/Python-3.12.13 && \ + mkdir -p /usr/local/python3.12.13/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.12.13/lib" --prefix=/usr/local/python3.12.13 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.12.13/bin/python3.12 /usr/local/python3.12.13/bin/python3 && \ + ln -sf /usr/local/python3.12.13/bin/pip3.12 /usr/local/python3.12.13/bin/pip3 && \ + ln -sf /usr/local/python3.12.13/bin/python3 /usr/local/python3.12.13/bin/python && \ + ln -sf /usr/local/python3.12.13/bin/pip3 /usr/local/python3.12.13/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-910b-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.12.13 /usr/local/python3.12.13 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-950-openeuler22.03-py3.10-devel/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.10-devel/Dockerfile new file mode 100644 index 00000000..deb12975 --- /dev/null +++ b/cann/9.0.0-950-openeuler22.03-py3.10-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-950-openeuler22.03-py3.10 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile new file mode 100644 index 00000000..4fda55eb --- /dev/null +++ b/cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/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.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ + tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ + cd /tmp/Python-3.10.20 && \ + mkdir -p /usr/local/python3.10.20/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.10.20/lib" --prefix=/usr/local/python3.10.20 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.10.20/bin/python3.10 /usr/local/python3.10.20/bin/python3 && \ + ln -sf /usr/local/python3.10.20/bin/pip3.10 /usr/local/python3.10.20/bin/pip3 && \ + ln -sf /usr/local/python3.10.20/bin/python3 /usr/local/python3.10.20/bin/python && \ + ln -sf /usr/local/python3.10.20/bin/pip3 /usr/local/python3.10.20/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-950-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.10.20 /usr/local/python3.10.20 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-950-openeuler22.03-py3.11-devel/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.11-devel/Dockerfile new file mode 100644 index 00000000..8adad503 --- /dev/null +++ b/cann/9.0.0-950-openeuler22.03-py3.11-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-950-openeuler22.03-py3.11 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile new file mode 100644 index 00000000..067d5b0c --- /dev/null +++ b/cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/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.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ + tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ + cd /tmp/Python-3.11.15 && \ + mkdir -p /usr/local/python3.11.15/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.11.15/lib" --prefix=/usr/local/python3.11.15 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.11.15/bin/python3.11 /usr/local/python3.11.15/bin/python3 && \ + ln -sf /usr/local/python3.11.15/bin/pip3.11 /usr/local/python3.11.15/bin/pip3 && \ + ln -sf /usr/local/python3.11.15/bin/python3 /usr/local/python3.11.15/bin/python && \ + ln -sf /usr/local/python3.11.15/bin/pip3 /usr/local/python3.11.15/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-950-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.11.15 /usr/local/python3.11.15 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-950-openeuler22.03-py3.12-devel/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.12-devel/Dockerfile new file mode 100644 index 00000000..c725955e --- /dev/null +++ b/cann/9.0.0-950-openeuler22.03-py3.12-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-950-openeuler22.03-py3.12 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile new file mode 100644 index 00000000..9ad2220c --- /dev/null +++ b/cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/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.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ + tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ + cd /tmp/Python-3.12.13 && \ + mkdir -p /usr/local/python3.12.13/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.12.13/lib" --prefix=/usr/local/python3.12.13 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.12.13/bin/python3.12 /usr/local/python3.12.13/bin/python3 && \ + ln -sf /usr/local/python3.12.13/bin/pip3.12 /usr/local/python3.12.13/bin/pip3 && \ + ln -sf /usr/local/python3.12.13/bin/python3 /usr/local/python3.12.13/bin/python && \ + ln -sf /usr/local/python3.12.13/bin/pip3 /usr/local/python3.12.13/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-950-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.12.13 /usr/local/python3.12.13 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-a3-openeuler22.03-py3.10-devel/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.10-devel/Dockerfile new file mode 100644 index 00000000..c6928fce --- /dev/null +++ b/cann/9.0.0-a3-openeuler22.03-py3.10-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-a3-openeuler22.03-py3.10 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile new file mode 100644 index 00000000..84c32022 --- /dev/null +++ b/cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/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.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ + tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ + cd /tmp/Python-3.10.20 && \ + mkdir -p /usr/local/python3.10.20/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.10.20/lib" --prefix=/usr/local/python3.10.20 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.10.20/bin/python3.10 /usr/local/python3.10.20/bin/python3 && \ + ln -sf /usr/local/python3.10.20/bin/pip3.10 /usr/local/python3.10.20/bin/pip3 && \ + ln -sf /usr/local/python3.10.20/bin/python3 /usr/local/python3.10.20/bin/python && \ + ln -sf /usr/local/python3.10.20/bin/pip3 /usr/local/python3.10.20/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-a3-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.10.20/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.10.20 /usr/local/python3.10.20 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-a3-openeuler22.03-py3.11-devel/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.11-devel/Dockerfile new file mode 100644 index 00000000..5455bda1 --- /dev/null +++ b/cann/9.0.0-a3-openeuler22.03-py3.11-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-a3-openeuler22.03-py3.11 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile new file mode 100644 index 00000000..d037b654 --- /dev/null +++ b/cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/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.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ + tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ + cd /tmp/Python-3.11.15 && \ + mkdir -p /usr/local/python3.11.15/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.11.15/lib" --prefix=/usr/local/python3.11.15 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.11.15/bin/python3.11 /usr/local/python3.11.15/bin/python3 && \ + ln -sf /usr/local/python3.11.15/bin/pip3.11 /usr/local/python3.11.15/bin/pip3 && \ + ln -sf /usr/local/python3.11.15/bin/python3 /usr/local/python3.11.15/bin/python && \ + ln -sf /usr/local/python3.11.15/bin/pip3 /usr/local/python3.11.15/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-a3-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.11.15/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.11.15 /usr/local/python3.11.15 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/cann/9.0.0-a3-openeuler22.03-py3.12-devel/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.12-devel/Dockerfile new file mode 100644 index 00000000..c1196851 --- /dev/null +++ b/cann/9.0.0-a3-openeuler22.03-py3.12-devel/Dockerfile @@ -0,0 +1,57 @@ +FROM quay.io/ascend/cann:9.0.0-a3-openeuler22.03-py3.12 + +############## +# User: root # +############## +# Set env +USER root +ENV USER root + +# Set bash +RUN ln -sf bash /bin/sh + +# Install base tools +RUN yum update -y && \ + yum install -y vim \ + zip \ + tree \ + dos2unix \ + sudo \ + bzip2 \ + pigz \ + gtest gtest-devel \ + gtest-devel \ + gawk \ + nlohmann-json-devel \ + patch \ + && yum clean all + +# Install googletest +RUN git clone --depth 1 -b release-1.11.0 https://github.com/google/googletest.git /tmp/googletest && \ + cd /tmp/googletest && \ + mkdir build && \ + cd build && \ + cmake .. && \ + make && \ + make install && \ + rm -rf /tmp/googletest + +# Install python plugin +RUN mkdir /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "index-url=https://repo.huaweicloud.com/repository/pypi/simple" >> /root/.pip/pip.conf \ + && echo "trusted-host=repo.huaweicloud.com" >> /root/.pip/pip.conf \ + && echo "timeout=120" >> /root/.pip/pip.conf \ + && pip3 install --upgrade pip && cd /tmp \ + && pip3 install wheel==0.38.4 \ + && pip3 install pyyaml==6.0.1 \ + && pip3 install setuptools==67.4.0 \ + && pip3 install numpy==1.26.4 \ + && pip3 install attrs \ + && pip3 install decorator \ + && pip3 install sympy \ + && pip3 install psutil \ + && pip3 install scipy \ + && pip3 install protobuf + +WORKDIR /opt \ No newline at end of file diff --git a/cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile new file mode 100644 index 00000000..193f3d93 --- /dev/null +++ b/cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile @@ -0,0 +1,191 @@ +# Stage 1: Install Python +FROM openeuler/openeuler:22.03 AS python-installer + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/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.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ + tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ + cd /tmp/Python-3.12.13 && \ + mkdir -p /usr/local/python3.12.13/lib && \ + ./configure --enable-shared --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3.12.13/lib" --prefix=/usr/local/python3.12.13 && \ + make -j $(nproc) && \ + make altinstall && \ + ln -sf /usr/local/python3.12.13/bin/python3.12 /usr/local/python3.12.13/bin/python3 && \ + ln -sf /usr/local/python3.12.13/bin/pip3.12 /usr/local/python3.12.13/bin/pip3 && \ + ln -sf /usr/local/python3.12.13/bin/python3 /usr/local/python3.12.13/bin/python && \ + ln -sf /usr/local/python3.12.13/bin/pip3 /usr/local/python3.12.13/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 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%209.0.0/Ascend-cann-toolkit_9.0.0_linux-${ARCH}.run && \ + CANN_OPS_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-a3-ops_9.0.0_linux-${ARCH}.run && \ + CANN_NNAL_URL=https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-nnal_9.0.0_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_OPS_URL} -O ~/Ascend-cann-ops.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 Ops Operator Package +RUN chmod +x ~/Ascend-cann-ops.run && \ + ~/Ascend-cann-ops.run --quiet --install --install-for-all && \ + rm -f ~/Ascend-cann-ops.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 AS official-openeuler + +ARG TARGETPLATFORM + +# Python Environment variables +ENV PATH=/usr/local/python3.12.13/bin:${PATH} + +# Note: Toolkit Environment variables, obtained from /usr/local/Ascend/ascend-toolkit/set_env.sh +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0 +ENV ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest + +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PYTHONPATH=${ASCEND_TOOLKIT_LATEST_HOME}/python/site-packages:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/tools/ccec_compiler/bin:${ASCEND_TOOLKIT_HOME}/tools/profiler/bin:${ASCEND_TOOLKIT_HOME}/tools/ascend_system_advisor/asys:$PATH +ENV PATH=${ASCEND_TOOLKIT_HOME}/tools/show_kernel_debug_data:${ASCEND_TOOLKIT_HOME}/tools/msobjdump:$PATH +ENV PATH=${ASCEND_TOOLKIT_LATEST_HOME}/bin:${ASCEND_TOOLKIT_LATEST_HOME}/compiler/ccec_compiler/bin:${ASCEND_TOOLKIT_LATEST_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} +ENV CMAKE_PREFIX_PATH=${TOOLCHAIN_HOME}/tools/tikicpulib/lib/cmake:${ASCEND_TOOLKIT_HOME}/lib64/cmake + +# 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_1 +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_LATEST_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_LATEST_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64:${ASCEND_TOOLKIT_LATEST_HOME}/tools/aml/lib64/plugin:$LD_LIBRARY_PATH +ENV LD_LIBRARY_PATH=${ATB_HOME_PATH}/lib:${ATB_HOME_PATH}/examples:${ATB_HOME_PATH}/tests/atbopstest:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:/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 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_KERNEL_CACHE_LOCAL_COUNT=1 +ENV ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5 +ENV ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1 +ENV ATB_COMPARE_TILING_EVERY_KERNEL=0 +ENV ATB_SHARE_MEMORY_NAME_SUFFIX="" +ENV ATB_MATMUL_SHUFFLE_K_ENABLE=1 +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 \ + git \ + vim \ + wget \ + jq \ + curl \ + numactl-devel \ + && yum clean all \ + && rm -rf /var/cache/yum \ + && rm -rf /tmp/* + +COPY --from=cann-installer /usr/local/python3.12.13 /usr/local/python3.12.13 +COPY --from=cann-installer /usr/local/Ascend /usr/local/Ascend +COPY --from=cann-installer /etc/Ascend /etc/Ascend + +# Note: Set environment variables +RUN \ + ARCH=$(case "${TARGETPLATFORM}" in \ + "linux/amd64") echo "x86_64" ;; \ + "linux/arm64") echo "aarch64" ;; \ + *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ + esac) && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ + CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ + CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/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_BISHENG_ENV_FILE}" >> /etc/profile && \ + echo "source ${CANN_BISHENG_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/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh && \ + source /usr/local/Ascend/nnal/atb/set_env.sh && \ + exec \"$@\"", "--"] diff --git a/tools/template/openeuler.Dockerfile.j2 b/tools/template/openeuler.Dockerfile.j2 index 16ae2545..9ed11a84 100644 --- a/tools/template/openeuler.Dockerfile.j2 +++ b/tools/template/openeuler.Dockerfile.j2 @@ -172,7 +172,8 @@ RUN \ "linux/arm64") echo "aarch64" ;; \ *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ esac) && \ - ln -sf /usr/include/c++/12/${ARCH}-openEuler-linux /usr/include/c++/12/${ARCH}-linux-gnu && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-{{ item.cann_version }}/share/info/ascendnpu-ir/bin/set_env.sh" && \ CANN_NNAL_ENV_FILE="/usr/local/Ascend/nnal/atb/set_env.sh" && \ From a66caae64c5b08ad92a4445bb495f86199540c63 Mon Sep 17 00:00:00 2001 From: Chen zhichao Date: Fri, 15 May 2026 17:41:37 +0800 Subject: [PATCH 2/2] fixbug --- cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile | 2 +- cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile | 2 +- cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile | 2 +- cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile | 2 +- cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile | 2 +- cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile | 2 +- cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile | 2 +- cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile | 2 +- cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile | 2 +- cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile | 2 +- cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile | 2 +- cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile | 2 +- cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile | 2 +- cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile | 2 +- cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile | 2 +- cann/9.0.0-a3-openeuler24.03-py3.12/Dockerfile | 5 +++-- tools/template.py | 2 +- 17 files changed, 19 insertions(+), 18 deletions(-) diff --git a/cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile index 660715e1..e6cbcd18 100644 --- a/cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile +++ b/cann/9.0.0-310p-openeuler22.03-py3.10/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20/Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ cd /tmp/Python-3.10.20 && \ mkdir -p /usr/local/python3.10.20/lib && \ diff --git a/cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile index df0902a0..d768c7e0 100644 --- a/cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile +++ b/cann/9.0.0-310p-openeuler22.03-py3.11/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15/Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ cd /tmp/Python-3.11.15 && \ mkdir -p /usr/local/python3.11.15/lib && \ diff --git a/cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile index 95a6b1e5..fb256260 100644 --- a/cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile +++ b/cann/9.0.0-310p-openeuler22.03-py3.12/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13/Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ cd /tmp/Python-3.12.13 && \ mkdir -p /usr/local/python3.12.13/lib && \ diff --git a/cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile index c52fdf53..f8c3bc07 100644 --- a/cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile +++ b/cann/9.0.0-910-openeuler22.03-py3.10/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20/Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ cd /tmp/Python-3.10.20 && \ mkdir -p /usr/local/python3.10.20/lib && \ diff --git a/cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile index f2458784..27e96ef8 100644 --- a/cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile +++ b/cann/9.0.0-910-openeuler22.03-py3.11/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15/Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ cd /tmp/Python-3.11.15 && \ mkdir -p /usr/local/python3.11.15/lib && \ diff --git a/cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile index 9e4a646e..c884c534 100644 --- a/cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile +++ b/cann/9.0.0-910-openeuler22.03-py3.12/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13/Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ cd /tmp/Python-3.12.13 && \ mkdir -p /usr/local/python3.12.13/lib && \ diff --git a/cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile index e54499fa..a5a2b8bd 100644 --- a/cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile +++ b/cann/9.0.0-910b-openeuler22.03-py3.10/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20/Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ cd /tmp/Python-3.10.20 && \ mkdir -p /usr/local/python3.10.20/lib && \ diff --git a/cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile index 788c1ba3..86906ded 100644 --- a/cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile +++ b/cann/9.0.0-910b-openeuler22.03-py3.11/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15/Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ cd /tmp/Python-3.11.15 && \ mkdir -p /usr/local/python3.11.15/lib && \ diff --git a/cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile index ebbaf40d..ad7d6f6b 100644 --- a/cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile +++ b/cann/9.0.0-910b-openeuler22.03-py3.12/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13/Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ cd /tmp/Python-3.12.13 && \ mkdir -p /usr/local/python3.12.13/lib && \ diff --git a/cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile index 4fda55eb..38a54af9 100644 --- a/cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile +++ b/cann/9.0.0-950-openeuler22.03-py3.10/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20/Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ cd /tmp/Python-3.10.20 && \ mkdir -p /usr/local/python3.10.20/lib && \ diff --git a/cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile index 067d5b0c..3a2c1503 100644 --- a/cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile +++ b/cann/9.0.0-950-openeuler22.03-py3.11/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15/Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ cd /tmp/Python-3.11.15 && \ mkdir -p /usr/local/python3.11.15/lib && \ diff --git a/cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile index 9ad2220c..09b42b43 100644 --- a/cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile +++ b/cann/9.0.0-950-openeuler22.03-py3.12/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13/Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ cd /tmp/Python-3.12.13 && \ mkdir -p /usr/local/python3.12.13/lib && \ diff --git a/cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile index 84c32022..a9e6fd3b 100644 --- a/cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile +++ b/cann/9.0.0-a3-openeuler22.03-py3.10/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20\Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.10.20/Python-3.10.20.tgz -o /tmp/Python-3.10.20.tgz && \ tar -xf /tmp/Python-3.10.20.tgz -C /tmp && \ cd /tmp/Python-3.10.20 && \ mkdir -p /usr/local/python3.10.20/lib && \ diff --git a/cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile index d037b654..969ac514 100644 --- a/cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile +++ b/cann/9.0.0-a3-openeuler22.03-py3.11/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15\Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.11.15/Python-3.11.15.tgz -o /tmp/Python-3.11.15.tgz && \ tar -xf /tmp/Python-3.11.15.tgz -C /tmp && \ cd /tmp/Python-3.11.15 && \ mkdir -p /usr/local/python3.11.15/lib && \ diff --git a/cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile b/cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile index 193f3d93..43380aea 100644 --- a/cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile +++ b/cann/9.0.0-a3-openeuler22.03-py3.12/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13/Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ cd /tmp/Python-3.12.13 && \ mkdir -p /usr/local/python3.12.13/lib && \ diff --git a/cann/9.0.0-a3-openeuler24.03-py3.12/Dockerfile b/cann/9.0.0-a3-openeuler24.03-py3.12/Dockerfile index 1d299ae4..d62cc12a 100644 --- a/cann/9.0.0-a3-openeuler24.03-py3.12/Dockerfile +++ b/cann/9.0.0-a3-openeuler24.03-py3.12/Dockerfile @@ -30,7 +30,7 @@ RUN yum update -y && \ && rm -rf /tmp/* # Install Python -RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13/Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ +RUN curl -fsSL https://repo.huaweicloud.com/python/3.12.13\Python-3.12.13.tgz -o /tmp/Python-3.12.13.tgz && \ tar -xf /tmp/Python-3.12.13.tgz -C /tmp && \ cd /tmp/Python-3.12.13 && \ mkdir -p /usr/local/python3.12.13/lib && \ @@ -172,7 +172,8 @@ RUN \ "linux/arm64") echo "aarch64" ;; \ *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \ esac) && \ - ln -sf /usr/include/c++/12/${ARCH}-openEuler-linux /usr/include/c++/12/${ARCH}-linux-gnu && \ + GCC_VERSION=$(gcc -dumpversion) && \ + ln -sf /usr/include/c++/${GCC_VERSION}/${ARCH}-openEuler-linux /usr/include/c++/${GCC_VERSION}/${ARCH}-linux-gnu && \ CANN_TOOLKIT_ENV_FILE="/usr/local/Ascend/ascend-toolkit/set_env.sh" && \ CANN_BISHENG_ENV_FILE="/usr/local/Ascend/cann-9.0.0/share/info/ascendnpu-ir/bin/set_env.sh" && \ CANN_NNAL_ENV_FILE="/usr/local/Ascend/nnal/atb/set_env.sh" && \ diff --git a/tools/template.py b/tools/template.py index bafa865e..d744500d 100644 --- a/tools/template.py +++ b/tools/template.py @@ -44,7 +44,7 @@ def get_python_download_url(version): exit(1) py_installer_package = "Python-" + py_latest_version - py_installer_url = os.path.join("https://repo.huaweicloud.com/python/", py_latest_version, py_installer_package + ".tgz") + py_installer_url = f"https://repo.huaweicloud.com/python/{py_latest_version}/{py_installer_package}.tgz" return py_installer_package, py_installer_url, py_latest_version def get_cann_download_url(cann_chip, version):