Skip to content

Commit 49bff36

Browse files
committed
[release] update changelog
1 parent cca20a4 commit 49bff36

1 file changed

Lines changed: 100 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,106 @@ git log --first-parent
1111

1212
Please visit our wiki [Changelog](https://github.com/ginkgo-project/ginkgo/wiki/Changelog) for unreleased changes.
1313

14+
## Version 1.11.0
15+
16+
The Ginkgo team is proud to announce the new Ginkgo minor release 1.11.0.
17+
This release brings new features such as:
18+
- New interface for sparse matrix-matrix multiplication and addition. The new interface can yield speedups, in the case
19+
of repeated computations where the matrix values may change, but the matrix structure (i.e. position of non-zero
20+
entries) doesn't.
21+
- Performance improvements for the distributed SpMV and pipelined CG solver.
22+
- Better support for ARM platforms and support for ROCm 7 and CUDA 13.
23+
24+
And more!
25+
26+
If you face an issue, please first check our [known issues page](https://github.com/ginkgo-project/ginkgo/wiki/Known-Issues) and the [open issues list](https://github.com/ginkgo-project/ginkgo/issues) and if you do not
27+
find a solution, feel free to [open a new issue](https://github.com/ginkgo-project/ginkgo/issues/new/choose) or ask a question using the [github discussions](https://github.com/ginkgo-project/ginkgo/discussions).
28+
29+
Supported systems and requirements:
30+
+ For all platforms, CMake 3.16+
31+
+ C++17 compliant compiler
32+
+ Linux and macOS
33+
+ GCC: 7.0+
34+
+ clang: 5.0+
35+
+ Intel compiler: 2019+
36+
+ Apple Clang: 15.0 is tested. Earlier versions might also work.
37+
+ NVHPC: 22.7+
38+
+ Cray Compiler: 14.0.1+
39+
+ CUDA module: CMake 3.18+, and CUDA 11.0+ or NVHPC 22.7+, Compute Capability 5.3+
40+
+ HIP module: CMake 3.21+, and ROCm 4.5+
41+
+ DPC++ module: Intel oneAPI 2023.1+ with oneMKL and oneDPL. Set the CXX compiler to `dpcpp` or `icpx`.
42+
+ MPI: standard version 3.1+, ideally GPU Aware, for best performance
43+
+ Windows
44+
+ MinGW: GCC 7.0+
45+
+ Microsoft Visual Studio: VS 2019+
46+
+ CUDA module: CUDA 11.0+, Microsoft Visual Studio
47+
+ OpenMP module: MinGW.
48+
49+
### Behavior changes
50+
51+
+ The dummy Git hook that was installed by default to prevent wrongly formatted commits has been removed [#1873](https://github.com/ginkgo-project/ginkgo/pull/1873)
52+
+ The default choice of a collective communicator implementation is a dense communicator rather than a neighborhood communicator. This can be overridden by using a new `distributed::Matrix::create` overload [#1949](https://github.com/ginkgo-project/ginkgo/pull/1949).
53+
54+
### Summary of previous deprecations
55+
56+
+ The `experimental::EnableDistributedLinOp` has been removed, `EnableLinOp` can be used instead [#1751](https://github.com/ginkgo-project/ginkgo/pull/1751).
57+
+ The `Executor::run` overload without a name as first parameter has been deprecated [#1667](https://github.com/ginkgo-project/ginkgo/pull/1667)
58+
+ 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.
59+
+ The CMake parameter `GINKGO_BUILD_DPCPP` has been deprecated in favor of `GINKGO_BUILD_SYCL`.
60+
+ The `gko::reorder::Rcm` interface has been deprecated in favor of `gko::experimental::reorder::Rcm` based on `Permutation`.
61+
+ The Permutation class' `permute_mask` functionality.
62+
+ Multiple functions with typos (`set_complex_subpsace()`, range functions such as `conj_operaton` etc).
63+
+ `gko::lend()` is not necessary anymore.
64+
+ The classes `RelativeResidualNorm` and `AbsoluteResidualNorm` are deprecated in favor of `ResidualNorm`.
65+
+ The class `AmgxPgm` is deprecated in favor of `Pgm`.
66+
+ Default constructors for the CSR `load_balance` and `automatical` strategies
67+
+ The PolymorphicObject's move-semantic `copy_from` variant
68+
+ The templated `SolverBase` class.
69+
+ The class `MachineTopology` is deprecated in favor of `machine_topology`.
70+
+ Logger constructors and create functions with the `executor` parameter.
71+
+ The virtual, protected, Dense functions `compute_norm1_impl`, `add_scaled_impl`, etc.
72+
+ Logger events for solvers and criterion without the additional `implicit_tau_sq` parameter.
73+
+ The global `gko::solver::default_krylov_dim`, use instead `gko::solver::gmres_default_krylov_dim`.
74+
+ `array::get_num_elems()` has been renamed to `get_size()`
75+
+ `matrix_data::ensure_row_major_order()` has been renamed to `sort_row_major()`
76+
+ `device_matrix_data::get_num_elems()` has been renamed to `get_num_stored_elements()`
77+
+ 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`
78+
+ The `std::initializer_list` overloads of matrix `create` methods and constructors are deprecated in favor of explicit `array` parameters
79+
80+
### Added features
81+
+ The distributed `Vector` supports creating a non-owning sub-vector [#1894](https://github.com/ginkgo-project/ginkgo/pull/1894).
82+
+ The solver benchmark has a new option to test solvers without repeated initialization [#1881](https://github.com/ginkgo-project/ginkgo/pull/1881), [#1916](https://github.com/ginkgo-project/ginkgo/pull/1916).
83+
+ New sparse matrix-matrix multiplication and addition interfaces, including ones that support value updates without structural changes [#1934](https://github.com/ginkgo-project/ginkgo/pull/1934).
84+
85+
### Improvements
86+
+ The file config is checked for invalid entries [#1792](https://github.com/ginkgo-project/ginkgo/pull/1792).
87+
+ Allows `gko::write` for generic LinOps [#1937](https://github.com/ginkgo-project/ginkgo/pull/1937).
88+
+ Improves the config error messages [#1944](https://github.com/ginkgo-project/ginkgo/pull/1944).
89+
+ Improves the support for `Coo` as non-local matrix type in the distributed matrix [#1883](https://github.com/ginkgo-project/ginkgo/pull/1883).
90+
+ Adds more options to the BLAS and solver benchmarks [#1884](https://github.com/ginkgo-project/ginkgo/pull/1884).
91+
+ Merges dot products in the pipelined CG algorithm [#1908](https://github.com/ginkgo-project/ginkgo/pull/1908).
92+
+ Allows specifying stopping criterion parameters with arguments involving narrowing conversions, so that builds are no longer failing with iteration counts of type `int` [#1941](https://github.com/ginkgo-project/ginkgo/pull/1941).
93+
+ Improves the error messages for unsupported ValueType or IndexType [#1945](https://github.com/ginkgo-project/ginkgo/pull/1945).
94+
+ Improves the overlapping of communication and computation in the distributed SpMV by submitting the local SpMV kernel before waiting for the row gatherer to complete [#1882](https://github.com/ginkgo-project/ginkgo/pull/1882).
95+
+ Supports ARM, ROCm 7, and CUDA 13 with CI validation [#1954](https://github.com/ginkgo-project/ginkgo/pull/1954).
96+
+ Improves the apply logging message in the profiler hook to also include the arguments of the apply [#1921](https://github.com/ginkgo-project/ginkgo/pull/1921).
97+
98+
### Fixes
99+
+ Fixes an error when running with MPICH-based MPI implementations [#1875](https://github.com/ginkgo-project/ginkgo/pull/1875).
100+
+ Fixes the inverse iteration example [#1878](https://github.com/ginkgo-project/ginkgo/pull/1878).
101+
+ Fixes ginkgo CMake `try_compile` variable used by the other project with newer CMake [#1895](https://github.com/ginkgo-project/ginkgo/pull/1895).
102+
+ Fixes a missing `typename` issue from MSVC with CUDA [#1904](https://github.com/ginkgo-project/ginkgo/pull/1904).
103+
+ Fixes a strict alias issue [#1903](https://github.com/ginkgo-project/ginkgo/pull/1903).
104+
+ Fixes compilation with MSVC and Intel MPI [#1906](https://github.com/ginkgo-project/ginkgo/pull/1906)
105+
+ Fixes the handling of unsupported CUDA architectures in several functions concerning `float16` and `bfloat16` [#1853](https://github.com/ginkgo-project/ginkgo/pull/1853).
106+
+ Fixes a bug in the matrix assembly for GPU-aware MPI [#1887](https://github.com/ginkgo-project/ginkgo/pull/1887).
107+
+ Fixes a clang 16 issue regarding `dynamic_cast` to a `final` class [#1924](https://github.com/ginkgo-project/ginkgo/pull/1924).
108+
+ Fixes CUDA 13 building issue [#1926](https://github.com/ginkgo-project/ginkgo/pull/1926).
109+
+ Fixes a bug in ParILUT threshold select for larger matrices on GPUs [#1877](https://github.com/ginkgo-project/ginkgo/pull/1877).
110+
+ Fixes the type names of the Kokkos SYCL executor and memory spaces [#1940](https://github.com/ginkgo-project/ginkgo/pull/1940).
111+
+ Fixes the sanitization of numeric values in matrix statistics benchmark [#1950](https://github.com/ginkgo-project/ginkgo/pull/1950).
112+
113+
14114
## Version 1.10.0
15115

16116
The Ginkgo team is proud to announce the new Ginkgo minor release 1.10.0.

0 commit comments

Comments
 (0)