[WIP] Speed-up cell_unskip_tasks
So this is a bit embarassing... Turns out that in cell_activate_subcell_tasks
for pairs we were potentially recursing all the way down the tree before checking if anything is active at all.
Moved the check for activity to the top of the recursion, as it is done for the subcell-task interaction functions, this is already a bit faster on my laptop without breaking anything obvious. Should also improve parallel performance since this part of the code scales badly on the small timesteps.
Merge request reports
Activity
@jwillis could you run this against master on you special node?
added 4 commits
-
b4e55401...73a09c7a - 3 commits from branch
master
- e8898f01 - Merge branch 'master' into task_activation
-
b4e55401...73a09c7a - 3 commits from branch
Now that cosma is back, @jwillis could you try this and the latest master on your node?
Edited by Matthieu Schalleradded 8 commits
-
e8898f01...04146b23 - 7 commits from branch
master
- 1ee48f09 - Merge branch 'master' into task_activation
-
e8898f01...04146b23 - 7 commits from branch
(track keeping: @jwillis is going to try this again on the sable node)
You should be able to view them here:
http://icc.dur.ac.uk/~rsrd54/task_activation/threadpool_plots/threadpool-index.html
using 16 threads.
Oh sorry, I copied the wrong file this should be correct now:
http://icc.dur.ac.uk/~rsrd54/master/threadpool_plots_master/threadpool-index.html
OK, this is still somehow messed-up... For any of the timesteps, you can check the total time for the
runner_do_unskip
mapper, and in this branch they're 1.5-2x faster, which is expected, but every other mapper type is slower.If I have time I'll sync this branch to head to see if I've missed anything, as it's been a while since I filed this merge request.
mentioned in merge request !443 (merged)
added 127 commits
-
1ee48f09...856b9ea5 - 126 commits from branch
master
- 1e2a25f0 - Merge branch 'master' into task_activation
-
1ee48f09...856b9ea5 - 126 commits from branch
I've ran
master
andtask_activation
again with only-Y 1
.Master
:http://icc.dur.ac.uk/~rsrd54/master/threadpool_only_plots_master/threadpool-index.html
Task_activation
:http://icc.dur.ac.uk/~rsrd54/task_activation/threadpool_only_plots/threadpool-index.html
OK, I really don't get it... Now it's better in some cases and worse in others. @jwillis, can you run this through VTune and look at
cell_activate_tasks
and sub-functions to see where we win/lose? Thanks!