@@ -23,18 +23,27 @@ COPY . .
2323ARG CUDACXX=/usr/local/cuda/bin/nvcc
2424ARG CUDA_ARCHITECTURES=""
2525ARG GGML_CUDA_FA_ALL_QUANTS=""
26-
27- RUN cmake . -B ./build \
28- -DSD_CUDA=ON \
29- -DSD_BUILD_SHARED_LIBS=ON \
30- -DGGML_NATIVE=OFF \
31- -DSD_BUILD_SHARED_GGML_LIB=ON \
32- -DGGML_BACKEND_DL=ON \
33- -DGGML_CPU_ALL_VARIANTS=ON \
34- -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
35- -DCMAKE_INSTALL_RPATH='$ORIGIN' \
36- ${CUDA_ARCHITECTURES:+-DCMAKE_CUDA_ARCHITECTURES="${CUDA_ARCHITECTURES}"} \
37- ${GGML_CUDA_FA_ALL_QUANTS:+-DGGML_CUDA_FA_ALL_QUANTS=${GGML_CUDA_FA_ALL_QUANTS}}
26+ ARG GGML_CUDA_ENABLE_DYNAMIC_CPU_BACKENDS=ON
27+
28+ RUN set -- \
29+ -DSD_CUDA=ON; \
30+ if [ "${GGML_CUDA_ENABLE_DYNAMIC_CPU_BACKENDS}" = "ON" ]; then \
31+ set -- "$@" \
32+ -DSD_BUILD_SHARED_LIBS=ON \
33+ -DGGML_NATIVE=OFF \
34+ -DSD_BUILD_SHARED_GGML_LIB=ON \
35+ -DGGML_BACKEND_DL=ON \
36+ -DGGML_CPU_ALL_VARIANTS=ON \
37+ -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
38+ "-DCMAKE_INSTALL_RPATH=\$ORIGIN"; \
39+ fi; \
40+ if [ -n "${CUDA_ARCHITECTURES}" ]; then \
41+ set -- "$@" "-DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES}"; \
42+ fi; \
43+ if [ -n "${GGML_CUDA_FA_ALL_QUANTS}" ]; then \
44+ set -- "$@" "-DGGML_CUDA_FA_ALL_QUANTS=${GGML_CUDA_FA_ALL_QUANTS}"; \
45+ fi; \
46+ cmake . -B ./build "$@"
3847RUN cmake --build ./build --config Release -j$(nproc)
3948
4049FROM nvidia/cuda:${CUDA_VERSION}-cudnn-runtime-ubuntu${UBUNTU_VERSION} AS runtime
0 commit comments