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

Add omp and inline executor support for functor filter #4371

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

shrijitsingh99
Copy link
Contributor

OpenMP executor offers a good boost due to parallelization up to 8 threads. After that the gains are marginal.
Benchmarks to come in a later PR.

This project was a part of GSoC 2020 under the mentorship of @kunaltyagi & @SergioRAgostinho
Update Filter & FilterIndices with a CRTP based design in order to allow executor overloads. Virtual functions cannot be templated so executors  cannot work with it.
OpenMP executor enables parallelization. For most functors limit max number of threads to 8 since performance gains are minimal after that.
@shrijitsingh99 shrijitsingh99 requested review from kunaltyagi and SergioRAgostinho and removed request for kunaltyagi August 30, 2020 20:36
@shrijitsingh99 shrijitsingh99 added module: filters priority: gsoc Reason for prioritization labels Aug 30, 2020
@shrijitsingh99
Copy link
Contributor Author

To be merged post #4370

@SergioRAgostinho SergioRAgostinho added the needs: pr merge Specify why not closed/merged yet label Aug 31, 2020
@kunaltyagi kunaltyagi added the needs: code review Specify why not closed/merged yet label Sep 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module: filters needs: code review Specify why not closed/merged yet needs: pr merge Specify why not closed/merged yet priority: gsoc Reason for prioritization
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants