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

Cache elimination limitations #3454

Open
charleskawczynski opened this issue Nov 23, 2024 · 0 comments
Open

Cache elimination limitations #3454

charleskawczynski opened this issue Nov 23, 2024 · 0 comments

Comments

@charleskawczynski
Copy link
Member

This issue is meant to serve as a place where we list roadblocks when attempting to eliminate our solver cache.

  • ClimaCore neighbor-wise operators require a scope where the global space is accessible. Because we're overloading Julia's broadcast machinery, and broadcast syntax limits how users express broadcast expressions (they cannot be nested, in the case of launching GPU kernels), all of our derivatives and interpolations must be written at the "top-level" inside functions. For example: we cannot compute a derivating foo(y) = 2*∇y inside foo in the outer expression @. x = foo(y) . Instead, we must write @. x = 2*∇y where is a gradient operator.
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