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

Possible interface breaking in Ginkgo 2.0.0 #402

Open
yhmtsai opened this issue Nov 26, 2019 · 0 comments
Open

Possible interface breaking in Ginkgo 2.0.0 #402

yhmtsai opened this issue Nov 26, 2019 · 0 comments
Labels
is:interface-breaking This change may break interface compatibility. Can only be done through a major release.

Comments

@yhmtsai
Copy link
Member

yhmtsai commented Nov 26, 2019

Track the possible interface breaking we find now.

  1. csr strategy (Improving Csr::strategy_type #320 )
  2. csr clac_size -> calc_size
  3. Rename / Rebrand / Add executor information (e.g. change warp_size so something neutral, like simd_units)
  4. Change SellP slice indexing from size_type to int64 (Inconsistent use of integer types #430)
  5. Improve the preconditioner::Ilu interface (Improve ILU preconditioner interface #472)
  6. Adding a Tag or similar to a LinOp, for example to know it is a lower or upper triangular matrix
  7. Make Transposable, Permutable, ... return concrete types as well as LinOp
  8. Improve Permutable/Permutation interface: apply + rapply, find alternative for Array?
  9. Let device executors only take OmpExecutor parameters, not plain Executor
  10. Adding a memory space abstraction (Add a memory space abstraction #654 )
    a. Logger needs to have a memory_space parameter, which breaks interface. Cannot use memory_space getter from Executor due to incomplete type issues.
  11. Rename lt_strategy -> lh_strategy in ParICT parameters
  12. Move make_temporary_clone to internal headers
  13. Update loggers with implicit_sq_resnorm.
  14. Remove ValueType from Identity
  15. Split Csr IndexType into ColIndexType and RowPtrIndexType (64 bit column indices are rarely necessary)
  16. Remove redundant information from Sellp (slice_lengths can be computed from slice_sets)
  17. Remove Diagonal::read
  18. Improve Hybrid strategy
  19. Remove Array default constructor
  20. Rename Array -> array
  21. Replace Dense::at by either a device_accessor that makes clear that it can't be used on the host or device_reference which implicitly copies.

Topics to discuss:

  1. Rename LinOp to Op or Operator
  2. Change default behavior in Dense from multivector to dense matrix (Clarify the behavioral differences between a dense matrix and a multivector #796)
  3. Rename Dense::create_submatrix to Dense::create_submatrix_view.
  4. Remove the OmpExector inheritance from ReferenceExecutor.

If there is anything miss, please feel free to edit it.

@yhmtsai yhmtsai added the is:interface-breaking This change may break interface compatibility. Can only be done through a major release. label Nov 26, 2019
@upsj upsj pinned this issue Oct 23, 2020
@upsj upsj added this to the Ginkgo 2.0.0 milestone May 7, 2021
@upsj upsj removed this from the Ginkgo 2.0.0 milestone Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is:interface-breaking This change may break interface compatibility. Can only be done through a major release.
Projects
None yet
Development

No branches or pull requests

2 participants