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
+33-8Lines changed: 33 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -26,16 +26,41 @@ All notable changes to this project will be documented in this file.
26
26
27
27
## Unreleased
28
28
29
+
## [0.9.0] - 2024-09-19
30
+
29
31
### Added
30
32
31
-
-`set_delay_dense_computation` to `HMatrix`
33
+
- The old implementation of `HMatrix` was mixing the distributed operations and compression via hierarchical matrices. This is fixed by replacing `HMatrix` by:
34
+
-`DistributedOperator` which contains a list of local operators and implements all the distributed operations,
35
+
-`VirtualLocalOperator` which is the interface local operators must satisfy,
36
+
-`LocalDenseMatrix` is an example of local operator consisting of a dense matrix `Matrix`,
37
+
- and `LocalHMatrix` is an example of local operator consisting of a hierarchical matrix based on `HMatrix` (different from the previous `HMatrix`, see below).
38
+
- Utility classes that help build `DistributedOperator` and `DDM` objects are available, for example: `DefaultApproximationBuilder` and `DDMSolverBuilder`. They do all the wiring between the inner interfaces between Htool-DDM's objects, see `include/htool/istributed_operator/utility.hpp` and `include/htool/solvers/utility.hpp`.
39
+
- Formatter has been added, see `.clang_format`.
40
+
- A logger has been added with `Logger`. Its output can be customizerd via `IObjectWriter`.
32
41
33
42
### Changed
34
43
35
-
### Fixed
44
+
-`HMatrix` is now a class representing a hierarchical matrix without distributed-memory parallelism (note that it can still use shared-memory parallelism):
45
+
- It inherits from `TreeNode`, and it provides the algebra related to hierarchical matrices via free functions:
46
+
- product with vector and matrix (threaded with OpenMP),
47
+
- and with this new version, LU and Cholesky factorization (not threaded yet, WIP).
48
+
- The algorithms for building the block cluster tree is contained in `HMatrixTreeBuilder`. Users can provide their own "factory".
49
+
-`VirtualCluster` is removed and the clustering part of the library has been rewritten:
50
+
-`Cluster` now derives from `TreeNode`, whose template parameter corresponds to the precision of cluster nodes' radius and centre (previously only `double`).
51
+
- Standards recursive build algorithms are provided via `ClusterTreeBuilder`. Users can provide their own "factory".
52
+
-`ClusterTreeBuilder` is a class template and uses the policy pattern (a policy for computing direction, and another for splitting along the direction).
53
+
-`DDM` has been modified, one-level and two-level preconditioners can be customized now via `VirtualLocalSolver`, `VirtualCoarseSpaceBuilder` and `VirtualCoarseOperatorBuilder`.
54
+
- Three one-level preconditioners are provided by Htool-DDM via `DDMSolverBuilder`:
55
+
- block-jacobi with a local HMatrix
56
+
- a DDM preconditioner where the local subdomain with overlap uses one HMatrix
57
+
- a DDM preconditioner where the local subdomain with overlap uses one HMatrix for the local subdomain without overlap, and dense matrices for the overlap and its interaction with the subdomain without overlap.
58
+
- A second-level (GenEO coarse space) is provided with `GeneoCoarseSpaceDenseBuilder` and `GeneoCoarseOperatorBuilder`.
59
+
60
+
### Removed
61
+
62
+
-`multilrmat` and `multihmatrix` are removed.
36
63
37
-
- Fix const-correctness for g++ 4.8.5
38
-
-
39
64
## [0.8.1] - 2023-05-26
40
65
41
66
### Added
@@ -60,8 +85,8 @@ All notable changes to this project will be documented in this file.
60
85
### Added
61
86
62
87
- doxygen documentation
63
-
- mvprod_transp_global_to_global and mvprod_transp_local_to_local added to VirtualHMatrix
64
-
- getters for clusters in VirtualHMatrix
88
+
- mvprod_transp_global_to_global and mvprod_transp_local_to_local added to `VirtualHMatrix`
89
+
- getters for clusters in `VirtualHMatrix`
65
90
- custom gmv in ddm
66
91
67
92
### Changed
@@ -80,12 +105,12 @@ All notable changes to this project will be documented in this file.
80
105
- Test for warnings coming from `include/htool/*`
81
106
- Coverage added
82
107
- Methods in ddm interface to get local numbering
83
-
- VirtualLowRankGenerator and VirtualAdmissibilityCondition added for better modularity
108
+
-`VirtualLowRankGenerator` and `VirtualAdmissibilityCondition` added for better modularity
84
109
85
110
### Changed
86
111
87
112
- Remove unnecessary arguments in HMatrix and cluster interfaces
88
-
-MutliHMatrix deprecated for the moment (everything related to this in `htool/multi`)
113
+
-`MultiHMatrix` deprecated for the moment (everything related to this in `htool/multi`)
0 commit comments