Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
- [ ] There are unit tests for the new code.
- [ ] The new code is documented.
- [ ] The feature branch is rebased with respect to the target branch.
- [ ] I have updated [CHANGELOG.md](/CHANGELOG.md) to reflect the changes in this PR. If this is a minor PR that is part of a larger fix already included in the file, state so.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [ ] I have updated [CHANGELOG.md](/CHANGELOG.md) to reflect the changes in this PR. If this is a minor PR that is part of a larger fix already included in the file, state so.
- [ ] [CHANGELOG.md](/CHANGELOG.md) was updated to reflect the changes in this PR. Otherwise, state if this is a minor PR that is part of a larger fix already included in the file.


## Further comments

Expand Down
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Re::Solve Changelog

## Changes to Re::Solve in release 0.99.2

### Major Features

1. Re::Solve now works reliably with asymmetric matrices, with no need for intermediate CSC storage.
This requires switching $L$ with $U$ and $P$ with $Q$ and reinterpretting them as CSR instead of CSC.
It is seamless from the user perspective and fixed many bugs.

2. Added more rigorous checks for PRs for clang formatting and to compile without warnings and memory leaks.

3. Updated pull request and issue templates.

### Bug Fixes

1. Fixed a bug that produced inaccurate results for some asymmetric matrices with major feature 1.

2. Synchronized devices after HIP functions. HIP executes asynchronously, so bugs occured wihout synchronization.

3. Corrected the way cmake finds suitsparse.

4. Fixed various memory leaks and compiler warnings.

### Minor Features and Enhancements

1. Changed all examples and tests to use Csr format, added uniform command line parsers (no longer hard-coded), and decluttered them.

2. Added asymmetric matrices and well-conditioned matrices to the test suite.

3. Removed RocSparse "fast mode" triangular solver and use RocSolver triangular solver only as it is now faster and removes dependencies.

4. Put sorting inside the KLU extraction because many solvers assume sorted factors and there's no need to reimplement sorting constantly.

5. Removed duplicate code, added code comments, corrected code to fit guidelines, removed magic numbers, and simplified code where possible.

6. Added the ability to reset a workspace without completely destroying it.

7. Improved testing and added tests where they were missing.

8. Added kernels for multiplying a vector by a diagonal matrix and a general matrix by a diagonal matrix (left and right).

9. Prohibitted sloppy memory syncing and added more descriptive error messages when a prohibited action is attempted.

10. The code now tracks the updated status for each vector in a multivector.

11. Added the ability to reuse a transpose allocation.

12. Added the ability to generically set solver parameters.

13. Added LUSOL direct solver, which can factorize matrices and extract factors independently of KLU.

14. Various Spack updates.
Loading