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

Add primitive for warp load balancing #1773

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from
Open

Conversation

upsj
Copy link
Member

@upsj upsj commented Jan 29, 2025

This adds a primitive that allows the distribution of variable-sized chunks of work across a warp for better memory coalescing and warp utilization. This can be used as a component in operations like SpGEMM, symbolic Cholesky or, combined with a segmented reduction, could also be used to implement the inner loop in an SpMV similar to MergePath. Looking for feedback and performance benchmark suggestions :)

@upsj upsj requested review from yhmtsai and a team January 29, 2025 22:36
@upsj upsj self-assigned this Jan 29, 2025
@upsj upsj marked this pull request as ready for review January 29, 2025 22:36
@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:hip This is related to the HIP module. labels Jan 29, 2025
@upsj
Copy link
Member Author

upsj commented Jan 29, 2025

If the performance is good, this could also be used as an internal component for merge path SpMV

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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. reg:build This is related to the build system. reg:testing This is related to testing.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants