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

Vectorize flamelet kernels #9

Open
michael-a-hansen opened this issue Oct 23, 2020 · 0 comments
Open

Vectorize flamelet kernels #9

michael-a-hansen opened this issue Oct 23, 2020 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@michael-a-hansen
Copy link
Collaborator

We currently evaluate flamelet right-hand sides and Jacobian matrices by iterating over mixture fraction points and calling into reactor-style thermo/kinetics handlers. Early prototyping showed significant speedup by rewriting these calls in a way that the compiler can vectorize. We should focus on flamelet performance, as 1D and 2D flamelet models are far more expensive than reactor models and are really becoming the primary production usage. Ideally we can avoid duplicating code across reactors and flamelets without hurting performance of reactors too much.

Kokkos would be nice for this, as the optimal data layout may change when large mechanisms are used (more species than grid points). One day this may also support threading/GPUs without major changes to Griffon. A surprising little issue here is that Kokkos may require cmake 3.10+, for which conda may not provide a simple installation.

@michael-a-hansen michael-a-hansen added the enhancement New feature or request label Oct 23, 2020
@michael-a-hansen michael-a-hansen added this to the v1.1 milestone Oct 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant