2024-01-28 08:55:31 +01:00
ARG ONEAPI_VERSION = 2024 .0.1-devel-ubuntu22.04
2024-02-02 08:56:31 +01:00
FROM intel/oneapi-basekit:$ONEAPI_VERSION as build
2024-01-28 08:55:31 +01:00
2024-05-30 08:19:08 +02:00
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 && \
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 && \
chmod 644 /usr/share/keyrings/intel-oneapi-archive-keyring.gpg && \
rm /etc/apt/sources.list.d/intel-graphics.list && \
wget -O- https://repositories.intel.com/graphics/intel-graphics.key | gpg --dearmor | tee /usr/share/keyrings/intel-graphics.gpg > /dev/null && \
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 && \
chmod 644 /usr/share/keyrings/intel-graphics.gpg
2024-02-02 08:56:31 +01:00
ARG LLAMA_SYCL_F16 = OFF
2024-01-28 08:55:31 +01:00
RUN apt-get update && \
2024-04-04 18:31:22 +02:00
apt-get install -y git libcurl4-openssl-dev
2024-01-28 08:55:31 +01:00
WORKDIR /app
COPY . .
2024-04-29 18:02:45 +02:00
RUN if [ " ${ LLAMA_SYCL_F16 } " = "ON" ] ; then \
2024-02-02 08:56:31 +01:00
echo "LLAMA_SYCL_F16 is set" && \
export OPT_SYCL_F16 = "-DLLAMA_SYCL_F16=ON" ; \
fi && \
2024-04-29 18:02:45 +02:00
cmake -B build -DLLAMA_SYCL= ON -DCMAKE_C_COMPILER= icx -DCMAKE_CXX_COMPILER= icpx -DLLAMA_CURL= ON ${ OPT_SYCL_F16 } && \
cmake --build build --config Release --target server
2024-02-02 08:56:31 +01:00
FROM intel/oneapi-basekit:$ONEAPI_VERSION as runtime
2024-01-28 08:55:31 +01:00
2024-05-30 08:19:08 +02:00
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 && \
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 && \
chmod 644 /usr/share/keyrings/intel-oneapi-archive-keyring.gpg && \
rm /etc/apt/sources.list.d/intel-graphics.list && \
wget -O- https://repositories.intel.com/graphics/intel-graphics.key | gpg --dearmor | tee /usr/share/keyrings/intel-graphics.gpg > /dev/null && \
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 && \
chmod 644 /usr/share/keyrings/intel-graphics.gpg
2024-04-04 18:31:22 +02:00
RUN apt-get update && \
apt-get install -y libcurl4-openssl-dev
2024-01-28 08:55:31 +01:00
COPY --from= build /app/build/bin/server /server
ENV LC_ALL = C.utf8
ENTRYPOINT [ "/server" ]