Skip to content

Conversation

upsj
Copy link
Member

@upsj upsj commented May 16, 2023

As a tool for implementing reusable factories, this adds reusable functionality for all Csr permutation and transpose functions.

It also takes a first step towards making Permutation the default representation of a reordering.

Closes #1157

@upsj upsj added the 1:ST:ready-for-review This PR is ready for review label May 16, 2023
@upsj upsj requested a review from a team May 16, 2023 09:54
@upsj upsj self-assigned this May 16, 2023
@ginkgo-bot ginkgo-bot added reg:build This is related to the build system. reg:testing This is related to testing. mod:core This is related to the core module. mod:cuda This is related to the CUDA module. mod:reference This is related to the reference module. type:matrix-format This is related to the Matrix formats mod:hip This is related to the HIP module. labels May 16, 2023
Copy link
Collaborator

@fritzgoebel fritzgoebel left a comment

Choose a reason for hiding this comment

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

LGTM, but I think reference tests for the reusable transformations are missing.

@MarcelKoch
Copy link
Member

Just a comment, but Csr now has 18 (!) function for permutation. IMO that is too much, at least the array ones should be deprecated, since, as far as I understood it, we would move to the Permutation interface.

@MarcelKoch MarcelKoch added this to the Ginkgo 1.9.0 milestone Oct 17, 2024
@MarcelKoch MarcelKoch modified the milestones: Ginkgo 1.9.0, Ginkgo 1.10.0 Dec 9, 2024
@MarcelKoch MarcelKoch self-requested a review February 10, 2025 15:20
@upsj upsj force-pushed the reusable_operations branch from 2f2e939 to 79aba5b Compare February 14, 2025 13:23
@upsj upsj requested a review from fritzgoebel February 14, 2025 13:23
Copy link
Member

@MarcelKoch MarcelKoch left a comment

Choose a reason for hiding this comment

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

In general LGTM, I would like to discuss the difference between returning both the reuse info with the transposed/permuted matrix and just the reuse info.
If the use case for the reuse info is to be used only once or twice, the current approach makes sense.
If, however, it should be applied in a loop (or similar) then I think returning only the reuse info should lead to more uniform control flow.

@upsj upsj force-pushed the reusable_operations branch from 6ed38e4 to e7bfbe3 Compare February 18, 2025 13:35
@upsj upsj requested a review from MarcelKoch February 18, 2025 13:38
@upsj upsj added 1:ST:ready-for-review This PR is ready for review 1:ST:ready-to-merge This PR is ready to merge. and removed 1:ST:ready-for-review This PR is ready for review labels Feb 18, 2025
@upsj upsj force-pushed the reusable_operations branch 2 times, most recently from cccf80d to c7989b1 Compare February 19, 2025 22:07
@upsj upsj force-pushed the reusable_operations branch from c7989b1 to 85e0e76 Compare February 19, 2025 23:48
@upsj upsj force-pushed the reusable_operations branch from 85e0e76 to e21e7ab Compare February 20, 2025 08:10
@upsj upsj merged commit 23688e2 into develop Feb 20, 2025
8 of 11 checks passed
@upsj upsj deleted the reusable_operations branch February 20, 2025 08:12
@ginkgo-bot
Copy link
Member

Error: PR already merged!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1:ST:ready-to-merge This PR is ready to merge. mod:core This is related to the core module. mod:cuda This is related to the CUDA module. mod:hip This is related to the HIP module. mod:reference This is related to the reference module. reg:build This is related to the build system. reg:testing This is related to testing. type:matrix-format This is related to the Matrix formats

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reusable transpose

4 participants