forked from pool/ceres-solver
Accepting request 1063158 from home:StefanBruens:branches:science
- Update to version 2.1.0. * New Features: + Support for CUDA based dense solvers - DENSE_QR, DENSE_NORMAL_CHOLESKY & DENSE_SCHUR (Joydeep Biswas, Sameer Agarwal) + Manifold is the new LocalParameterization. Version 2.1 is the transition release where users can use both LocalParameterization as well as Manifold objects as they transition from the former to the latter. LocalParameterization will be removed in version 2.2. There should be no numerical change to the results as a result of this change. (Sameer Agarwal, Johannes Beck, Sergiu Deitsch) + A number of changes to Jet s (Sergiu Deitsch): - Jet gained support for, copysign, fma (fused multiply-add), midpoint (C++20 and above), lerp (C++20 and above), 3-argument hypot (C++17 and above), log10, log1p, exp1m, norm (squared norm). - Quiet floating-point comparison: isless, isgreater, islessgreater, islessequal, isgreaterequal, isunordered, signbit, fdim - Categorization and comparison operations are applied exclusively and consistently to the scalar part of a Jet now: isnan, isinf, isnormal, isfinite, fpclassify (new), fmin, fmax - It is now possible to safely compare a Jet against a scalar (or literal) without constructing a Jet first (even if it’s nested) This enables interaction with various arithmetic functions that expect a scalar like instance, such as boost::math::pow<-N> for reciprocal computation. + Add NumericDiffFirstOrderFunction (Sameer Agarwal) * Backward Incompatible API Changes: + LocalParameterization is deprecated. It will be removed in version 2.2. Use Manifold instead. + Classification functions like IsFinite are deprecated. Use the C++11 functions (isfinite, isnan etc) going forward. However to maintain consistent behaviour with comparison operators, these functions only inspect the scalar part of the Jet. * Many Bug Fixes & Minor Changes, for details, see http://ceres-solver.org/version_history.html - Drop upstream fix-tbb-2021.1-detection.patch - Use memory-constrains to avoid occasional OOM build failures OBS-URL: https://build.opensuse.org/request/show/1063158 OBS-URL: https://build.opensuse.org/package/show/science/ceres-solver?expand=0&rev=11
This commit is contained in:
parent
b6f36e1cfc
commit
8c8c1cf2c1
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:10298a1d75ca884aa0507d1abb0e0f04800a92871cd400d4c361b56a777a7603
|
||||
size 11225245
|
3
ceres-solver-2.1.0.tar.gz
Normal file
3
ceres-solver-2.1.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f7d74eecde0aed75bfc51ec48c91d01fe16a6bf16bce1987a7073286701e2fc6
|
||||
size 3802187
|
@ -1,3 +1,51 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 4 11:16:58 UTC 2023 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||
|
||||
- Update to version 2.1.0.
|
||||
* New Features:
|
||||
+ Support for CUDA based dense solvers - DENSE_QR,
|
||||
DENSE_NORMAL_CHOLESKY & DENSE_SCHUR (Joydeep Biswas,
|
||||
Sameer Agarwal)
|
||||
+ Manifold is the new LocalParameterization. Version 2.1 is
|
||||
the transition release where users can use both
|
||||
LocalParameterization as well as Manifold objects as they
|
||||
transition from the former to the latter.
|
||||
LocalParameterization will be removed in version 2.2.
|
||||
There should be no numerical change to the results as a
|
||||
result of this change. (Sameer Agarwal, Johannes Beck,
|
||||
Sergiu Deitsch)
|
||||
+ A number of changes to Jet s (Sergiu Deitsch):
|
||||
- Jet gained support for, copysign, fma (fused multiply-add),
|
||||
midpoint (C++20 and above), lerp (C++20 and above),
|
||||
3-argument hypot (C++17 and above), log10, log1p, exp1m,
|
||||
norm (squared norm).
|
||||
- Quiet floating-point comparison: isless, isgreater,
|
||||
islessgreater, islessequal, isgreaterequal, isunordered,
|
||||
signbit, fdim
|
||||
- Categorization and comparison operations are applied
|
||||
exclusively and consistently to the scalar part of a
|
||||
Jet now: isnan, isinf, isnormal, isfinite, fpclassify
|
||||
(new), fmin, fmax
|
||||
- It is now possible to safely compare a Jet against a
|
||||
scalar (or literal) without constructing a Jet first
|
||||
(even if it’s nested)
|
||||
This enables interaction with various arithmetic functions
|
||||
that expect a scalar like instance, such as
|
||||
boost::math::pow<-N> for reciprocal computation.
|
||||
+ Add NumericDiffFirstOrderFunction (Sameer Agarwal)
|
||||
* Backward Incompatible API Changes:
|
||||
+ LocalParameterization is deprecated. It will be removed
|
||||
in version 2.2. Use Manifold instead.
|
||||
+ Classification functions like IsFinite are deprecated.
|
||||
Use the C++11 functions (isfinite, isnan etc) going
|
||||
forward. However to maintain consistent behaviour with
|
||||
comparison operators, these functions only inspect the
|
||||
scalar part of the Jet.
|
||||
* Many Bug Fixes & Minor Changes, for details, see
|
||||
http://ceres-solver.org/version_history.html
|
||||
- Drop upstream fix-tbb-2021.1-detection.patch
|
||||
- Use memory-constrains to avoid occasional OOM build failures
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 21 02:16:20 UTC 2022 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package ceres-solver
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -16,19 +16,19 @@
|
||||
#
|
||||
|
||||
|
||||
%define sover 2
|
||||
%define sover 3
|
||||
Name: ceres-solver
|
||||
Version: 2.0.0
|
||||
Version: 2.1.0
|
||||
Release: 0
|
||||
Summary: C++ library for modeling and solving optimization problems
|
||||
License: Apache-2.0 AND BSD-3-Clause AND MIT
|
||||
Group: Development/Libraries/C and C++
|
||||
URL: http://ceres-solver.org/
|
||||
Source: http://ceres-solver.org/%{name}-%{version}.tar.gz
|
||||
Patch0: https://github.com/ceres-solver/ceres-solver/commit/941ea13475913ef8322584f7401633de9967ccc8.patch#/fix-tbb-2021.1-detection.patch
|
||||
BuildRequires: cmake >= 3.5.0
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: glog-devel >= 0.3.1
|
||||
BuildRequires: memory-constraints
|
||||
BuildRequires: suitesparse-devel
|
||||
BuildRequires: pkgconfig(eigen3) >= 3.3.0
|
||||
|
||||
@ -72,6 +72,9 @@ This package is built with Eigen only.
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
# _constraints/memoryperjob can not be increased without
|
||||
# rejecting too many workers (even most on some archs)
|
||||
%limit_build -m 1500
|
||||
%cmake \
|
||||
-DCXSPARSE=ON \
|
||||
-DSUITESPARSE=ON \
|
||||
@ -94,6 +97,7 @@ This package is built with Eigen only.
|
||||
%{_libdir}/libceres.so
|
||||
|
||||
%files -n libceres%{sover}
|
||||
%{_libdir}/libceres.so.%{sover}*
|
||||
%{_libdir}/libceres.so.%{sover}
|
||||
%{_libdir}/libceres.so.%{version}
|
||||
|
||||
%changelog
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 941ea13475913ef8322584f7401633de9967ccc8 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Stewart <alexs.mac@gmail.com>
|
||||
Date: Mon, 15 Mar 2021 14:17:59 +0000
|
||||
Subject: [PATCH] Fix FindTBB version detection with TBB >= 2021.1.1
|
||||
|
||||
- Raised as issue #669
|
||||
|
||||
Change-Id: Ic2fcaf31aef5e303d19a9caef7d6c679325f554a
|
||||
---
|
||||
cmake/FindTBB.cmake | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake
|
||||
index 5ae7b6156..10e540da0 100644
|
||||
--- a/cmake/FindTBB.cmake
|
||||
+++ b/cmake/FindTBB.cmake
|
||||
@@ -429,10 +429,23 @@ findpkg_finish(TBB_MALLOC_PROXY tbbmalloc_proxy)
|
||||
#=============================================================================
|
||||
#parse all the version numbers from tbb
|
||||
if(NOT TBB_VERSION)
|
||||
+ set(TBB_VERSION_FILE_PRIOR_TO_TBB_2021_1
|
||||
+ "${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h")
|
||||
+ set(TBB_VERSION_FILE_AFTER_TBB_2021_1
|
||||
+ "${TBB_INCLUDE_DIR}/oneapi/tbb/version.h")
|
||||
+
|
||||
+ if (EXISTS "${TBB_VERSION_FILE_PRIOR_TO_TBB_2021_1}")
|
||||
+ set(TBB_VERSION_FILE "${TBB_VERSION_FILE_PRIOR_TO_TBB_2021_1}")
|
||||
+ elseif (EXISTS "${TBB_VERSION_FILE_AFTER_TBB_2021_1}")
|
||||
+ set(TBB_VERSION_FILE "${TBB_VERSION_FILE_AFTER_TBB_2021_1}")
|
||||
+ else()
|
||||
+ message(FATAL_ERROR "Found TBB installation: ${TBB_INCLUDE_DIR} "
|
||||
+ "missing version header.")
|
||||
+ endif()
|
||||
|
||||
#only read the start of the file
|
||||
file(STRINGS
|
||||
- "${TBB_INCLUDE_DIR}/tbb/tbb_stddef.h"
|
||||
+ "${TBB_VERSION_FILE}"
|
||||
TBB_VERSION_CONTENTS
|
||||
REGEX "VERSION")
|
||||
|
Loading…
Reference in New Issue
Block a user