You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+100Lines changed: 100 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,106 @@ git log --first-parent
11
11
12
12
Please visit our wiki [Changelog](https://github.com/ginkgo-project/ginkgo/wiki/Changelog) for unreleased changes.
13
13
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
+
14
114
## Version 1.10.0
15
115
16
116
The Ginkgo team is proud to announce the new Ginkgo minor release 1.10.0.
0 commit comments