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

implement and benchmark C++11 std::thread vs openMP #9

Open
mikejiang opened this issue Dec 19, 2018 · 3 comments
Open

implement and benchmark C++11 std::thread vs openMP #9

mikejiang opened this issue Dec 19, 2018 · 3 comments
Assignees

Comments

@mikejiang
Copy link
Member

Since openMP has some portability issue with older clang.

@mikejiang mikejiang self-assigned this Dec 21, 2018
@mikejiang mikejiang modified the milestone: 2.0 alpha Dec 21, 2018
@mikejiang
Copy link
Member Author

TBB might be the better choice, which operates with tasks, not threads. Similar to openmp, TBB's scheduler utilizes all cores by allocating a pool of threads and letting it dynamically select which tasks to run. This is the main advantage over STD:thread, with which you will need to map available work to threads manually.
It may have better cross platform support compared to openmp.
Thoughts, @evangreene?

@gfinak
Copy link
Member

gfinak commented Dec 30, 2018

The task scheduler seems nice and tasks should be more light weight. I like the idea.

@mikejiang
Copy link
Member Author

The only concern is the extra c++ library dependency (which is non header-only). We can easily bundle it,but it would be nice to able to use the existing one (RcppCore/RcppParallel#88) before we repeat the same work.

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