Skip to content

Changelog

Yu-Hsiang M. Tsai edited this page Jun 2, 2026 · 324 revisions

Changelog

This file only contains the currently unreleased functionality. For the complete Changelog of currently released functionality, please visit our CHANGELOG.md instead.

Unreleased

Version support changes

  • After #2003, Ginkgo supports ROCm from 4.5+ to 6.2.0+
  • After #2023, Ginkgo supports oneAPI from 2024.1+

Interface changes

  • No chain LinOp::apply anymore #2001
  • Template parameters other than a value type aren't allowed for preconditioner::Ic and preconditioner::Ilu #1998
  • The apply functions in distributed::RowGatherer take a GenericDenseCache as workspace argument #1996

Behavior changes

Deprecations

  • Distributed matrix functions, get_local_matrix() and get_non_local_matrix() have been deprecated, and the new functions are get_diag_matrix() and get_off_diag_matrix(). We hope that this reduces confusion on their behaviour. #2017

Summary of previous deprecations

  • The experimental::EnableDistributedLinOp has been removed, EnableLinOp can be used instead #1751.
  • The Executor::run overload without a name as first parameter has been deprecated #1667
  • The device_reset parameter of CUDA and HIP executors no longer has an effect, and its allocation_mode parameters have been deprecated in favor of the Allocator interface.
  • The CMake parameter GINKGO_BUILD_DPCPP has been deprecated in favor of GINKGO_BUILD_SYCL.
  • The gko::reorder::Rcm interface has been deprecated in favor of gko::experimental::reorder::Rcm based on Permutation.
  • The Permutation class' permute_mask functionality.
  • Multiple functions with typos (set_complex_subpsace(), range functions such as conj_operaton etc).
  • gko::lend() is not necessary anymore.
  • The classes RelativeResidualNorm and AbsoluteResidualNorm are deprecated in favor of ResidualNorm.
  • The class AmgxPgm is deprecated in favor of Pgm.
  • Default constructors for the CSR load_balance and automatical strategies
  • The PolymorphicObject's move-semantic copy_from variant
  • The templated SolverBase class.
  • The class MachineTopology is deprecated in favor of machine_topology.
  • Logger constructors and create functions with the executor parameter.
  • The virtual, protected, Dense functions compute_norm1_impl, add_scaled_impl, etc.
  • Logger events for solvers and criterion without the additional implicit_tau_sq parameter.
  • The global gko::solver::default_krylov_dim, use instead gko::solver::gmres_default_krylov_dim.
  • array::get_num_elems() has been renamed to get_size()
  • matrix_data::ensure_row_major_order() has been renamed to sort_row_major()
  • device_matrix_data::get_num_elems() has been renamed to get_num_stored_elements()
  • The CMake parameter GINKGO_COMPILER_FLAGS has been superseded by CMAKE_CXX_FLAGS, and GINKGO_CUDA_COMPILER_FLAGS has been superseded by CMAKE_CUDA_FLAGS
  • The std::initializer_list overloads of matrix create methods and constructors are deprecated in favor of explicit array parameters

Added features

  • Minimum iteration stopping criterion that avoids checking the provided inner stopping criteria for the first iterations #1951
  • Add lightweight view representation of Dense #1978, Ell #1991, Coo #1992, Sellp #1993, Hybrid #2004 for kernels
  • Add a RowScatterer class, which enables scattering and accumulation at receiver. It is the inverse of the RowGatherer class #1995
  • Add support for cuDSS for use as a direct solver. #1999
  • Add support for triangular solvers with the DpcppExecutor #2023

Improvements

  • Simplified interface for specifying stopping criteria that doesn't need a ValueType #1947
  • array::resize_and_reset is now exception-safe when the allocation fails #1963

Fixes

  • Fix missing thrust/tuple.h header in CCCL 3.3.3 #2028
  • Fix MSVC nested initializer_list in member initialization list and type name difference #2029

Clone this wiki locally