-
Notifications
You must be signed in to change notification settings - Fork 90
Changelog
Yu-Hsiang M. Tsai edited this page Dec 2, 2024
·
221 revisions
This file only contains the currently unreleased functionality. For the complete Changelog of currently released functionality, please visit our CHANGELOG.md instead.
- Ginkgo now requires a compiler with C++ 17 support #1603
- 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 itsallocation_mode
parameters have been deprecated in favor of theAllocator
interface. - The CMake parameter
GINKGO_BUILD_DPCPP
has been deprecated in favor ofGINKGO_BUILD_SYCL
. - The
gko::reorder::Rcm
interface has been deprecated in favor ofgko::experimental::reorder::Rcm
based onPermutation
. - The Permutation class'
permute_mask
functionality. - Multiple functions with typos (
set_complex_subpsace()
, range functions such asconj_operaton
etc). -
gko::lend()
is not necessary anymore. - The classes
RelativeResidualNorm
andAbsoluteResidualNorm
are deprecated in favor ofResidualNorm
. - The class
AmgxPgm
is deprecated in favor ofPgm
. - Default constructors for the CSR
load_balance
andautomatical
strategies - The PolymorphicObject's move-semantic
copy_from
variant - The templated
SolverBase
class. - The class
MachineTopology
is deprecated in favor ofmachine_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 insteadgko::solver::gmres_default_krylov_dim
. -
array::get_num_elems()
has been renamed toget_size()
-
matrix_data::ensure_row_major_order()
has been renamed tosort_row_major()
-
device_matrix_data::get_num_elems()
has been renamed toget_num_stored_elements()
- The CMake parameter
GINKGO_COMPILER_FLAGS
has been superseded byCMAKE_CXX_FLAGS
, andGINKGO_CUDA_COMPILER_FLAGS
has been superseded byCMAKE_CUDA_FLAGS
- The
std::initializer_list
overloads of matrixcreate
methods and constructors are deprecated in favor of explicitarray
parameters
- Add
Executor::get_description()
for textual representation of the device #1615 - Add row and column scaling functionality to the distributed matrix #1640
- Add
SolverProgress
logger printing out or storing to disk the individual scalars (and vectors) of an iterative solvers after each iteration #1620 - Add new
ortho_method
parameter for GMRES, with classical Gram-Schmidt and classical Gram-Schmidt with re-orthogonalization options in addition to previously-available modified Gram-Schmidt #1646 - Add file config support for Schwarz #1658
- Add overload for
Executor::run
which accepts a name and a closure for the ReferenceExecutor as the first two arguments #1667 - Add function to fill
device_matrix_data
with zeros #1683 - Add (S)SOR and Gauss-Seidel preconditioner #1633, #1634
- Add support for additive
read_distributed
for the distriubted matrix #1650 - Add Ginkgo's own ILU and IC implementation #1684
- Add Nvidia ada architecture #1733
- Add half precision support #1706, #1708, #1711, #1712, #1713, #1716
- Add workspace in residual norm check #1687, which reduces the alloc/free and corresponding overhead.
- Add distributed
VectorCache
and use it as workspace inSchwarz
#1688. - Add example to show the file config usage #1662
- Improve compile time for batched solvers #1629
- Reduce the thrust conflict possibility by adding custom thrust namespace #1730
- Fix the algorithm usage of transposed triangular solver, which is the same as the original one not the default algorithm #1641
- Fix the inconsistent behavior on the zero diagonal value in scalar Jacobi #1642
- Fix an issue related to GCR and non-default strides in the rhs vector #1656
- Fix an issue related to triangular solvers with CUDA on Windows #1665
- Fix an issue where non-conforming MatrixMarket files were parsed without an error #1628
- Fix finding rocthrust if it's not installed paths included by default #1668
- Fix the casting issue in mixed-precision multigrid setup #1663
- Fix some test failures with ROCm 6.x #1670
- Fix the race condition in bicgstab #1676
- Fix an issue with MGS GMRES for complex numbers #1678
- Fix finding ROCm on recent ROCm version (5.0+) #1673
- Fix compiler error when using NVHPC with MPI enabled #1697
- Fix build issue of OMP backend when using HIPCC as C++ compiler #1695
- Fix build issue for Intel OneAPI 2025.0 #1718
- Fix inconsitent function and class/struct, which mainly fixes clang-cl #1725
- Fix undefined symbols in shared library in msys2/clang #1724
- Fix page fault issues when running on multiple Intel GPUs in parallel #1723
Tutorial: Building a Poisson Solver
- Getting Started
- Implement: Matrices
- Implement: Solvers
- Optimize: Measuring Performance
- Optimize: Monitoring Progress
- Optimize: More Suitable Matrix Formats
- Optimize: Using a Preconditioner
- Optimize: Using GPUs
- Customize: Loggers
- Customize: Stopping Criterions
- Customize: Matrix Formats
- Customize: Solvers
- Customize: Preconditioners