-
Notifications
You must be signed in to change notification settings - Fork 3
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
GPU operators #163
base: main
Are you sure you want to change the base?
GPU operators #163
Conversation
src/discretization/operator.jl
Outdated
element_cache = setup_element_cache(protocol, element_qr, ip, sdh) | ||
push!(eles_caches, element_cache) | ||
end | ||
return dh.subdofhandlers |> cu, eles_caches |> cu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that this will be super slow, as we need to do this possibly at each time step.
I already thought about whether it might make sense (and how) to pass the device type around to give more precise control over this funny stuff here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking about the same issue because yes, you are absolutely right this is gonna be super slow. The problem though is that I am trying to change right now the gpudofhandler and gpusubdofhandler so I needed to commit everything in case things blow up, didn't actually intend to push tho π but working after Holidays is like forgetting everthing π’ .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No worries. You can also just start with copy pasting the existing linear operator and changing the internals to your liking to figure out a better API. :)
Just initial rough ideas for the design of GPU linear operators π§βπ