Homepage: https://github.com/ggml-org/ggml
Build-Depends: cmake,
debhelper-compat (= 13),
- libblas-dev,
+ libopenblas-openmp-dev,
+ libopenblas64-openmp-dev [amd64 arm64],
pkgconf,
- libvulkan-dev,
- glslc,
+ libvulkan-dev <!pkg.ggml.novulkan>,
+ glslc <!pkg.ggml.novulkan>,
+ nvidia-cuda-toolkit-gcc <!pkg.ggml.nocuda>,
Rules-Requires-Root: no
Package: libggml-base0
Package: libggml0
Architecture: any
Multi-Arch: same
-Depends: libggml-base0,
+Depends: libggml-base0 (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Tensor library for machine learning (loader)
Package: libggml-backend-cpu
Architecture: any
Multi-Arch: same
-Depends: libggml-base0,
+Depends: libggml-base0 (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Description: Tensor library for machine learning (CPU backend)
Package: libggml-backend-blas
Architecture: any
Multi-Arch: same
-Depends: libggml-base0,
+Depends: libggml-base0 (= ${binary:Version}),
+ libopenblas0-openmp,
+ libopenblas64-0-openmp [amd64 arm64],
${misc:Depends},
${shlibs:Depends}
Recommends: libopenblas0 | libblis4 | libmkl-rt | libblas3
Package: libggml-backend-vulkan
Architecture: any
Multi-Arch: same
-Depends: libggml-base0,
+Depends: libggml-base0 (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
+Build-Profiles: <!pkg.ggml.novulkan>
Description: Tensor library for machine learning (Vulkan backend)
The ggml Vulkan backend provides hardware acceleration of the
computations based on the Vulkan API. This is typically used
to leverage GPU parallel computations capabilities.
+
+Package: libggml-backend-cuda
+Architecture: any
+Multi-Arch: same
+Depends: libggml-base0 (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends}
+Build-Profiles: <!pkg.ggml.nocuda>
+Description: Tensor library for machine learning (CUDA backend)
+ The ggml CUDA backend provides hardware acceleration of the
+ computations based on the CUDA API. This is typically used
+ to leverage Nvidia GPU parallel computations capabilities.
CMAKE_OPTS += -DGGML_CPU_ALL_VARIANTS=ON \
-DGGML_BLAS=ON \
- -DGGML_VULKAN=ON \
+ -DGGML_BLAS_VENDOR=OpenBLAS \
-DGGML_RPC=ON \
+ifeq ($(filter pkg.ggml.novulkan,$(DEB_BUILD_PROFILES)),)
+CMAKE_OPTS += -DGGML_VULKAN=ON
+endif
+
+ifeq ($(filter pkg.ggml.nocuda,$(DEB_BUILD_PROFILES)),)
+CMAKE_OPTS += -DGGML_CUDA=ON \
+ -DGGML_CUDA_FORCE_MMQ=ON \
+ -DGGML_CUDA_FA_ALL_QUANTS=OFF \
+ -DCUDAToolkit_ROOT=/usr
+endif
+
+# Use build/ for output, so that it is in the .gitignore of upstream
%:
- dh $@ --buildsystem=cmake
+ dh $@ --buildsystem=cmake \
+ --builddirectory=build/$(DEB_HOST_MULTIARCH)
override_dh_auto_configure:
dh_auto_configure -- $(CMAKE_OPTS)