# Copyright (c) 2020-2021 Intel Corporation.
# SPDX-License-Identifier: BSD-3-Clause

FROM ubuntu:22.04
COPY third-party-programs.txt /
RUN apt-get update && apt-get upgrade -y && \
  DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    curl ca-certificates gpg-agent software-properties-common && \
  rm -rf /var/lib/apt/lists/*
# repository to install Intel(R) oneAPI Libraries
RUN curl -fsSL https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB | gpg --dearmor | tee /usr/share/keyrings/intel-oneapi-archive-keyring.gpg
RUN echo "deb [signed-by=/usr/share/keyrings/intel-oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main " > /etc/apt/sources.list.d/oneAPI.list

RUN apt-get update && apt-get upgrade -y && \
  DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    curl ca-certificates gpg-agent software-properties-common && \
  rm -rf /var/lib/apt/lists/*
# repository to install Intel(R) GPU drivers
RUN curl -fsSL https://repositories.intel.com/gpu/intel-graphics.key | gpg --dearmor | tee /usr/share/keyrings/intel-graphics-archive-keyring.gpg
RUN echo "deb [signed-by=/usr/share/keyrings/intel-graphics-archive-keyring.gpg arch=amd64] https://repositories.intel.com/gpu/ubuntu jammy unified" > /etc/apt/sources.list.d/intel-graphics.list

RUN apt-get update && apt-get upgrade -y && \
  DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    ca-certificates build-essential pkg-config gnupg libarchive13 openssh-server openssh-client wget net-tools git cmake intel-basekit intel-opencl-icd libze-intel-gpu1 libze1 libze-dev  && \
  rm -rf /var/lib/apt/lists/*




ENV LANG=C.UTF-8
ENV ADVISOR_2025_DIR='/opt/intel/oneapi/advisor/2025.1'
ENV APM='/opt/intel/oneapi/advisor/2025.1/perfmodels'
ENV CCL_CONFIGURATION='cpu_gpu_dpcpp'
ENV CCL_CONFIGURATION_PATH=''
ENV CCL_ROOT='/opt/intel/oneapi/ccl/2021.15'
ENV CLASSPATH='/opt/intel/oneapi/mpi/2021.15/share/java/mpi.jar'
ENV CMAKE_PREFIX_PATH='/opt/intel/oneapi/tbb/2022.1/env/..:/opt/intel/oneapi/pti/0.11/lib/cmake/pti:/opt/intel/oneapi/mkl/2025.1/lib/cmake:/opt/intel/oneapi/ipp/2022.1/lib/cmake/ipp:/opt/intel/oneapi/dpl/2022.8/lib/cmake/oneDPL:/opt/intel/oneapi/dnnl/2025.1/lib/cmake:/opt/intel/oneapi/dal/2025.4:/opt/intel/oneapi/compiler/2025.1:/opt/intel/oneapi/ccl/2021.15/lib/cmake/oneCCL'
ENV CMPLR_ROOT='/opt/intel/oneapi/compiler/2025.1'
ENV CPATH='/opt/intel/oneapi/umf/0.10/include:/opt/intel/oneapi/tbb/2022.1/env/../include:/opt/intel/oneapi/pti/0.11/include:/opt/intel/oneapi/mpi/2021.15/include:/opt/intel/oneapi/mkl/2025.1/include:/opt/intel/oneapi/ippcp/2025.1/include:/opt/intel/oneapi/ipp/2022.1/include:/opt/intel/oneapi/dpl/2022.8/include:/opt/intel/oneapi/dpcpp-ct/2025.1/include:/opt/intel/oneapi/dnnl/2025.1/include:/opt/intel/oneapi/dev-utilities/2025.1/include:/opt/intel/oneapi/dal/2025.4/include:/opt/intel/oneapi/dal/2025.4/include/dal:/opt/intel/oneapi/ccl/2021.15/include'
ENV DALROOT='/opt/intel/oneapi/dal/2025.4'
ENV DAL_MAJOR_BINARY='3'
ENV DAL_MINOR_BINARY='0'
ENV DIAGUTIL_PATH='/opt/intel/oneapi/dpcpp-ct/2025.1/etc/dpct/sys_check/sys_check.sh:/opt/intel/oneapi/compiler/2025.1/etc/compiler/sys_check/sys_check.sh'
ENV DNNLROOT='/opt/intel/oneapi/dnnl/2025.1'
ENV DPL_ROOT='/opt/intel/oneapi/dpl/2022.8'
ENV FI_PROVIDER_PATH='/opt/intel/oneapi/mpi/2021.15/opt/mpi/libfabric/lib/prov:/usr/lib/x86_64-linux-gnu/libfabric'
ENV GDB_INFO='/opt/intel/oneapi/debugger/2025.1/share/info/'
ENV INFOPATH='/opt/intel/oneapi/debugger/2025.1/share/info'
ENV INTEL_PYTHONHOME='/opt/intel/oneapi/debugger/2025.1/opt/debugger'
ENV IPPCP_TARGET_ARCH='intel64'
ENV IPPCRYPTOROOT='/opt/intel/oneapi/ippcp/2025.1'
ENV IPPROOT='/opt/intel/oneapi/ipp/2022.1'
ENV IPP_TARGET_ARCH='intel64'
ENV I_MPI_ROOT='/opt/intel/oneapi/mpi/2021.15'
ENV LD_LIBRARY_PATH='/opt/intel/oneapi/tcm/1.3/lib:/opt/intel/oneapi/umf/0.10/lib:/opt/intel/oneapi/tbb/2022.1/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/pti/0.11/lib:/opt/intel/oneapi/mpi/2021.15/opt/mpi/libfabric/lib:/opt/intel/oneapi/mpi/2021.15/lib:/opt/intel/oneapi/mkl/2025.1/lib:/opt/intel/oneapi/ippcp/2025.1/lib/:/opt/intel/oneapi/ipp/2022.1/lib:/opt/intel/oneapi/dnnl/2025.1/lib:/opt/intel/oneapi/debugger/2025.1/opt/debugger/lib:/opt/intel/oneapi/dal/2025.4/lib:/opt/intel/oneapi/compiler/2025.1/opt/compiler/lib:/opt/intel/oneapi/compiler/2025.1/lib:/opt/intel/oneapi/ccl/2021.15/lib/'
ENV LIBRARY_PATH='/opt/intel/oneapi/tcm/1.3/lib:/opt/intel/oneapi/umf/0.10/lib:/opt/intel/oneapi/tbb/2022.1/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/pti/0.11/lib:/opt/intel/oneapi/mpi/2021.15/lib:/opt/intel/oneapi/mkl/2025.1/lib:/opt/intel/oneapi/ippcp/2025.1/lib/:/opt/intel/oneapi/ipp/2022.1/lib:/opt/intel/oneapi/dnnl/2025.1/lib:/opt/intel/oneapi/dal/2025.4/lib:/opt/intel/oneapi/compiler/2025.1/lib:/opt/intel/oneapi/ccl/2021.15/lib/'
ENV MANPATH='/opt/intel/oneapi/mpi/2021.15/share/man:/opt/intel/oneapi/debugger/2025.1/share/man:/opt/intel/oneapi/compiler/2025.1/share/man:'
ENV MKLROOT='/opt/intel/oneapi/mkl/2025.1'
ENV NLSPATH='/opt/intel/oneapi/compiler/2025.1/lib/compiler/locale/%l_%t/%N'
ENV OCL_ICD_FILENAMES='/opt/intel/oneapi/compiler/2025.1/lib/libintelocl.so'
ENV ONEAPI_ROOT='/opt/intel/oneapi'
ENV PATH='/opt/intel/oneapi/vtune/2025.1/bin64:/opt/intel/oneapi/mpi/2021.15/bin:/opt/intel/oneapi/mkl/2025.1/bin:/opt/intel/oneapi/dpcpp-ct/2025.1/bin:/opt/intel/oneapi/dev-utilities/2025.1/bin:/opt/intel/oneapi/debugger/2025.1/opt/debugger/bin:/opt/intel/oneapi/compiler/2025.1/bin:/opt/intel/oneapi/advisor/2025.1/bin64:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
ENV PKG_CONFIG_PATH='/opt/intel/oneapi/vtune/2025.1/include/pkgconfig/lib64:/opt/intel/oneapi/tbb/2022.1/env/../lib/pkgconfig:/opt/intel/oneapi/mpi/2021.15/lib/pkgconfig:/opt/intel/oneapi/mkl/2025.1/lib/pkgconfig:/opt/intel/oneapi/ippcp/2025.1/lib/pkgconfig:/opt/intel/oneapi/dpl/2022.8/lib/pkgconfig:/opt/intel/oneapi/dnnl/2025.1/lib/pkgconfig:/opt/intel/oneapi/dal/2025.4/lib/pkgconfig:/opt/intel/oneapi/compiler/2025.1/lib/pkgconfig:/opt/intel/oneapi/ccl/2021.15/lib/pkgconfig/:/opt/intel/oneapi/advisor/2025.1/include/pkgconfig/lib64:'
ENV PYTHONPATH='/opt/intel/oneapi/advisor/2025.1/pythonapi'
ENV Pti_DIR='/opt/intel/oneapi/pti/0.11/lib/cmake/pti'
ENV SETVARS_COMPLETED='1'
ENV TBBROOT='/opt/intel/oneapi/tbb/2022.1/env/..'
ENV TCM_ROOT='/opt/intel/oneapi/tcm/1.3'
ENV UMF_ROOT='/opt/intel/oneapi/umf/0.10'
ENV VTUNE_PROFILER_2025_DIR='/opt/intel/oneapi/vtune/2025.1'
ENV VTUNE_PROFILER_DIR='/opt/intel/oneapi/vtune/2025.1'