Skip to content

WIP: Support GPU lazy field operators#3385

Open
bendudson wants to merge 29 commits into
nextfrom
support-gpu-field-operators-lazy
Open

WIP: Support GPU lazy field operators#3385
bendudson wants to merge 29 commits into
nextfrom
support-gpu-field-operators-lazy

Conversation

@bendudson

Copy link
Copy Markdown
Contributor

Expressions involving fields build trees that are merged into kernels. Aims to achieve good GPU performance without needing a lot of user code changes.

Work in progress

- Compiles but crashes. I suspect it's because nested operators copy
Field3D on the device (rhs)
- Uses Views to avoid copying uncopyable stuff
- operatorors +=, -=, *=, /= are working
- Use functor template parameter for operation
- More operators
- Working version
macro for dedup definition per operator
- Add field functions (sqrt, abs, etc.)
- Add ResT template parameter to BinaryExpr for future use
- Update some operators (min, max, etc.) to take as input a BinaryExpr
  and evaluate it before apply
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

Successfully merging this pull request may close these issues.

2 participants