main-intel.Dockerfile 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. ARG ONEAPI_VERSION=2024.0.1-devel-ubuntu22.04
  2. FROM intel/oneapi-basekit:$ONEAPI_VERSION as build
  3. RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/intel-oneapi-archive-keyring.gpg > /dev/null && \
  4. echo "deb [signed-by=/usr/share/keyrings/intel-oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main " | tee /etc/apt/sources.list.d/oneAPI.list && \
  5. chmod 644 /usr/share/keyrings/intel-oneapi-archive-keyring.gpg && \
  6. rm /etc/apt/sources.list.d/intel-graphics.list && \
  7. wget -O- https://repositories.intel.com/graphics/intel-graphics.key | gpg --dearmor | tee /usr/share/keyrings/intel-graphics.gpg > /dev/null && \
  8. echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc" | tee /etc/apt/sources.list.d/intel.gpu.jammy.list && \
  9. chmod 644 /usr/share/keyrings/intel-graphics.gpg
  10. ARG LLAMA_SYCL_F16=OFF
  11. RUN apt-get update && \
  12. apt-get install -y git
  13. WORKDIR /app
  14. COPY . .
  15. RUN if [ "${LLAMA_SYCL_F16}" = "ON" ]; then \
  16. echo "LLAMA_SYCL_F16 is set" && \
  17. export OPT_SYCL_F16="-DLLAMA_SYCL_F16=ON"; \
  18. fi && \
  19. cmake -B build -DLLAMA_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx ${OPT_SYCL_F16} && \
  20. cmake --build build --config Release --target main
  21. FROM intel/oneapi-basekit:$ONEAPI_VERSION as runtime
  22. COPY --from=build /app/build/bin/main /main
  23. ENV LC_ALL=C.utf8
  24. ENTRYPOINT [ "/main" ]