Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade ColPack bindings, options as strings, systematic tests #20

Merged
merged 5 commits into from
Jun 11, 2024

Conversation

gdalle
Copy link
Collaborator

@gdalle gdalle commented Jun 11, 2024

This PR supersedes #19

Source - breaking

  • Version bump to 0.5.0
  • Removed the very inefficient matrix2adjmatrix: non-symmetric matrices must be handled directly with bipartite coloring methods.
  • The coloring method and order must now be given as strings (and not trivial structs). The list of accepted strings can be found here https://github.com/CSCsw/ColPack/tree/master/Examples, and user inputs are checked against said list, with informative errors.

Source - not breaking

  • New version 0.4.0 of the ColPack_jll dependency
  • Addition of ColPackPartialColoring and ColPackBiColoring in addition to ColPackColoring
  • Only ColPackColoring and ColPackPartialColoring are exported, I still don't understand what ColPackBiColoring returns
  • Partial column coloring of a CSC matrix is done with partial row coloring of its transpose, which is in the proper CSR format. Unpleasant consequence: partial coloring from a matrix and coloring from a file give different results in general.

Documentation

  • Removed outdated tutorial and example
  • Improve docstrings with code examples and lists of supported options

Tests

  • Removed SparseDiffTools comparison (it may rely on implementation details anyway)
  • Add systematic tests that every method and order is supported
  • Add exception-throwing tests
  • Right now there are no correctness checks, it's hard to do those with so many different coloring methods. Should I add some tests for specific colorings?

@gdalle gdalle mentioned this pull request Jun 11, 2024
@amontoison amontoison merged commit 5b1ceb8 into master Jun 11, 2024
3 checks passed
@amontoison amontoison deleted the gd/super_upgrade_colpack branch June 11, 2024 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants