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

Parallelize species #135

Open
cguzman95 opened this issue Jan 24, 2020 · 1 comment
Open

Parallelize species #135

cguzman95 opened this issue Jan 24, 2020 · 1 comment
Assignees

Comments

@cguzman95
Copy link
Collaborator

This issue is an idea of organizing the code to improve the GPU execution (and maybe the CPU). At the moment it only works in the theory, remains pending thinking about the optimal form to apply the idea. In any case, it should be nice to think about it for the C++ 2.0 implementation.

The idea is to parallelize (apart from the reactions) also the species loop located inside the rxn_gpu_arrhenius_calc_deriv_contrib type functions. Inside these functions exists a loop that iterates over all the species present in the reaction to calculate the rate for each species. Theoretically, we can parallelize this loop on the GPU without cost (since we have almost all the threads we want available).

The problem is that it needs to restructure the data and the function will look more different. As an advantage, it can be tested first in the GPU code version.

This optimization will allow accessing the data from a higher interface level (GPU interface), since the loop will be moved from the RXN files to this interface, facilitating the data treatment. Moreover, it will help to devise more optimizations, like executing a part of code or another depending on the input data read (for example, if there are few reactions to compute, use the CPU instead of the GPU and otherwise, or at least advise the user)

@cguzman95 cguzman95 self-assigned this Jan 24, 2020
@cguzman95 cguzman95 changed the title Parallelize reactions Parallelize species Jan 24, 2020
@mattldawson
Copy link
Collaborator

Hi @cguzman95 - let's discuss this after the documentation is done to see how it can fit into the overall design

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants