Bug#1059953: libceres3: ceres-solver built without CUDA support

2024-01-05 Thread Francois Mazen

Hi Kip,

> Perhaps another option is having a libceres-cuda-dev / libceres3-cuda
> packages that are built with CUDA?

Makes sense! However, it requires a brand new source package ceres-solver-cuda
to generate these CUDA specific binary packages which will be in the "contrib"
area. This would be similar to pytorch [1] and the pytorch-cuda dedicated
package [2].

If this matter to you and you want to push it forward, feel free to open an RFP
or ITP bug [3]. You may also contact the Debian AI Team because they have some
experience with such CPU/GPU package variants.

Best,
François

[1] https://tracker.debian.org/pkg/pytorch
[2] https://tracker.debian.org/pkg/pytorch-cuda
[3] https://wiki.debian.org/RFP


signature.asc
Description: This is a digitally signed message part


Bug#1059953: libceres3: ceres-solver built without CUDA support

2024-01-04 Thread Kip Warner
On Thu, 2024-01-04 at 16:17 +0100, Francois Mazen wrote:
> The nvidia-cuda-dev package is part of the non-free area in the
> Debian archive [1] because if does not comply with the DFSG [2].
> If we set it as a build dependency of ceres-solver (and also the
> nvidia runtime as a package dependency), it would move ceres-solver
> from the "main" area to the "contrib" area of the Debian archive [3]
> which is likely unwanted.

Perhaps another option is having a libceres-cuda-dev / libceres3-cuda
packages that are built with CUDA?

-- 
Kip Warner
OpenPGP signed/encrypted mail preferred
https://www.thevertigo.com


signature.asc
Description: This is a digitally signed message part


Bug#1059953: libceres3: ceres-solver built without CUDA support

2024-01-04 Thread Francois Mazen
Hi Kip,

> I think the solution is to simply explicitly add nvidia-cuda-dev to the Build-
> Depends stanza of of the ceres-solver source package in debian/control.

The nvidia-cuda-dev package is part of the non-free area in the Debian archive
[1] because if does not comply with the DFSG [2].
If we set it as a build dependency of ceres-solver (and also the nvidia runtime
as a package dependency), it would move ceres-solver from the "main" area to the
"contrib" area of the Debian archive [3] which is likely unwanted.

For GPU acceleration in Debian, you may ask Ceres developers to support free
alternatives like ROCm/HIP, OpenCL or SYCL. Otherwise, you would have to build
the ceres-solver package yourself using the CMake CUDA flag.

Best,
François

[1] https://tracker.debian.org/pkg/nvidia-cuda-toolkit
[2] https://wiki.debian.org/DebianFreeSoftwareGuidelines
[3] https://www.debian.org/doc/debian-policy/ch-archive.html#archive-areas



signature.asc
Description: This is a digitally signed message part


Bug#1059953: libceres3: ceres-solver built without CUDA support

2024-01-03 Thread Kip Warner
Package: libceres3
Version: 2.1.0+really2.1.0+dfsg-2
Severity: wishlist
X-Debbugs-Cc: k...@thevertigo.com

Dear Maintainer,

The current ceres-solver source package may not always build with CUDA support,
even though it is enabled by default. In upstream's CMakeLists.txt CUDA is
enabled by default, but if it is not found it will silently continue building
with CUDA disabled.

The CUDA headers and libraries are not in the package's list of build
dependencies. It might be present anyways by accident on the system because
something else pulled it.

I think the solution is to simply explicitly add nvidia-cuda-dev to the Build-
Depends stanza of of the ceres-solver source package in debian/control.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 
'mantic'), (100, 'mantic-proposed'), (100, 'mantic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.5.0-14-generic (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libceres3 depends on:
ii  libatlas3-base [liblapack.so.3]3.10.3-13ubuntu1
ii  libc6  2.38-1ubuntu6
ii  libcxsparse4   1:7.1.0+dfsg-3
ii  libgcc-s1  13.2.0-4ubuntu3
ii  libgoogle-glog0v6  0.6.0-2
ii  liblapack3 [liblapack.so.3]3.11.0-2build1
ii  libopenblas0-pthread [liblapack.so.3]  0.3.23+ds-3
ii  libstdc++6 13.2.0-4ubuntu3

libceres3 recommends no packages.

libceres3 suggests no packages.

-- no debconf information