Skip to content

single vs multi-target approaches #33

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

Open
rafaqz opened this issue Feb 17, 2025 · 0 comments
Open

single vs multi-target approaches #33

rafaqz opened this issue Feb 17, 2025 · 0 comments

Comments

@rafaqz
Copy link
Member

rafaqz commented Feb 17, 2025

In #32 we have the single-target approach running faster than multi-target approach - we pre-factorize the source
array and run all solves and all rsp functions target-by-target and accumulating the result.

This is possible by allocating essentially everything up front so each target is using the same workspaces, avoiding
having thousands/millions of small allocations killing the scaling.

Not materializing huge matrices means memory use is far smaller than previously, and probably that cache locality is
better too.

But, for single targets we don't even need half of the arrays or array operations any more, we can just use scalars. This would
really clean up the code.

So, the question is for the future of ConScape do we switch all algorithms to use a single target approach?

LinearSolve.jl kind of works like this already so things like #31 would be easy, although I'm not sure how the other (non ldiv!) operations will
work on GPU as they will be far smaller and likely inefficient to launch as GPU tasks.

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

No branches or pull requests

1 participant