-
Notifications
You must be signed in to change notification settings - Fork 0
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
OpenMP algebra and operations #6
Comments
Use it manually with a Random Access Container. #6
I made a |
This looks like a very good enhancement of odeints algebras and Btw. should we pack this in a separate branch? Just in case we merge On 06/14/2013 11:55 PM, neapel wrote:
|
The macros are in n_ary_helper.hpp, but I'll split the commits and I put the macros into |
I think we should add |
On 15.06.2013 16:01, neapel wrote:
Maybe it is better to put it into algebra/detail. Unfortunately, there
|
State splits a given Range into an InnerState, one for each thread. The algebra's for_eachN calls for_eachN in parallel on each part, using the InnerState's algebra. There's an openmp_wrapper to parallelize the system function; this needs a way to pass on the offset. The idea was that this design should allow using OpenMP on each MPI node with a single-threaded inner_state: mpi_state< openmp_state< inner_state > > with mpi_wrapper(openmp_wrapper(system_function))
State splits a given Range into an InnerState, one for each thread. The algebra's for_eachN calls for_eachN in parallel on each part, using the InnerState's algebra. There's an openmp_wrapper to parallelize the system function; this needs a way to pass on the offset. The idea was that this design should allow using OpenMP on each MPI node with a single-threaded inner_state: mpi_state< openmp_state< inner_state > > with mpi_wrapper(openmp_wrapper(system_function))
openmp_range_algebra: parallel for over a random access container. openmp_nested_algebra: processs parts of a split container in parallel. openmp_state: a split container based on vector<vector<>>. openmp_algebra: use a range_algebra on each part of that container.
No description provided.
The text was updated successfully, but these errors were encountered: