-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add config validator rule #3
Comments
Turns out our SF logs have some big problems because they didn't log all the data everywhere. |
There is an initial validator that exists. Looks like it doesn't validate:
is useless (We don't support anything other than NODE1 in the timestamp_logger_nodes list). |
Same goes for:
where someone typos the RemoteMessage channel. We should confirm all RemoteMessage channels are in use. |
With 827bd21, I think we are catching the primary categories of issue that we wanted to catch with this. Additional things can be added as needed. |
This patch came out of trying to make `message_bridge_test` less flaky. The test currently fails occasionally without an error message. It just stops. When run under `gdb`, we see the following: ... [New Thread 0x7fffeda496c0 (LWP 59)] I20230806 21:23:50.636907 59 message_bridge_test_lib.cc:28] Started pong [New Thread 0x7fffed3e06c0 (LWP 60)] I20230806 21:23:50.648432 60 message_bridge_test_lib.cc:28] Started ping [New Thread 0x7fffecd776c0 (LWP 61)] I20230806 21:23:50.658921 61 message_bridge_test_lib.cc:28] Started pi1_message_bridge_server I20230806 21:23:50.702045 61 shm_event_loop.cc:1026] Setting priority to 1 [New Thread 0x7fffec70e6c0 (LWP 62)] I20230806 21:23:50.705500 62 message_bridge_test_lib.cc:28] Started pi1_message_bridge_client I20230806 21:23:50.718152 62 shm_event_loop.cc:1026] Setting priority to 1 [New Thread 0x7fffec0a56c0 (LWP 63)] I20230806 21:23:50.724790 63 message_bridge_test_lib.cc:28] Started pi2_message_bridge_client I20230806 21:23:50.735529 63 shm_event_loop.cc:1026] Setting priority to 1 [New Thread 0x7fffeba3c6c0 (LWP 64)] I20230806 21:23:50.739696 64 message_bridge_test_lib.cc:28] Started pi2_message_bridge_server I20230806 21:23:50.751094 64 shm_event_loop.cc:1026] Setting priority to 1 Thread 3 "ping" received signal SIG36, Real-time event 36. [Switching to Thread 0x7fffed3e06c0 (LWP 60)] __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x7fffed3de2f8) at ./nptl/pthread_sigmask.c:43 43 ./nptl/pthread_sigmask.c: No such file or directory. #0 __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x7fffed3de2f8) at ./nptl/pthread_sigmask.c:43 #1 0x00007ffff530c503 in aos::ipc_lib::(anonymous namespace)::wrapped_pthread_sigmask (how=1, set=0xb2cf38, oldset=0x7fffed3de2f8) at aos/ipc_lib/signalfd.cc:65 #2 0x00007ffff530c558 in aos::ipc_lib::SignalFd::~SignalFd (this=0xb2cf30) at aos/ipc_lib/signalfd.cc:113 #3 0x00007ffff58b2c9b in std::default_delete<aos::ipc_lib::SignalFd>::operator() (this=0x7fffffffd4e0, __ptr=0xb2cf30) at external/amd64_debian_sysroot//usr/include/c++/10/bits/unique_ptr.h:85 #4 0x00007ffff58b473c in std::__uniq_ptr_impl<aos::ipc_lib::SignalFd, std::default_delete<aos::ipc_lib::SignalFd> >::reset (this=0x7fffffffd4e0, __p=0x0) at external/amd64_debian_sysroot//usr/include/c++/10/bits/unique_ptr.h:182 #5 0x00007ffff58a535d in std::unique_ptr<aos::ipc_lib::SignalFd, std::default_delete<aos::ipc_lib::SignalFd> >::reset (this=0x7fffffffd4e0, __p=0x0) at external/amd64_debian_sysroot//usr/include/c++/10/bits/unique_ptr.h:456 #6 0x00007ffff58a213e in aos::ShmEventLoop::Run (this=0x7fffffffd200) at aos/events/shm_event_loop.cc:1063 #7 0x00007ffff7eb3980 in aos::message_bridge::testing::ThreadedEventLoopRunner::ThreadedEventLoopRunner(aos::ShmEventLoop*)::$_0::operator()() const ( this=0xaef998) at aos/network/message_bridge_test_lib.cc:30 #8 0x00007ffff7eb382d in std::__invoke_impl<void, aos::message_bridge::testing::ThreadedEventLoopRunner::ThreadedEventLoopRunner(aos::ShmEventLoop*)::$_0>(std::__invoke_other, aos::message_bridge::testing::ThreadedEventLoopRunner::ThreadedEventLoopRunner(aos::ShmEventLoop*)::$_0&&) (__f=...) at external/amd64_debian_sysroot//usr/include/c++/10/bits/invoke.h:60 #9 0x00007ffff7eb37bd in std::__invoke<aos::message_bridge::testing::ThreadedEventLoopRunner::ThreadedEventLoopRunner(aos::ShmEventLoop*)::$_0>(aos::message_bridge::testing::ThreadedEventLoopRunner::ThreadedEventLoopRunner(aos::ShmEventLoop*)::$_0&&) (__fn=...) at external/amd64_debian_sysroot//usr/include/c++/10/bits/invoke.h:95 #10 0x00007ffff7eb3795 in std::thread::_Invoker<std::tuple<aos::message_bridge::testing::ThreadedEventLoopRunner::ThreadedEventLoopRunner(aos::ShmEventLoop*)::$_0> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0xaef998) at external/amd64_debian_sysroot//usr/include/c++/10/thread:264 #11 0x00007ffff7eb3765 in std::thread::_Invoker<std::tuple<aos::message_bridge::testing::ThreadedEventLoopRunner::ThreadedEventLoopRunner(aos::ShmEventLoop*)::$_0> >::operator()() (this=0xaef998) at external/amd64_debian_sysroot//usr/include/c++/10/thread:271 #12 0x00007ffff7eb36c9 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<aos::message_bridge::testing::ThreadedEventLoopRunner::ThreadedEventLoopRunner(aos::ShmEventLoop*)::$_0> > >::_M_run() (this=0xaef990) at external/amd64_debian_sysroot//usr/include/c++/10/thread:215 #13 0x00007ffff7cd44a3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6 #14 0x00007ffff48a8044 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #15 0x00007ffff49285fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Sometimes, as soon as the `ping` thread starts exiting, a wakeup signal arrives. That causes the default signal handler to be called. Which for SIGRT2 is to terminate the program. For most applications that's probably fine in the grand scheme of things, but it's a bit annoying for tests. Especially for `message_bridge_test` which has multiple threads with watchers. I am not 100% convinced that the issue is happening because of a race condition in `lockless_queue.cc`, but it seems the most likely candidate. Quoted from the `LocklessQueueWakeUpper::Wakeup` function: // Grab a copy so it won't change out from underneath us, and we can sort it // nicely in C++. // Do note that there is still a window where the process can die *after* we // read everything. We will still PI boost and send a signal to the thread in // question. There is no way without pidfd's to close this window, and // creating a pidfd is likely not RT. The way I'm reading this is that there's a window between the sender grabbing a copy of the watchers and the watcher unblocking the signal. That window allows for the receiver to be killed before it's finished tearing down. Rough sequence of events: 1. The sender reads the list of watchers from SHMEM. 2. The reader shuts down and unblocks the wakeup signal. 3. The sender sends the wakeup signal to all watchers. 4. The reader invokes the default signal handler for the wakeup signal. By default this causes the process to exit uncleanly immediately. Before this patch, I saw 20-30 tests out of 1000 fail due to this error. After this patch, there are no failures of this kind. Change-Id: I12a18e2977b50b9cb33334373e131ae9774e7579 Signed-off-by: Philipp Schrader <[email protected]>
7f9cc571b Set CMAKE_CUDA_ARCHITECTURES depending on CUDAToolkit_VERSION 6a74af202 Remove a level of indirection when using CellInfo f8c2994da Drop Ubuntu 20.04 and add Ubuntu 24.04 support 20954e693 Eliminate CUDA set but unused variable warning 57aba3ed0 Enable Apple linker library deduplication 1f15197be Drop macos-11 runner and support macos-14 instead 5de0fda0f Update Github actions 308a5bb43 Add missing include 715865101 Remove 32-bit MinGW from CI matrix f71181a92 Remove remaining references to CXSparse 522210a08 Reuse macro to format version string cd2dd06e9 Fix clang16 compiler warnings 1f2e6313a Add missing std qualifiers 125c06882 Link static cuda libs when ceres is build static 62c03d6ff Revert "Update Eigen::BDCSVD usage to comply with Eigen 3.4" 4027f6997 Update Eigen::BDCSVD usage to comply with Eigen 3.4 1b2ebabf5 Typo fixes in the documentation 2ffeb943a Fix typo in AutoDiffManifold comment and docs da34da3da Remove CreateFakeBundleAdjustmentPartitionedJacobian 85b2c418a ClangTidy fixes 91773746b Simplify instantiation of cost functions and their functors 8b88a9ab4 Use C++17 Bessel functions 84436f791 Use native CMake TBB package configuration 556a56f21 Do not assume Homebrew usage 3fd2a72cc MinGW no longer provides a 32-bit METIS package e776a6f1a Unbreak the Bazel build. 095d48392 Skip structure detection on preprocessor failure a0876309a Fix typos in comments 774973731 Fix search on ceres-solver.org 85331393d Update docs for 2.2.0. 2120eae67 Optimize the computation of the LM diagonal in TinySolver 611b139b1 Fix Solver::Options::callbacks type in documentation b652d3b4f Unbreak the windows build b79c4d350 ClangTidy fixes 76af132d0 Update docs for 2.2.0RC3 dc7a85975 Single-threaded operations on small vectors b379ab768 Remove MaxNumThreadsAvailable 354002f98 Schedule task in ParallerFor from the previous task a9b3fcff4 Minor update to docs 5ccab18be Drop use of POSIX M_PI_2 and M_PI_4 4519b8d77 Drop use of POSIX M_PI b83abdcb1 Add a default value for Solver::Summary::linear_solver_ordering_type 8d875a312 Fix checks for CUDA memory pools support 94335e3b9 More ClangTidy fixes 399395c4f Miscellaneous ClangTidy fixes c8bed4b93 Update version_history for 2.2.0rc2 489339219 Rework MSVC warning suppression 0cea191d4 Move stream-ordered memory allocations 8e3b7d89e Fix a copy-pasta error dc0bb8508 Various cleanups to the documentation 4588b0fbb Add an example for EvaluationCallback 0fc3fd4fc Add documentation for examples e6b2f532b Parallelize PSE preconditioner 41672dff8 Add end-to-end BA tests for SCHUR_POWER_SERIES_EXPANSION 83ee376d8 Add an example for IterationCallback 371265094 Cleanup example code 59182a42c Update documentation d4db6e6fe Fix typos in the documentation for EvaluationCallback dffd8cd71 Add an accessor for the CostFunctor in DynamicAutoDiffCostFunction bea247701 Add a missing include dir to the cuda kernels target. 18ea7d1c2 Runtime check for cudaMallocAsync support a227045be Remove cuda-memcheck based tests d10e786ca Remove an unused variable from CudaSparseMatrix 5a30cae58 Preparing for 2.2.0rc1 9cca67127 Enable compatibility with SuiteSparse 7.2.0 a1c02e8d3 Rework the Sphinx find module a57e35bba Require at least CMake 3.16 863db948f Eliminate macOS sprintf warning 6f5342db6 Export ceres_cuda_kernels to project's build tree d864d146f Add macOS 13 runner to Github workflows 01a23504d Add a workaround for CMake Policy CMP0148 de9cbde95 Work around MinGW32 manifold_test segfault 5e4b22f7f Update CudaSparseMatrix class ed9921fc2 Fix Solver::Options in documentation de62bf220 Two minor fixes 5f97455be Fix typos in documentation 5ba62abec Add CUDA support to windows CI builds a98fdf582 Update CMakeLists.txt to fix Windows CUDA build ec4907399 Fix block-sparse to crs conversion on windows 799ee91bb Fix check in CompressedRowJacobianWriter::CreateJacobian() ee90f6cbf Detect large Jacobians and return failure instead of crashing. 310a252fb Deal with infinite initial cost correctly. 357482db7 Add NumTraits::max_digits10 for Jets 908b5b1b5 Fix type mismatch in documentation 75bacedf7 CUDA partitioned matrix view fd6197ce0 Fixed GCC 13.1 compilation errors df97a8f05 Improve support of older CUDA toolkit versions 085214ea7 Fix test CompressedRowSparseMatrix.Transpose d880df09f Match new[] with delete[] in BSM bdee4d617 Block-sparse to CRS conversion using block-structure 0f9de3daf Use page locked memory in BlockSparseMatrix e7bd72d41 Permutation-based conversion from block-sparse to crs abbc4e797 Explicitly compute number of non-zeros in row 96fdfd2e7 Implement tests for Euler conversion with jets db1ebd3ff Work around lack of constexpr constructors for Jet 16a4fa04e Further Jet conversion fixes 92ad18b8a Fix a Jet conversion bug in rotation.h a5e745d4e ClangTidy fixes 77ad8bb4e Change storage in BlockRandomAccessSparseMatrix d340f81bd Clang Tidy fixes 54ad3dd03 Reorganize ParallelFor source files ba360ab07 Change the value of BlockRandomAccessSparseMatrix::kMaxRowBlocks 0315c6ca9 Provide DynamicAutoDiffCostFunction deduction guide 3cdfae110 Replace Hertzberg mentions with citations 0af38a9fc Fix typos in documentation 4c969a6c1 Improve image of loss functions shape b54f05b8e Add missing TukeyLoss to documentation 8bf4a2f42 Inexact check for ParallelAssign test 9cddce73a Explicit conversions from long to int in benchmarks (for num_threads) 5e787ab70 Using const ints in jacobian writers f9bffbb6f Removing -Wshorten-64-to-32 warnings from examples (part 1) e269b64f5 More ClangTidy fixes f4eb768e0 Using int64 in file.cc. Fixing compilation error in array_utils.cc 74a0f0d24 Using int64_t for sizes and indexes in array utils 749a442d9 Clang-Tidy fixes c4ba975ae Fix rotation_test.cc to work with older versions of Eigen 9602ed7b7 ClangFormat changes 79a554ffc Fix a bug in QuaternionRotatePoint. f1113c08a Commenting unused parameters for better readibility 772d927e1 Replacing old style typedefs with new style usings 53df5ddcf Removing using std::... e1ca3302a Increasing bazel timeout for heavy BA tests f982d3071 Fixing bazel build cb6b30662 Use hypot to compute the L^2 norm 1e2a24a8b Update Github actions to avoid deprecation warnings 285e5f9f4 Do not update brew formulae upon install 73d95b03f Clang-Tidy fixes 51d52c3ea Correct epsilon in CUDA QR test changed by last commit. 546f5337b Updates to CUDA dense linear algebra tests 19ab2c179 BlockRandomAccessMatrix Refactor a3a062d72 Add a missing header 2b88bedb2 Remove unused variables 9beea728f Fix a bug in CoordinateDescentMinimizer 8e5d83f07 ClangFormat and ClangTidy changes b15851508 Parallel operations on vectors 2fd81de12 Add build configuration with CUDA on Linux 06bfe6ffa Remove OpenMP and No threading backends. 352b320ab Fixed SuiteSparse 6.0 version parsing 8fd7828e3 ClangTidy fixes 0424615dc Fix PartitionedMatrixView usage in evaluation_benchmark 77a54dd3d Parallel updates to block-diagonal EtE FtF 946fa50de ClangTidy fixes e4bef9505 Refactor PartitionedMatrixView to cache the partitions d3201798e Clean up sparse_cholesky_test addcd342f ClangTidy fixes c2e7002d2 Remove an unused variable from evaluation_benchmark.cc fef6d5875 Parallel left products for PartitionedMatrixView 37a3cb384 Update SuiteSparse in MSVC Github workflow 5d53d1ee3 Parallel for with iteration costs and left product 9aa52c6ff Use FindCUDAToolkit for CMake >= 3.17 47e03a6d8 Add const accessor for Problem::Options used by Problem d6a931009 Clang Tidy Fixes 9364e31ee Fix a regression in SuiteSparse::AnalyzeCholesky 89b3e1f88 Remove unused includes of gflags and gtest 984079003 Fix missing regex dependency for gtest on QNX 6b296f27f Fix missing namespace qualification and docs for Manifold gtest macro 6685e629f AddBlockStructureTranspose to BlockSparseMatrix 699e3f3b3 Fix a link error in evaluation_benchmark.cc 19a3d07f9 Add multiplication benchmarks on BAL data b221b1294 Format code with clang-format. ccf32d70c Purge all remaining references to (defunct) LocalParameterization 5f8c406e2 struct ContextImpl -> class ContextImpl 9893c534c Several cleanups. a78a57472 ClangTidy fixes b1fe60330 Parallel right products for partitioned view 16668eedf Fix a memory leak in ContextImpl d129938d5 Third time is the charm 4129b214a More fixes to cuda_dense_cholesky_test.cc 5c01d2573 Remove unused variables from cuda_dense_cholesky_test.cc 5e877ae69 Fix the Bazel build d89290ffa Fix evalution_benchmark compilability ae7f456e3 ClangTidy fixes 9438c370f Restore the semantics of TrustRegionMinimizer c964fce90 Fix bug in cuda_kernels_test afaad5678 Fix a typo b7116824b Evaluation benchmark 2b89ce66f Add generalized Euler Angle conversions 8230edc6c ClangTidy fixes 9a2894763 Speed up locking when num_threads = 1. 739f2a25a Parallelize block_jacobi_preconditioner c0c4f9394 Change implementation of parallel for fc826c578 CUDA Cleanup 660af905f Fix a bug in TrustRegionMinimizer. 4cd257cf4 Let NumericDiffFirstOrderFunction take a dynamically sized parameter vector 6c27ac6d5 Fix repeated SpMV Benchmark 430a292ac Add a missing include 858b4b89b More ClangTidy fixes e9e995740 ClangTidy fixes 7f8e930a0 Fix lint errors f86a3bdbe Unify Block handling across matrix types 5f1946879 clang-formated source 00a05cf70 CUDA SDK Version-based SpMV Selection de0f74e40 Optimize the BlockCRSJacobiPreconditioner ba65ddd31 Improvements to benchmarks 42352e2e2 Added CUDA Jacobi Preconditioner f802a09ff &foo[0] -> foo.data() 344929647 Add CUDA GPU and Runtime Detection 6085e45be Minor CUDA cleanup. e15ec89f3 Speed up bundle_adjuster 058a72782 One more ClangTidy fix. f6f2f0d16 ClangTidy cleanups Also some clang-format cleanups. 9d74c6913 Fix some more errant CATD warnings a4f744095 Remove an unused variable from compressed_row_sparse_matrix.cc 388c14286 Fix GCC 12.1.1 LTO -Walloc-size-larger-than= warnings 9ec4f7e44 Refactor BlockJacobiPreconditioner adda97acd Fixed a few more missing CERES_NO_CUDA guards 22aeb3584 Fix a missing string assignment in solver.cc 3b891f767 Insert missing CUDA guards. 829089053 CUDA CGNR, Part 4: CudaCgnrSolver 6ab435d77 Fix a missing CERES_NO_CUDA guard c560bc2be CUDA CGNR, Part 3: CudaSparseMatrix c914c7a2b CUDA CGNR, Part 2: CudaVector 3af3dee18 Simplify the implementation to convert from BlockSparseMatrix to CompressedRowSparseMatrix. 242fc0795 Remove unnecessary destructors 737200ac8 Add macos-12 to Github workflow runners 9c968d406 Silence Clang warning 2c78c5f33 Small naming fixups. 2a25d86b0 Integrate schur power series expansion options to bundle adjuster 4642e4b0c Use if constexpr and map SparseMatrix as const 92d837953 Enable usage of schur power series expansion preconditioner. f1dfac8cd Reduce the number of individual PRNG instances 79e403b15 Expand vcpkg installation instructions 7b0bb0e3f ClangTidy cleanups c5c2afcc9 Fix solver_test.cc for preconditioners and sparse linear algebra libraries 07d333fb6 Refactor options checking for linear solvers ba7207b0b A number of small changes. 20e85bbe3 Add power series expansion preconditioner 04899645c LinearOperator::FooMultiply -> LinearOperator::FooMultiplyAndAccumulate 288a3fde6 Add missing virtual destructors to matrix adapters 6483a2b4c Add Sergiu's name to the list of maintainers 1cf49d688 Update FindGlog.cmake to create glog::glog target 1da72ac39 Refactor ConjugateGradientsSolver f62dccdb3 Fix the Sphere and Line Manifold formulations 3e1cc89f6 A bunch of clang-tidy fixes. 80380538a One more CATD fix 560ef46fb A bunch of minor fixes. 67bae28c1 CUDA CGNR, Part 1: Misc. CLeanup 5d0bca14d Remove ceres/internal/random.h in favor of <random> d881b5ccf Minor fixes in comments 37516c968 Fix a bug in InnerProductComputer. d8dad14ee CUDA Cleanup c9d2ec8a9 Updates to sparse block matrix structures to support new sparse linear solvers. 5fe0bd45a Added MinGW to Windows Github workflow 738c027c1 Fix a logic error in iterative_refiner_test cb6ad463d Add mixed precision support for CPU based DenseCholesky df55682ba Fix Eigen error in 2D sphere manifolds Since Eigen does not allow to have a RowMajor column vector (see https://gitlab.com/libeigen/eigen/-/issues/416), the storage order must be set to ColMajor in that case. This fix adds that special case when generating 2D sphere manifolds. 1cf59f61e Set Github workflow NDK path explicitly 68c53bb39 Remove ceres::LocalParameterization 2f660464c Fix build issue with CUDA testing targets when compiling without gflags. c801192d4 Minor fixes ce9e902b8 Fix missing CERES_METIS_VERSION d9a3dfbf2 Add a missing ifdef guard to dense_cholesky_test 5bd43a1fa Speed up DenseSparseMatrix::SquareColumnNorm. cbc86f651 Fix the build when CUDA is not present 5af8e6449 Update year in solver.h 88e08cfe7 Mixed-precision Iterative Refinement Cholesky With CUDA 290b34ef0 Fix optional SuiteSparse + METIS test-suite names to be unique d038e2d83 Fix use of NESDIS with SuiteSparse in tests if METIS is not found 027e741a1 Eliminated MinGW warning 4e5ea292b Fixed MSVC 2022 warning 83f6e0853 Fix use of conditional preprocessor checks within a macro in tests 70f1aac31 Fix fmin/fmax() when using Jets with float as their scalar type 5de77f399 Fix reporting of METIS version 11e637667 Fix #ifdef guards around METIS usage in EigenSparse backend and tests 0c88301e6 Provide optional METIS support f11c25626 Fix fmin/fmax() to use Jet averaging on equality b90053f1a Revert C++17 usage of std::exclusive_scan dfce1e128 Link against threading library only if necessary 69eddfb6d Use find module to link against OpenMP b4803778c Update documentation for linear_solver_ordering_type 2e764df06 Update Cuda memcheck test 443ae9ce2 Update Cuda memcheck test 55b4c3f44 Retain terminal formatting when building docs 786866d9f Generate version string at compile time 5bd83c4ac Unbreak the build with EIGENSPARSE is disabled 2335b5b4b Remove support for CXSparse fbc2eea16 Nested dissection for ACCELERATE_SPARSE & EIGEN_SPARSE d87fd551b Fix Ubuntu 20.04 workflow tests 71717f37c Use glog 0.6 release to run Windows Github workflow 66e0adfa7 Fix detection of sphinx-rtd-theme d09f7e9d5 Enable postordering when computing the sparse factorization. 9b34ecef1 Unbreak the build on MacOS 8ba8fbb17 Remove Solver::Options::use_postordering 30b4d5df3 Fix the ceres.bzl to add missing cc files. 39ec5e8f9 Add Nested Dissection based fill reducing ordering aa62dd86a Fix a build breakage 41c5fb1e8 Refactor suitesparse.h/cc 12263e283 Make the min. required version of SuiteSparse to be 4.5.6 c8493fc36 Convert internal enums to be class enums. bb3a40c09 Add Nested Dissection ordering method to SuiteSparse f1414cb5b Correct spelling in comments and docs. fd2b0ceed Correct spelling (contiguous, BANS) 464abc198 Run Linux Github workflow on Ubuntu 22.04 caf614a6c Modernize code using c++17 constructs be618133e Simplify some template metaprograms using fold expressions. 3b0096c1b Add the ability to specify the pivot threshold in Covariance::Options 40c1a7e18 Fix Github workflows 127474360 Ceres Solver now requires C++17 b5f1b7877 clang-format cleanup 32cd1115c Make the code in small_blas_generic.h more compiler friendly. f68321e7d Update version history b34280207 Fix MSVC small_blas_test failures b246991b6 Update the citation instructions in the docs c0c14abca Fix version history item numbering d23dbac25 Update Windows install guide e669c9fc7 Provide citation file ff57c2e91 Update version history for 2.1.0rc2 ab9436cb9 Workaround MSVC STL deficiency in C++17 mode 97c232857 Update the included gtest to version 1.11.0 4eac7ddd2 Fix Jet lerp test regression 2ffbe126d Fix Jet test failures on ARMv8 with recent Xcode 0d6a0292c Fix unused arguments of Make1stOrderPerturbation 93511bfdc Fix SuiteSparse path and version reporting bf329b30f Fix link to macOS badge 0133dada2 Add Github workflows 3d3d6ed71 Add missing includes 0a9c0df8a Fix path for cuda-memcheck tests ee35ef66f ClangFormat cleanup via scripts/all_format.sh 470515985 Add missing includes for config.h d3612c12c Set CMP0057 policy for IN_LIST operator in FindSuiteSparse.cmake 4bc100c13 Do not define unusable import targets e91995cce Fix Ubuntu 18.04 shared library build 94af09186 Force C++ linker a65e73885 Update installation docs 1a377d707 Fix Ubuntu 20.04 SPQR build 817f5a068 Switch to imported SuiteSparse, CXSparse, and METIS targets b0f32a20d Hide remaining internal symbols 572395098 Add a missing include b0aef211d Allow to store pointers in ProductManifold 9afe8cc45 Small compile fix to context_impl 284be88ca Allow ProductManifold default construction f59059fff Bugfix to CUDA workspace handling 779634164 Fix MSVC linker error 7743d2e73 Store ProductManifold instances in a tuple 9f32c42ba Update Travis-CI status badge to .com from .org eadfead69 Move LineManifold and SphereManifold into their own headers. f0f8f93bb Fix docs inconsistencies e40391efa Update version history in preparation for 2.1.0 6a37fbf9b Add static/compile time sizing to EuclideanManifold 4ad787ce1 Fix the bazel build ae4d95df6 Two small clang-tidy fixes f0851667b Fix MSVC compilation errors c8658c899 Modernize more 46b3495a4 Standardize path handling using GNUInstallDirs 98bc3ca17 Fix shared library build due to missing compile features specification 8fe8ebc3a Add final specifier to public classes 84e1696f4 Add final specifier to internal classes. 518970f81 Context should be exported 09ec4997f Cleanup examples 90e58e10f Add missing #include. 15348abe9 Add CUDA based bundle adjustment tests. 57ec9dc92 Do not enforce a specific C++ standard 99698f053 Fix Apple Clang weak symbols warnings 8e0842162 Add support for dense CUDA solvers #3 aff51c907 Revert "Do not enforce a specific C++ standard" 527c3f7da Fixed gflags dependency d839b7792 Do not enforce a specific C++ standard f71167c62 Fixed missing include in minilog build 47502b833 Miscellaneous CUDA related changes. bb2996681 Check CUDA is available in solver.cc 7d2e4152e Add support for dense CUDA solvers #2 f90833f5f Simplify symbol export c6158e0ab Replace NULL by nullptr 7e4f5a51b Remove blas.h/cc as they are not used anymore. e0fef6ef0 Add cmake option ENABLE_BITCODE for iOS builds 446487c54 Add <memory> header to all files using std::unique_ptr. 9c5f29d46 Use compiler attributes instead of [[deprecated]] 44039af2c Convert factory functions to return std::unique_ptrs. 708a2a723 Silence LocalParameterization deprecation warnings de69e657a Fix another missing declaration warning 677711138 Fix segmentation fault in AVX2 builds 0141ca090 Deprecate LocalParameterizations fdfa5184a Fix missing declaration warning 4742bf386 Add LineManifold. c14f360e6 Drop trivial special members ae65219e0 ClangTidy cleanups a35bd1bf9 Use = default for trivial special members db67e621e Fix dense_cholesky_test.cc comma handling. 484d3414e Replace virtual keyword by override 2092a720e Fix some nits. 36d6d8690 Add support for dense CUDA solvers #1 af5e48c71 Add SphereManifold. 182cb01c5 Normalize Jet classification and comparison 9dbd28989 Loosen tolerances in dense_qr_test.cc cab853fd5 Add DenseQR Interface 8ae054ad9 Fix missing declaration warning in autodiff_manifold_test 408af7b1a Move the constructor and destructor for SchurComplementSolver d51672d1c Move the constructor and destructor for DenseSchurComplementSolver 177b2f99d Use benchmark version 1.6 compatible syntax. ce9669003 Add const accessor for functor wrapped by auto/numeric-diff objects 9367ec9cc Add a benchmark for dense linear solvers. 7d6524daf Support fma Jet a0d81ad63 Fix a bug in AutoDiffManifold 5a99e42e1 ClangTidy fixes 40fb41355 Update .gitignore e6e6ae087 Unbreak the bazel build 0572efc57 Fix a compilation warning in autodiff_manifold.h 475db73d0 Fix build breakage when LAPACK support is disabled. 095c9197f Fix iterative_refiner_test.cc 6d06e9b98 Add DenseCholesky 77c0c4d09 Migrate examples to use Manifolds 19eef54fc Rename Quaternion to QuaternionManifold. Also rename EigenQuaternion to EigenQuaternionManiold. ca6d841c2 Add AutoDiffManifold 97d7e0737 Move the manifold testing matchers to manifold_test_utils.h 16436b34b Fix some more clang-tidy suggestions. dcdefc216 Fix a bunch of clang-tidy suggestions. d8a1b69ab Remove an unused variable from gradient_checker.cc 611b46b54 Remove the use of CHECK_NOTNULL. 125a0e9be LocalParameterization -> Manifold #1 00bfbae11 Add missing algorithm header to manifold.cc 1d5aff059 Refactor jet_tests.cc fbd693091 Fix two unused variable warnings. c0cb42e5f Add Problem::HasParameterization 7e2f9d9d4 Add EigenQuaternion manifold and tests for it. b81a8bbb7 Add the Quaternion manifold and tests. 4a01dcb88 Add more invariants and documentation to manifold_test.cc bdd80fcce Improve Manifold testing ce1537030 Fixed missing headers in manifold.h 23b204d7e LocalParameterization -> Manifold #1 c2fab6502 Fix docs of supported sparse backends for mixed_precision_solves option 8cb441c49 Fix missing declaration warnings in GCC d2b7f337c Remove split.cc from the bazel sources. 206061a6b Use standard c++ types in jet_test.cc 1f374a9fe Support promotion in comparison between Jet and scalars 06e68dbc5 Avoid midpoint overflow in the differential 276d24c73 Fix C++20 compilation b1391e062 Support midpoint Jet 8426526df Support lerp Jet 57c279689 support 3-argument hypot jet 123fba61c Eigen::MappedSparseMatrix -> Eigen::Map<Eigen::SparseMatrix> 3f950c66d reworked copysign tests 48cb54d1b fix fmin and fmax NaN handling 552a4e517 support log10 jet 4e49c5422 reuse expm1 result for differential 8d3e64dd5 Use modern-style Eigen3 CMake variables 2fba61434 support log1p and expm1 jet a668cabbc support norm jet a3a4b6d77 support copysign jet b75dac169 fix abs jet test comment 034bf566f use copysign for abs jet 31008453f Add example for BiCubicInterpolator 7ef4a1221 Add a section on implicit and inverse function theorems 686428f5c Move the further reading section to bibliography e47d87fdd Add a note about Trigg's correction d2852518d Fix the docs for Problem::RemoveResidualBlock & Problem::RemoveParameterBlock 06e02a173 Delete unused files split.h/cc ac7268da5 Fix an 80cols issue in covariance_impl.cc 17dccef91 Add NumericDiffFirstOrderFunction 03d64141a Fix a incorrect check in reorder_program.cc 884111913 Two changes to TinySolver 4dff3ea2c Fix a number of typos in rotation.h 98719ced4 Fix a type in interfacing_with_autodiff.html 0299ce944 Update conf.py to be compatible with Sphinx 4.1.2 2a2b9bd6f Fix a bug in covariance_impl.cc 27fade7b8 Fix a bug in system_test.cc d4eb83ee5 Fix the Jacobian in trust_region_minimizer_test.cc 5f6071a1c Fix a bug in local_parameterization_test.cc b2e732b1e Fix errors in comments from William Gandler. 42f1d6717 Add accessors to GradientProblem aefd37b18 Refactor small_blas_gemm_benchmark dc20db303 [docs] Fix `IterationSummary` section. Add missing `IterationCallback` 90ba7d1ef [docs] Fix typos c3129c3d4 Fix tests not executing 7de561e8e Fix dependency check for building documentation 4fbe218f2 Refactor small_blas_test 3fdde8ede Remove an errant double link. 20ad431f7 Fixing a typo in the version history 0c85c4092 Revert "Reduce copies involved in Jet operations" 3a02d5aaf Fix typo in LossFunctionWrapper sample code 7b2c223be Add fmax/fmin overloads for scalars c036c7819 Reduce copies involved in Jet operations 51945e061 Introduce benchmark for Jet operations ec4f2995b Do not check MaxNumThreadsAvailable if the thread number is set to 1. 98f639f54 Add a macro CERES_GET_FLAG. 766f2cab5 Reduce log spam in covariance_impl.cc. 941ea1347 Fix FindTBB version detection with TBB >= 2021.1.1 323c350a6 fix Eigen3_VERSION 2b32b3212 Revert "Group specializations into groups of four" 313caf1ae Allow Unity build. 4ba244cdb Group specializations into groups of four d77a8100a Make miniglog's InitGoogleLogging argument const. 863724994 Use portable expression for constant 2/sqrt(pi) 97873ea65 Add some missing includes for glog/logging.h d15b1bcd3 Increase tolerance in small_blas_test.cc 17cf01831 Hide 'format not a string literal' error in examples 64029909b Fix -Wno-maybe-uninitialized error 21294123d Fix nonnull arg compared to NULL error. 1dd417410 Fix -Wno-format-nonliteral 6c106bf51 Fix -Wmissing-field-initializers error c48a32792 Use cc_binary includes so examples build as external repo e0e14a5cd Fix errors found by -Werror e84cf10e1 Fix an errant double in TinySolver. 66b4c33e8 updated unit quaternion rotation d45ec47b5 Fix a typo in schur_eliminator.h Change-Id: I60db062e44d051d50dbb3a145eec2f74d5190481 git-subtree-dir: third_party/ceres git-subtree-split: 7f9cc571b03632f1df93ea35725a1f5dfffe2c72 Signed-off-by: Austin Schuh <[email protected]>
And a rule that creates a test to confirm that, for a given config:
--skip_missing_forwarding_entries
)--note that this should be configurable, because you may only care about this for a few nodes.The text was updated successfully, but these errors were encountered: