Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi!
Here is a very simple test (parallel search) which makes asynchronous parallel search of all reachable vertices from the specified root. In contrast to bfs it does not have level synchronization. And completes when all messages (delegates) are processed.
I used recursive lambda function for implementing it. Not because I wanted to, but rather do not know how to avoid it. May by it is not the right way to do it. I do not know how to pass arguments (parent etc.) to update in this way (usually it is done via capture list, but here it is impossible).
The test is not fully debugged. It crashes with signal 11 in
Grappa::impl::LocaleSharedMemory::allocate_aligned
, which probably can be caused by stackoverlow. gdb showed backtrace of 1537 frames. What can cause this it? Does grappa create tasks inside other tasks on the same stack?Any feedback will be much appreciated. Thank you!