diff --git a/examples/HydroTests/SodShock_3D/sodShock.yml b/examples/HydroTests/SodShock_3D/sodShock.yml index 816af9c9ad620ce8617340d749b8ab3e61e53ec6..4c6c9b9dec880fb0fd6cb3243b11bade405d53e2 100644 --- a/examples/HydroTests/SodShock_3D/sodShock.yml +++ b/examples/HydroTests/SodShock_3D/sodShock.yml @@ -19,6 +19,9 @@ Snapshots: time_first: 0. # Time of the first output (in internal units) delta_time: 0.2 # Time difference between consecutive outputs (in internal units) compression: 1 + +Scheduler: + links_per_tasks: 75 # Parameters governing the conserved quantities statistics Statistics: diff --git a/examples/parameter_example.yml b/examples/parameter_example.yml index 29e467fca247b25288951239787db2a83121aa55..375c5abc22d117b7322dd49e37109430b3ef0e32 100644 --- a/examples/parameter_example.yml +++ b/examples/parameter_example.yml @@ -72,7 +72,7 @@ Scheduler: cell_extra_sparts: 400 # (Optional) Number of spare sparts per top-level allocated at rebuild time for on-the-fly creation. max_top_level_cells: 12 # (Optional) Maximal number of top-level cells in any dimension. The number of top-level cells will be the cube of this (this is the default value). tasks_per_cell: 0.0 # (Optional) The average number of tasks per cell. If not large enough the simulation will fail (means guess...). - links_per_tasks: 10 # (Optional) The average number of links per tasks (before adding the communication tasks). If not large enough the simulation will fail (means guess...). Defaults to 10. + links_per_tasks: 25 # (Optional) The average number of links per tasks (before adding the communication tasks). If not large enough the simulation will fail (means guess...). Defaults to 10. mpi_message_limit: 4096 # (Optional) Maximum MPI task message size to send non-buffered, KB. engine_max_parts_per_ghost: 1000 # (Optional) Maximum number of parts per ghost. engine_max_sparts_per_ghost: 1000 # (Optional) Maximum number of sparts per ghost. diff --git a/src/engine.c b/src/engine.c index 94eb692511ebf30d19a7047926cdc08b9e1232ad..36cf0709044c885ae48890bf9051a905f57839f1 100644 --- a/src/engine.c +++ b/src/engine.c @@ -4118,6 +4118,7 @@ void engine_unskip(struct engine *e) { const int with_ext_grav = e->policy & engine_policy_external_gravity; const int with_stars = e->policy & engine_policy_stars; const int with_feedback = e->policy & engine_policy_feedback; + const int with_black_holes = e->policy & engine_policy_black_holes; #ifdef WITH_PROFILER static int count = 0; @@ -4137,7 +4138,8 @@ void engine_unskip(struct engine *e) { (with_ext_grav && c->nodeID == nodeID && cell_is_active_gravity(c, e)) || (with_feedback && cell_is_active_stars(c, e)) || - (with_stars && c->nodeID == nodeID && cell_is_active_stars(c, e))) { + (with_stars && c->nodeID == nodeID && cell_is_active_stars(c, e)) || + (with_black_holes && cell_is_active_black_holes(c, e))) { if (num_active_cells != k) memswap(&local_cells[k], &local_cells[num_active_cells], sizeof(int)); @@ -5513,7 +5515,7 @@ void engine_config(int restart, struct engine *e, struct swift_params *params, /* Estimated number of links per tasks */ e->links_per_tasks = - parser_get_opt_param_int(params, "Scheduler:links_per_tasks", 15); + parser_get_opt_param_int(params, "Scheduler:links_per_tasks", 25); /* Init the scheduler. */ scheduler_init(&e->sched, e->s, maxtasks, nr_queues, diff --git a/src/engine_maketasks.c b/src/engine_maketasks.c index 49dec37a422f38ee2755a18051aaa7f41d6906e3..ad9af793698f21451a2ddc0cab9557be32a157a3 100644 --- a/src/engine_maketasks.c +++ b/src/engine_maketasks.c @@ -2064,7 +2064,6 @@ void engine_make_extra_hydroloop_tasks_mapper(void *map_data, int num_elements, scheduler_addunlock(sched, ci->hydro.super->black_holes.drift, t_bh_density); scheduler_addunlock(sched, ci->hydro.super->hydro.drift, t_bh_density); - scheduler_addunlock(sched, ci->hydro.super->hydro.sorts, t_bh_density); scheduler_addunlock(sched, ci->hydro.super->black_holes.black_holes_in, t_bh_density); scheduler_addunlock(sched, t_bh_density, diff --git a/src/space.c b/src/space.c index 87673e104d2cbd2bd6115976d7d85eca48ef038d..bdf71370c245af7946419cec4b61f5db4a191693 100644 --- a/src/space.c +++ b/src/space.c @@ -248,6 +248,8 @@ void space_rebuild_recycle_mapper(void *map_data, int num_elements, c->stars.stars_in = NULL; c->stars.stars_out = NULL; c->black_holes.drift = NULL; + c->black_holes.black_holes_in = NULL; + c->black_holes.black_holes_out = NULL; c->grav.drift = NULL; c->grav.drift_out = NULL; c->hydro.cooling = NULL; diff --git a/tools/task_plots/analyse_tasks.py b/tools/task_plots/analyse_tasks.py index fb48e6cf7317c8d5e18035dce496bba74aee5864..841865047663e5de4f24e47ed41c559b66af2406 100755 --- a/tools/task_plots/analyse_tasks.py +++ b/tools/task_plots/analyse_tasks.py @@ -121,6 +121,7 @@ SUBTYPES = [ "tend_part", "tend_gpart", "tend_spart", + "tend_bpart", "xv", "rho", "gpart", @@ -129,6 +130,7 @@ SUBTYPES = [ "stars_density", "stars_feedback", "sf_counts" + "bpart", "bh_density", "bh_feedback", "count", diff --git a/tools/task_plots/plot_tasks.py b/tools/task_plots/plot_tasks.py index 8536dd51f7708c0b30a7dd7760987bf2c45172ba..94e4d9a5534c4e6ba4efb5d0e06ab1207156063a 100755 --- a/tools/task_plots/plot_tasks.py +++ b/tools/task_plots/plot_tasks.py @@ -206,6 +206,7 @@ SUBTYPES = [ "tend_part", "tend_gpart", "tend_spart", + "tend_bpart", "xv", "rho", "gpart", @@ -214,6 +215,7 @@ SUBTYPES = [ "stars_density", "stars_feedback", "sf_counts", + "bpart", "bh_density", "bh_feedback", "count", @@ -249,12 +251,16 @@ FULLTYPES = [ "send/tend_gpart", "recv/tend_spart", "send/tend_spart", + "recv/tend_bpart", + "send/tend_bpart", "recv/gpart", "send/gpart", "recv/spart", "send/spart", "send/sf_counts", "recv/sf_counts", + "recv/bpart", + "send/bpart", "self/stars_density", "pair/stars_density", "sub_self/stars_density",