Note
Go to the end to download the full example code.
SPH Setup logs#
This simple example shows how to run the SPH setup while dumping the logs and render the steps.
In general it boils down to setting do_setup_log=True:
setup.apply_setup(
gen,
insert_step=int(scheduler_split_val / 4),
msg_count_limit=32, # Maximum number of message send & received per ranks per steps
msg_size_limit=scheduler_split_val // 4, # Max of the sum of the r&s messages size per steps
do_setup_log=True, # Dump the logs
)
Run a sedov setup
23 import json
24 import os
25
26 import matplotlib.colors as mcolors
27 import matplotlib.gridspec as gridspec
28 import matplotlib.pyplot as plt
29 import numpy as np
30
31 import shamrock
32
33 # If we use the shamrock executable to run this script instead of the python interpreter,
34 # we should not initialize the system as the shamrock executable needs to handle specific MPI logic
35 if not shamrock.sys.is_initialized():
36 shamrock.change_loglevel(1)
37 shamrock.sys.init("0:0")
-> modified loglevel to 0 enabled log types :
log status :
- Loglevel: 1, enabled log types :
[xxx] Info: xxx ( logger::info )
[xxx] : xxx ( logger::normal )
[xxx] Warning: xxx ( logger::warn )
[xxx] Error: xxx ( logger::err )
Use shamrock documentation style for matplotlib
41 shamrock.matplotlib.set_shamrock_mpl_style()
42
43
44 gamma = 5.0 / 3.0
45 rho_g = 1
46 target_tot_u = 1
47
48 bmin = (-0.6, -0.6, -0.6)
49 bmax = (0.6, 0.6, 0.6)
50
51 N_target = 1e6
52 scheduler_split_val = int(1e6 / 16)
53 scheduler_merge_val = int(1)
54
55 # render example
56 """
57 4 processes (at the end of the file)
58 """
59
60 xm, ym, zm = bmin
61 xM, yM, zM = bmax
62 vol_b = (xM - xm) * (yM - ym) * (zM - zm)
63
64 part_vol = vol_b / N_target
65
66 # lattice volume
67 part_vol_lattice = 0.74 * part_vol
68
69 dr = (part_vol_lattice / ((4.0 / 3.0) * np.pi)) ** (1.0 / 3.0)
70
71 pmass = -1
72
73 ctx = shamrock.Context()
74 ctx.pdata_layout_new()
75
76 model = shamrock.get_Model_SPH(context=ctx, vector_type="f64_3", sph_kernel="M4")
77
78 cfg = model.gen_default_config()
79 # cfg.set_artif_viscosity_Constant(alpha_u = 1, alpha_AV = 1, beta_AV = 2)
80 # cfg.set_artif_viscosity_VaryingMM97(alpha_min = 0.1,alpha_max = 1,sigma_decay = 0.1, alpha_u = 1, beta_AV = 2)
81 cfg.set_artif_viscosity_VaryingCD10(
82 alpha_min=0.0, alpha_max=1, sigma_decay=0.1, alpha_u=1, beta_AV=2
83 )
84 cfg.set_boundary_periodic()
85 cfg.set_eos_adiabatic(gamma)
86 cfg.set_max_neigh_cache_size(int(100e9))
87 cfg.print_status()
88 model.set_solver_config(cfg)
89 model.init_scheduler(scheduler_split_val, scheduler_merge_val)
90
91
92 bmin, bmax = shamrock.math.get_ideal_hcp_box(dr, bmin, bmax)
93 xm, ym, zm = bmin
94 xM, yM, zM = bmax
95
96 model.resize_simulation_box(bmin, bmax)
97
98 setup = model.get_setup()
99 gen = setup.make_generator_lattice_hcp(dr, bmin, bmax)
100
101 # On aurora /2 was correct to avoid out of memory
102 setup.apply_setup(
103 gen,
104 insert_step=int(scheduler_split_val / 4),
105 msg_count_limit=32,
106 rank_comm_size_limit=scheduler_split_val // 4,
107 do_setup_log=True,
108 )
Warning: .set_max_neigh_cache_size() is deprecated, [SPH][rank=0]
-> calling this is a no-op,
-> you can remove the call to that function
----- SPH Solver configuration -----
[
{
"artif_viscosity": {
"alpha_max": 1.0,
"alpha_min": 0.0,
"alpha_u": 1.0,
"beta_AV": 2.0,
"sigma_decay": 0.1,
"type": "varying_cd10"
},
"boundary_config": {
"bc_type": "periodic"
},
"cfl_config": {
"cfl_cour": 0.0,
"cfl_force": 0.0,
"cfl_multiplier_stiffness": 2.0,
"eta_sink": 0.05
},
"combined_dtdiv_divcurlv_compute": false,
"debug_dump_filename": "",
"do_debug_dump": false,
"dust_config": {
"drag_mode": {
"type": "none"
},
"mode": {
"type": "none"
}
},
"enable_particle_reordering": false,
"eos_config": {
"Tvec": "f64_3",
"eos_type": "adiabatic",
"gamma": 1.6666666666666667
},
"epsilon_h": 1e-06,
"ext_force_config": {
"force_list": []
},
"gpart_mass": 0.0,
"h_iter_per_subcycles": 50,
"h_max_subcycles_count": 100,
"htol_up_coarse_cycle": 1.1,
"htol_up_fine_cycle": 1.1,
"kernel_id": "M4<f64>",
"mhd_config": {
"mhd_type": "none"
},
"particle_killing": [],
"particle_reordering_step_freq": 1000,
"save_dt_to_fields": false,
"scheduler_config": {
"merge_load_value": 0,
"split_load_value": 0
},
"self_grav_config": {
"softening_length": 1e-09,
"softening_mode": "plummer",
"type": "none"
},
"show_cfl_detail": false,
"show_ghost_zone_graph": false,
"show_neigh_stats": false,
"smoothing_length_config": {
"type": "density_based"
},
"time_state": {
"cfl_multiplier": 0.01,
"dt_sph": 0.0,
"time": 0.0
},
"tree_reduction_level": 3,
"type_id": "sycl::vec<f64,3>",
"unit_sys": null,
"use_two_stage_search": true
}
]
------------------------------------
SPH setup: generating particles ...
SPH setup: Nstep = 0 ( 0.0e+00 ) Ntotal = 0 ( 0.0e+00 rank min = 0.0e+00 max = 0.0e+00) rate = 0.000000e+00 N.s^-1
SPH setup: dumping setup log to setup_log_step.json
SPH setup: Nstep = 5580 ( 5.6e+03 ) Ntotal = 5580 ( 5.6e+03 rank min = 4.0e+06 max = 5.6e+03) rate = 5.580000e+03 N.s^-1
SPH setup: Nstep = 7537 ( 7.5e+03 ) Ntotal = 13117 ( 1.3e+04 rank min = 2.9e+06 max = 1.3e+04) rate = 1.311700e+04 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 20579 ( 2.1e+04 rank min = 1.9e+06 max = 2.1e+04) rate = 2.057900e+04 N.s^-1
SPH setup: Nstep = 7501 ( 7.5e+03 ) Ntotal = 28080 ( 2.8e+04 rank min = 1.6e+07 max = 2.8e+04) rate = 2.808000e+04 N.s^-1
SPH setup: Nstep = 7513 ( 7.5e+03 ) Ntotal = 35593 ( 3.6e+04 rank min = 2.0e+06 max = 3.6e+04) rate = 3.559300e+04 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 43055 ( 4.3e+04 rank min = 2.8e+07 max = 4.3e+04) rate = 4.305500e+04 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 50607 ( 5.1e+04 rank min = 2.6e+07 max = 5.1e+04) rate = 5.060700e+04 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 58069 ( 5.8e+04 rank min = 2.1e+06 max = 5.8e+04) rate = 5.806900e+04 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 65531 ( 6.6e+04 rank min = 2.1e+07 max = 6.6e+04) rate = 6.553100e+04 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 73083 ( 7.3e+04 rank min = 2.3e+07 max = 7.3e+04) rate = 7.308300e+04 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 80546 ( 8.1e+04 rank min = 2.1e+07 max = 8.1e+04) rate = 8.054600e+04 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 88098 ( 8.8e+04 rank min = 1.8e+06 max = 8.8e+04) rate = 8.809800e+04 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 95561 ( 9.6e+04 rank min = 2.2e+07 max = 9.6e+04) rate = 9.556100e+04 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 103023 ( 1.0e+05 rank min = 2.4e+07 max = 1.0e+05) rate = 1.030230e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 110575 ( 1.1e+05 rank min = 2.0e+07 max = 1.1e+05) rate = 1.105750e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 118037 ( 1.2e+05 rank min = 2.2e+07 max = 1.2e+05) rate = 1.180370e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 125589 ( 1.3e+05 rank min = 2.3e+07 max = 1.3e+05) rate = 1.255890e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 133051 ( 1.3e+05 rank min = 8.9e+05 max = 1.3e+05) rate = 1.330510e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 140513 ( 1.4e+05 rank min = 2.2e+07 max = 1.4e+05) rate = 1.405130e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 148065 ( 1.5e+05 rank min = 2.7e+07 max = 1.5e+05) rate = 1.480650e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 155527 ( 1.6e+05 rank min = 3.3e+07 max = 1.6e+05) rate = 1.555270e+05 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 163080 ( 1.6e+05 rank min = 3.5e+07 max = 1.6e+05) rate = 1.630800e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 170542 ( 1.7e+05 rank min = 3.1e+07 max = 1.7e+05) rate = 1.705420e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 178005 ( 1.8e+05 rank min = 2.5e+07 max = 1.8e+05) rate = 1.780050e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 185557 ( 1.9e+05 rank min = 3.4e+07 max = 1.9e+05) rate = 1.855570e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 193019 ( 1.9e+05 rank min = 3.2e+07 max = 1.9e+05) rate = 1.930190e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 200571 ( 2.0e+05 rank min = 7.7e+05 max = 2.0e+05) rate = 2.005710e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 208033 ( 2.1e+05 rank min = 1.9e+07 max = 2.1e+05) rate = 2.080330e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 215495 ( 2.2e+05 rank min = 2.4e+07 max = 2.2e+05) rate = 2.154950e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 223047 ( 2.2e+05 rank min = 2.2e+07 max = 2.2e+05) rate = 2.230470e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 230509 ( 2.3e+05 rank min = 2.2e+07 max = 2.3e+05) rate = 2.305090e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 238061 ( 2.4e+05 rank min = 2.4e+07 max = 2.4e+05) rate = 2.380610e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 245523 ( 2.5e+05 rank min = 2.6e+07 max = 2.5e+05) rate = 2.455230e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 252986 ( 2.5e+05 rank min = 2.6e+07 max = 2.5e+05) rate = 2.529860e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 260538 ( 2.6e+05 rank min = 2.3e+07 max = 2.6e+05) rate = 2.605380e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 268001 ( 2.7e+05 rank min = 2.4e+07 max = 2.7e+05) rate = 2.680010e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 275553 ( 2.8e+05 rank min = 2.7e+07 max = 2.8e+05) rate = 2.755530e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 283015 ( 2.8e+05 rank min = 2.6e+07 max = 2.8e+05) rate = 2.830150e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 290477 ( 2.9e+05 rank min = 1.6e+07 max = 2.9e+05) rate = 2.904770e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 298029 ( 3.0e+05 rank min = 1.7e+07 max = 3.0e+05) rate = 2.980290e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 305491 ( 3.1e+05 rank min = 5.9e+05 max = 3.1e+05) rate = 3.054910e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 313043 ( 3.1e+05 rank min = 2.3e+07 max = 3.1e+05) rate = 3.130430e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 320505 ( 3.2e+05 rank min = 2.5e+07 max = 3.2e+05) rate = 3.205050e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 327967 ( 3.3e+05 rank min = 2.5e+07 max = 3.3e+05) rate = 3.279670e+05 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 335520 ( 3.4e+05 rank min = 2.7e+07 max = 3.4e+05) rate = 3.355200e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 342982 ( 3.4e+05 rank min = 2.6e+07 max = 3.4e+05) rate = 3.429820e+05 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 350535 ( 3.5e+05 rank min = 2.8e+07 max = 3.5e+05) rate = 3.505350e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 357997 ( 3.6e+05 rank min = 2.6e+07 max = 3.6e+05) rate = 3.579970e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 365459 ( 3.7e+05 rank min = 2.7e+07 max = 3.7e+05) rate = 3.654590e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 373011 ( 3.7e+05 rank min = 2.7e+07 max = 3.7e+05) rate = 3.730110e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 380473 ( 3.8e+05 rank min = 2.3e+07 max = 3.8e+05) rate = 3.804730e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 388025 ( 3.9e+05 rank min = 2.4e+07 max = 3.9e+05) rate = 3.880250e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 395487 ( 4.0e+05 rank min = 2.7e+07 max = 4.0e+05) rate = 3.954870e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 402949 ( 4.0e+05 rank min = 2.6e+07 max = 4.0e+05) rate = 4.029490e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 410501 ( 4.1e+05 rank min = 2.7e+07 max = 4.1e+05) rate = 4.105010e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 417963 ( 4.2e+05 rank min = 2.6e+07 max = 4.2e+05) rate = 4.179630e+05 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 425516 ( 4.3e+05 rank min = 2.7e+07 max = 4.3e+05) rate = 4.255160e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 432978 ( 4.3e+05 rank min = 2.1e+07 max = 4.3e+05) rate = 4.329780e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 440441 ( 4.4e+05 rank min = 2.5e+07 max = 4.4e+05) rate = 4.404410e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 447993 ( 4.5e+05 rank min = 2.7e+07 max = 4.5e+05) rate = 4.479930e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 455455 ( 4.6e+05 rank min = 2.4e+07 max = 4.6e+05) rate = 4.554550e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 463007 ( 4.6e+05 rank min = 5.1e+05 max = 4.6e+05) rate = 4.630070e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 470469 ( 4.7e+05 rank min = 2.1e+07 max = 4.7e+05) rate = 4.704690e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 477931 ( 4.8e+05 rank min = 3.3e+07 max = 4.8e+05) rate = 4.779310e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 485483 ( 4.9e+05 rank min = 3.7e+06 max = 4.9e+05) rate = 4.854830e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 492945 ( 4.9e+05 rank min = 3.4e+07 max = 4.9e+05) rate = 4.929450e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 500497 ( 5.0e+05 rank min = 3.3e+07 max = 5.0e+05) rate = 5.004970e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 507960 ( 5.1e+05 rank min = 2.7e+07 max = 5.1e+05) rate = 5.079600e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 515422 ( 5.2e+05 rank min = 2.5e+07 max = 5.2e+05) rate = 5.154220e+05 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 522975 ( 5.2e+05 rank min = 1.6e+07 max = 5.2e+05) rate = 5.229750e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 530437 ( 5.3e+05 rank min = 2.7e+07 max = 5.3e+05) rate = 5.304370e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 537989 ( 5.4e+05 rank min = 2.6e+07 max = 5.4e+05) rate = 5.379890e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 545451 ( 5.5e+05 rank min = 2.7e+07 max = 5.5e+05) rate = 5.454510e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 552913 ( 5.5e+05 rank min = 2.6e+07 max = 5.5e+05) rate = 5.529130e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 560465 ( 5.6e+05 rank min = 2.8e+07 max = 5.6e+05) rate = 5.604650e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 567927 ( 5.7e+05 rank min = 2.7e+07 max = 5.7e+05) rate = 5.679270e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 575479 ( 5.8e+05 rank min = 2.5e+07 max = 5.8e+05) rate = 5.754790e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 582941 ( 5.8e+05 rank min = 2.7e+07 max = 5.8e+05) rate = 5.829410e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 590403 ( 5.9e+05 rank min = 2.6e+07 max = 5.9e+05) rate = 5.904030e+05 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 597956 ( 6.0e+05 rank min = 1.5e+07 max = 6.0e+05) rate = 5.979560e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 605418 ( 6.1e+05 rank min = 2.7e+07 max = 6.1e+05) rate = 6.054180e+05 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 612971 ( 6.1e+05 rank min = 2.6e+07 max = 6.1e+05) rate = 6.129710e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 620433 ( 6.2e+05 rank min = 2.5e+07 max = 6.2e+05) rate = 6.204330e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 627895 ( 6.3e+05 rank min = 2.6e+07 max = 6.3e+05) rate = 6.278950e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 635447 ( 6.4e+05 rank min = 3.0e+07 max = 6.4e+05) rate = 6.354470e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 642909 ( 6.4e+05 rank min = 2.6e+07 max = 6.4e+05) rate = 6.429090e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 650461 ( 6.5e+05 rank min = 2.7e+07 max = 6.5e+05) rate = 6.504610e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 657923 ( 6.6e+05 rank min = 2.7e+07 max = 6.6e+05) rate = 6.579230e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 665385 ( 6.7e+05 rank min = 2.5e+07 max = 6.7e+05) rate = 6.653850e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 672937 ( 6.7e+05 rank min = 2.6e+07 max = 6.7e+05) rate = 6.729370e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 680400 ( 6.8e+05 rank min = 2.5e+07 max = 6.8e+05) rate = 6.804000e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 687952 ( 6.9e+05 rank min = 1.6e+07 max = 6.9e+05) rate = 6.879520e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 695415 ( 7.0e+05 rank min = 3.9e+05 max = 7.0e+05) rate = 6.954150e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 702877 ( 7.0e+05 rank min = 2.1e+07 max = 7.0e+05) rate = 7.028770e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 710429 ( 7.1e+05 rank min = 2.2e+07 max = 7.1e+05) rate = 7.104290e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 717891 ( 7.2e+05 rank min = 2.7e+07 max = 7.2e+05) rate = 7.178910e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 725443 ( 7.3e+05 rank min = 1.7e+07 max = 7.3e+05) rate = 7.254430e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 732905 ( 7.3e+05 rank min = 1.7e+07 max = 7.3e+05) rate = 7.329050e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 740367 ( 7.4e+05 rank min = 2.5e+07 max = 7.4e+05) rate = 7.403670e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 747919 ( 7.5e+05 rank min = 2.6e+07 max = 7.5e+05) rate = 7.479190e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 755381 ( 7.6e+05 rank min = 2.7e+07 max = 7.6e+05) rate = 7.553810e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 762933 ( 7.6e+05 rank min = 2.5e+07 max = 7.6e+05) rate = 7.629330e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 770396 ( 7.7e+05 rank min = 2.6e+07 max = 7.7e+05) rate = 7.703960e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 777858 ( 7.8e+05 rank min = 2.7e+07 max = 7.8e+05) rate = 7.778580e+05 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 785411 ( 7.9e+05 rank min = 2.8e+07 max = 7.9e+05) rate = 7.854110e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 792873 ( 7.9e+05 rank min = 2.6e+07 max = 7.9e+05) rate = 7.928730e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 800425 ( 8.0e+05 rank min = 2.6e+07 max = 8.0e+05) rate = 8.004250e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 807887 ( 8.1e+05 rank min = 2.8e+07 max = 8.1e+05) rate = 8.078870e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 815349 ( 8.2e+05 rank min = 2.8e+07 max = 8.2e+05) rate = 8.153490e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 822901 ( 8.2e+05 rank min = 2.7e+07 max = 8.2e+05) rate = 8.229010e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 830363 ( 8.3e+05 rank min = 1.6e+07 max = 8.3e+05) rate = 8.303630e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 837915 ( 8.4e+05 rank min = 2.7e+07 max = 8.4e+05) rate = 8.379150e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 845377 ( 8.5e+05 rank min = 2.6e+07 max = 8.5e+05) rate = 8.453770e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 852840 ( 8.5e+05 rank min = 2.6e+07 max = 8.5e+05) rate = 8.528400e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 860392 ( 8.6e+05 rank min = 2.6e+07 max = 8.6e+05) rate = 8.603920e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 867855 ( 8.7e+05 rank min = 2.4e+07 max = 8.7e+05) rate = 8.678550e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 875407 ( 8.8e+05 rank min = 2.8e+07 max = 8.8e+05) rate = 8.754070e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 882869 ( 8.8e+05 rank min = 2.6e+07 max = 8.8e+05) rate = 8.828690e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 890331 ( 8.9e+05 rank min = 2.7e+07 max = 8.9e+05) rate = 8.903310e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 897883 ( 9.0e+05 rank min = 2.8e+07 max = 9.0e+05) rate = 8.978830e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 905345 ( 9.1e+05 rank min = 2.8e+07 max = 9.1e+05) rate = 9.053450e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 912897 ( 9.1e+05 rank min = 2.8e+07 max = 9.1e+05) rate = 9.128970e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 920359 ( 9.2e+05 rank min = 2.7e+07 max = 9.2e+05) rate = 9.203590e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 927821 ( 9.3e+05 rank min = 2.7e+07 max = 9.3e+05) rate = 9.278210e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 935373 ( 9.4e+05 rank min = 2.8e+07 max = 9.4e+05) rate = 9.353730e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 942836 ( 9.4e+05 rank min = 2.8e+07 max = 9.4e+05) rate = 9.428360e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 950388 ( 9.5e+05 rank min = 2.8e+07 max = 9.5e+05) rate = 9.503880e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 957851 ( 9.6e+05 rank min = 2.5e+07 max = 9.6e+05) rate = 9.578510e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 965313 ( 9.7e+05 rank min = 2.4e+07 max = 9.7e+05) rate = 9.653130e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 972865 ( 9.7e+05 rank min = 2.7e+07 max = 9.7e+05) rate = 9.728650e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 980327 ( 9.8e+05 rank min = 2.7e+07 max = 9.8e+05) rate = 9.803270e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 987879 ( 9.9e+05 rank min = 2.6e+07 max = 9.9e+05) rate = 9.878790e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 995341 ( 1.0e+06 rank min = 2.7e+07 max = 1.0e+06) rate = 9.953410e+05 N.s^-1
SPH setup: Nstep = 6179 ( 6.2e+03 ) Ntotal = 1001520 ( 1.0e+06 rank min = 1.8e+07 max = 1.0e+06) rate = 1.001520e+06 N.s^-1
SPH setup: Nstep = 0 ( 0.0e+00 ) Ntotal = 1001520 ( 1.0e+06 rank min = 0.0e+00 max = 1.0e+06) rate = 1.001520e+06 N.s^-1
SPH setup: Nstep = 6937 ( 6.9e+03 ) Ntotal = 1008457 ( 1.0e+06 rank min = 2.4e+07 max = 1.0e+06) rate = 1.008457e+06 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 1016010 ( 1.0e+06 rank min = 2.7e+07 max = 1.0e+06) rate = 1.016010e+06 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 1023472 ( 1.0e+06 rank min = 2.7e+07 max = 1.0e+06) rate = 1.023472e+06 N.s^-1
SPH setup: Nstep = 6128 ( 6.1e+03 ) Ntotal = 1029600 ( 1.0e+06 rank min = 1.4e+07 max = 1.0e+06) rate = 1.029600e+06 N.s^-1
SPH setup: the generation step took : 0.190267555 s
SPH setup: final particle count = 1029600 beginning injection ...
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 6.95 us (53.2%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 15625.0 min = 15625.0 factor = 1
- strategy "round robin" : max = 14843.8 min = 14843.8 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 1
min = 15625
max = 15625
avg = 15625
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 841.00 ns (0.1%)
patch tree reduce : 1.41 us (0.2%)
gen split merge : 841.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 1.04 us (0.2%)
LB compute : 650.66 us (98.2%)
LB move op cnt : 0
LB apply : 4.71 us (0.7%)
Info: patch count stable after 1 runs npatch = 1 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 15625 / 1029600 => 1.5% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.13 us (59.9%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 31250.0 min = 31250.0 factor = 1
- strategy "round robin" : max = 29687.5 min = 29687.5 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 1
min = 31250
max = 31250
avg = 31250
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 921.00 ns (0.4%)
patch tree reduce : 1.46 us (0.7%)
gen split merge : 951.00 ns (0.4%)
split / merge op : 0/0
apply split merge : 1.07 us (0.5%)
LB compute : 207.15 us (95.5%)
LB move op cnt : 0
LB apply : 3.08 us (1.4%)
Info: patch count stable after 1 runs npatch = 1 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 31250 / 1029600 => 3.0% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.28 us (58.6%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 46875.0 min = 46875.0 factor = 1
- strategy "round robin" : max = 44531.2 min = 44531.2 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 1
min = 46875
max = 46875
avg = 46875
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 911.00 ns (0.4%)
patch tree reduce : 1.29 us (0.6%)
gen split merge : 852.00 ns (0.4%)
split / merge op : 0/0
apply split merge : 1.11 us (0.5%)
LB compute : 212.04 us (95.4%)
LB move op cnt : 0
LB apply : 3.37 us (1.5%)
Info: patch count stable after 1 runs npatch = 1 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 46875 / 1029600 => 4.6% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.76 us (60.6%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 62500.0 min = 62500.0 factor = 1
- strategy "round robin" : max = 59375.0 min = 59375.0 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 1
min = 62500
max = 62500
avg = 62500
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 761.00 ns (0.4%)
patch tree reduce : 1.44 us (0.7%)
gen split merge : 1.00 us (0.5%)
split / merge op : 0/0
apply split merge : 1.05 us (0.5%)
LB compute : 192.62 us (95.1%)
LB move op cnt : 0
LB apply : 3.12 us (1.5%)
Info: patch count stable after 1 runs npatch = 1 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 62500 / 1029600 => 6.1% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.56 us (62.2%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 78120.0 min = 78120.0 factor = 1
- strategy "round robin" : max = 74214.0 min = 74214.0 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 8
min = 78120
max = 78120
avg = 78120
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 941.00 ns (0.0%)
patch tree reduce : 1.22 us (0.0%)
gen split merge : 1.17 us (0.0%)
split / merge op : 1/0
apply split merge : 16.42 ms (97.7%)
LB compute : 335.35 us (2.0%)
LB move op cnt : 0
LB apply : 6.35 us (0.0%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 5.23 us (70.7%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 78125.0 min = 78125.0 factor = 1
- strategy "round robin" : max = 74218.8 min = 74218.8 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 8
min = 78125
max = 78125
avg = 78125
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1.07 us (0.6%)
patch tree reduce : 2.11 us (1.2%)
gen split merge : 631.00 ns (0.4%)
split / merge op : 0/0
apply split merge : 591.00 ns (0.3%)
LB compute : 161.68 us (94.6%)
LB move op cnt : 0
LB apply : 781.00 ns (0.5%)
Info: patch count stable after 2 runs npatch = 8 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 78125 / 1029600 => 7.6% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.33 us (49.8%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 203125.0 min = 203125.0 factor = 1
- strategy "round robin" : max = 192968.8 min = 192968.8 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 8
min = 203125
max = 203125
avg = 203125
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 821.00 ns (0.3%)
patch tree reduce : 2.82 us (1.0%)
gen split merge : 932.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 971.00 ns (0.3%)
LB compute : 266.39 us (95.0%)
LB move op cnt : 0
LB apply : 3.46 us (1.2%)
Info: patch count stable after 1 runs npatch = 8 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 203125 / 1029600 => 19.7% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.36 us (51.6%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 328125.0 min = 328125.0 factor = 1
- strategy "round robin" : max = 311718.8 min = 311718.8 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 8
min = 328125
max = 328125
avg = 328125
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 971.00 ns (0.4%)
patch tree reduce : 3.19 us (1.3%)
gen split merge : 1.03 us (0.4%)
split / merge op : 0/0
apply split merge : 962.00 ns (0.4%)
LB compute : 240.53 us (94.4%)
LB move op cnt : 0
LB apply : 3.30 us (1.3%)
Info: patch count stable after 1 runs npatch = 8 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 328125 / 1029600 => 31.9% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.32 us (51.2%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 453125.0 min = 453125.0 factor = 1
- strategy "round robin" : max = 430468.8 min = 430468.8 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 8
min = 453125
max = 453125
avg = 453125
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 891.00 ns (0.3%)
patch tree reduce : 3.26 us (1.3%)
gen split merge : 921.00 ns (0.4%)
split / merge op : 0/0
apply split merge : 1.16 us (0.5%)
LB compute : 243.58 us (94.4%)
LB move op cnt : 0
LB apply : 3.16 us (1.2%)
Info: patch count stable after 1 runs npatch = 8 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 453125 / 1029600 => 44.0% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.30 us (53.1%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 578096.0 min = 578096.0 factor = 1
- strategy "round robin" : max = 549191.2 min = 549191.2 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 64
min = 578096
max = 578096
avg = 578096
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 841.00 ns (0.0%)
patch tree reduce : 3.24 us (0.0%)
gen split merge : 1.56 us (0.0%)
split / merge op : 8/0
apply split merge : 116.29 ms (99.6%)
LB compute : 425.02 us (0.4%)
LB move op cnt : 0
LB apply : 7.55 us (0.0%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.45 us (16.3%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 578125.0 min = 578125.0 factor = 1
- strategy "round robin" : max = 549218.8 min = 549218.8 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 64
min = 578125
max = 578125
avg = 578125
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1.18 us (0.5%)
patch tree reduce : 13.70 us (5.7%)
gen split merge : 1.34 us (0.6%)
split / merge op : 0/0
apply split merge : 501.00 ns (0.2%)
LB compute : 185.73 us (76.9%)
LB move op cnt : 0
LB apply : 771.00 ns (0.3%)
Info: patch count stable after 2 runs npatch = 64 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 578125 / 1029600 => 56.2% | ranks with patchs = 1 / 1 -> local loop <-
Info: --------------------------------------------- [DataInserterUtility][rank=0]
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 7.75 us (21.7%)
Info: Summary (strategy = round robin): [LoadBalance][rank=0]
- strategy "psweep" : max = 1029600.0 min = 1029600.0 factor = 1
- strategy "round robin" : max = 978120.0 min = 978120.0 factor = 0.95
Info: Loadbalance stats : [LoadBalance][rank=0]
npatch = 64
min = 1029600
max = 1029600
avg = 1029600
efficiency = 100.00%
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1.57 us (0.5%)
patch tree reduce : 13.78 us (4.3%)
gen split merge : 1.29 us (0.4%)
split / merge op : 0/0
apply split merge : 952.00 ns (0.3%)
LB compute : 267.73 us (83.1%)
LB move op cnt : 0
LB apply : 3.21 us (1.0%)
Info: patch count stable after 1 runs npatch = 64 [DataInserterUtility][rank=0]
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 1029600 / 1029600 => 100.0% | ranks with patchs = 1 / 1 <- global loop -> (msg count : 0)
SPH setup: dumping setup log to setup_log_step.json
SPH setup: the injection step took : 2.4485611940000003 s
Info: injection perf report: [SPH setup][rank=0]
+======+====================+=======+=============+=============+=============+
| rank | rank get (sum/max) | MPI | alloc d% h% | mem (max) d | mem (max) h |
+======+====================+=======+=============+=============+=============+
| 0 | 0.00s / 0.00s | 0.00s | 0.6% 0.0% | 2.15 GB | 2.15 GB |
+------+--------------------+-------+-------------+-------------+-------------+
SPH setup: the setup took : 2.776746156 s
Utility to render the logs Copy paste this one if you want to do it outside of this setup
114 folder = "_to_trash/sph_setup_logs"
115 os.makedirs(folder, exist_ok=True)
116
117
118 def print_setup_logs(filepath, name_png_prefix):
119 with open(filepath, "r") as file:
120 data = json.load(file)
121
122 max_count = np.max([np.max(step["count_per_rank"]) for step in data])
123 print("Max count: ", max_count)
124
125 max_msg_size = np.max(
126 [np.max([indices_size for _, _, indices_size in step["msg_list"]] + [0]) for step in data]
127 )
128 print("Max msg size: ", max_msg_size)
129
130 for step_idx, step in enumerate(data):
131 world_size = len(step["count_per_rank"])
132
133 comm_matrix = np.zeros((world_size, world_size))
134
135 for msg in step["msg_list"]:
136 sender_rank, receiver_rank, indices_size = msg
137 comm_matrix[sender_rank][receiver_rank] = indices_size
138
139 # Create figure with better layout
140 fig = plt.figure(figsize=(14, 10), dpi=125)
141 fig.suptitle(f"Setup Step {step_idx}", fontsize=16, fontweight="bold")
142
143 # Create GridSpec layout: counts on left, matrix in middle, colorbar on right
144 gs = gridspec.GridSpec(1, 3, figure=fig, width_ratios=[1, 3, 0.15], wspace=0.02)
145
146 # Count per rank subplot (left)
147 ax2 = fig.add_subplot(gs[0, 0])
148 ax2.barh(
149 np.arange(world_size), step["count_per_rank"], height=0.8, color="steelblue", alpha=0.7
150 )
151 ax2.set_xlabel("Particle Count", fontsize=11)
152 ax2.set_ylabel("Sender Rank", fontsize=12)
153 ax2.set_xlim(0, max_count * 1.1)
154 ax2.grid(True, alpha=0.3, linestyle="--", axis="x")
155 ax2.invert_yaxis() # Match imshow orientation
156 ax2.invert_xaxis() # Bars grow towards the matrix
157 ax2.tick_params(axis="x", rotation=45)
158
159 # Communication matrix subplot (middle, shares y-axis)
160 ax1 = fig.add_subplot(gs[0, 1], sharey=ax2)
161
162 # Create a masked array to handle zeros
163 comm_matrix_masked = np.ma.masked_where(comm_matrix == 0, comm_matrix)
164
165 # Create colormap with black for null values
166 cmap = plt.cm.viridis.copy()
167 cmap.set_bad(color="black")
168
169 # Use logarithmic normalization
170 vmin = np.min(comm_matrix[comm_matrix > 0]) if np.any(comm_matrix > 0) else 1
171 norm = mcolors.LogNorm(vmin=1, vmax=max(max_msg_size, 2))
172
173 im = ax1.imshow(
174 comm_matrix_masked, cmap=cmap, aspect="equal", interpolation="nearest", norm=norm
175 )
176 ax1.set_xlabel("Receiver Rank", fontsize=12)
177 ax1.set_title(
178 "Communication Matrix & Particle Count per Rank (log scale)", fontsize=14, pad=10
179 )
180 ax1.grid(False)
181 ax1.tick_params(labelleft=False) # Hide y-axis labels since they're shared
182
183 # Colorbar on the right
184 cax = fig.add_subplot(gs[0, 2])
185 cbar = plt.colorbar(im, cax=cax)
186 cbar.set_label("Message Size (log scale)", rotation=270, labelpad=20, fontsize=11)
187
188 # Add statistics as text
189 total_count = np.sum(step["count_per_rank"])
190 avg_count = np.mean(step["count_per_rank"])
191 std_count = np.std(step["count_per_rank"])
192 stats_text = f"Total: {total_count:,}\nAvg: {avg_count:.1f}\nStd: {std_count:.1f}"
193 ax2.text(
194 0.02,
195 0.02,
196 stats_text,
197 transform=ax2.transAxes,
198 fontsize=9,
199 verticalalignment="bottom",
200 horizontalalignment="left",
201 bbox=dict(boxstyle="round", facecolor="wheat", alpha=0.5),
202 )
203
204 plt.tight_layout()
205 plt.savefig(os.path.join(folder, f"{name_png_prefix}_{step_idx:05d}.png"))
206 plt.close()
Make gif for the doc (plot_to_gif.py)
Convert PNG sequence to Image sequence in mpl
215 import matplotlib.animation as animation
216 from shamrock.utils.plot import show_image_sequence
Do it for setup logs
221 print_setup_logs("setup_log_step.json", "setup_log_step")
Max count: 1029600
Max msg size: 0
/work/doc/sphinx/examples/sph/run_sphsetup_logs.py:204: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.
plt.tight_layout()
Make a gif out of it
225 render_gif = True
226 glob_str = os.path.join(folder, "setup_log_step_*.png")
227
228 # If the animation is not returned only a static image will be shown in the doc
229 ani = show_image_sequence(glob_str, render_gif=render_gif)
230
231 # To save the animation using Pillow as a gif
232 writer = animation.PillowWriter(fps=15, metadata=dict(artist="Me"), bitrate=1800)
233 ani.save(folder + "setup_log_step.gif", writer=writer)
234
235 # Show the animation
236 plt.show()
Same as above but on an example with 4 processes
Example data on same setup but 4 processes
249 saved_data = [
250 {"count_per_rank": [5580, 15001, 15015, 15015], "msg_list": [], "step_counter": 0},
251 {"count_per_rank": [20505, 30016, 30032, 30030], "msg_list": [], "step_counter": 1},
252 {"count_per_rank": [35520, 44941, 45047, 45045], "msg_list": [], "step_counter": 2},
253 {"count_per_rank": [50536, 59957, 59972, 60060], "msg_list": [], "step_counter": 3},
254 {"count_per_rank": [65551, 74972, 74988, 74986], "msg_list": [], "step_counter": 4},
255 {"count_per_rank": [80566, 89987, 90003, 90001], "msg_list": [], "step_counter": 5},
256 {"count_per_rank": [95492, 105003, 105018, 105016], "msg_list": [], "step_counter": 6},
257 {"count_per_rank": [110507, 119928, 120034, 120032], "msg_list": [], "step_counter": 7},
258 {"count_per_rank": [125522, 134943, 134959, 135047], "msg_list": [], "step_counter": 8},
259 {"count_per_rank": [140538, 149959, 149974, 149972], "msg_list": [], "step_counter": 9},
260 {"count_per_rank": [155553, 164974, 164990, 164988], "msg_list": [], "step_counter": 10},
261 {"count_per_rank": [170478, 179989, 180005, 180003], "msg_list": [], "step_counter": 11},
262 {"count_per_rank": [185493, 194916, 195020, 195018], "msg_list": [], "step_counter": 12},
263 {"count_per_rank": [200508, 209931, 209945, 210034], "msg_list": [], "step_counter": 13},
264 {"count_per_rank": [215524, 224946, 224960, 224959], "msg_list": [], "step_counter": 14},
265 {"count_per_rank": [230539, 239962, 239976, 239974], "msg_list": [], "step_counter": 15},
266 {"count_per_rank": [245464, 254977, 254991, 246088], "msg_list": [], "step_counter": 16},
267 {"count_per_rank": [260022, 268499, 254991, 246088], "msg_list": [], "step_counter": 17},
268 {"count_per_rank": [244397, 268499, 254991, 246088], "msg_list": [], "step_counter": 18},
269 {"count_per_rank": [228772, 268499, 254991, 246088], "msg_list": [], "step_counter": 19},
270 {"count_per_rank": [213147, 268499, 254991, 246088], "msg_list": [], "step_counter": 20},
271 {"count_per_rank": [197522, 268499, 254991, 246088], "msg_list": [], "step_counter": 21},
272 {"count_per_rank": [181897, 268499, 254991, 246088], "msg_list": [], "step_counter": 22},
273 {"count_per_rank": [150647, 237249, 223741, 214838], "msg_list": [], "step_counter": 23},
274 {"count_per_rank": [136436, 205999, 192491, 184599], "msg_list": [], "step_counter": 24},
275 {
276 "count_per_rank": [136436, 205999, 192491, 184599],
277 "msg_list": [[1, 0, 201354], [2, 0, 191172], [3, 0, 184546]],
278 "step_counter": 25,
279 },
280 {
281 "count_per_rank": [152061, 201354, 191172, 168921],
282 "msg_list": [[1, 0, 201354], [2, 0, 191172], [3, 0, 184546]],
283 "step_counter": 26,
284 },
285 {
286 "count_per_rank": [152061, 201354, 191172, 168921],
287 "msg_list": [
288 [0, 1, 50663],
289 [0, 2, 50663],
290 [0, 3, 45457],
291 [1, 2, 67145],
292 [1, 0, 67104],
293 [1, 3, 67105],
294 [2, 1, 63823],
295 [2, 0, 63673],
296 [2, 3, 63676],
297 [3, 1, 56327],
298 [3, 2, 56330],
299 [3, 0, 56264],
300 ],
301 "step_counter": 27,
302 },
303 {
304 "count_per_rank": [146783, 185729, 206797, 168921],
305 "msg_list": [
306 [0, 1, 50663],
307 [0, 2, 50663],
308 [0, 3, 45457],
309 [1, 2, 67145],
310 [1, 0, 67104],
311 [1, 3, 67105],
312 [2, 1, 63823],
313 [2, 0, 63673],
314 [2, 3, 63676],
315 [3, 1, 56327],
316 [3, 2, 56330],
317 [3, 0, 56264],
318 ],
319 "step_counter": 28,
320 },
321 {
322 "count_per_rank": [146783, 185729, 206797, 168921],
323 "msg_list": [
324 [0, 1, 50663],
325 [0, 2, 50663],
326 [0, 3, 45457],
327 [1, 2, 51520],
328 [1, 0, 67104],
329 [1, 3, 67105],
330 [2, 1, 63823],
331 [2, 0, 63673],
332 [2, 3, 63676],
333 [3, 1, 56327],
334 [3, 2, 56330],
335 [3, 0, 56264],
336 ],
337 "step_counter": 29,
338 },
339 {
340 "count_per_rank": [162408, 185729, 175547, 168921],
341 "msg_list": [
342 [0, 1, 50663],
343 [0, 2, 50663],
344 [0, 3, 45457],
345 [1, 2, 51520],
346 [1, 0, 67104],
347 [1, 3, 67105],
348 [2, 1, 63823],
349 [2, 0, 63673],
350 [2, 3, 63676],
351 [3, 1, 56327],
352 [3, 2, 56330],
353 [3, 0, 56264],
354 ],
355 "step_counter": 30,
356 },
357 {
358 "count_per_rank": [162408, 185729, 175547, 168921],
359 "msg_list": [
360 [0, 1, 50663],
361 [0, 2, 50663],
362 [0, 3, 45457],
363 [1, 2, 51520],
364 [1, 0, 67104],
365 [1, 3, 67105],
366 [2, 0, 48048],
367 [2, 1, 63823],
368 [2, 3, 63676],
369 [3, 1, 56327],
370 [3, 2, 56330],
371 [3, 0, 56264],
372 ],
373 "step_counter": 31,
374 },
375 {
376 "count_per_rank": [162408, 170104, 159922, 184546],
377 "msg_list": [
378 [0, 1, 50663],
379 [0, 2, 50663],
380 [0, 3, 45457],
381 [1, 2, 51520],
382 [1, 0, 67104],
383 [1, 3, 67105],
384 [2, 0, 48048],
385 [2, 1, 63823],
386 [2, 3, 63676],
387 [3, 1, 56327],
388 [3, 2, 56330],
389 [3, 0, 56264],
390 ],
391 "step_counter": 32,
392 },
393 {
394 "count_per_rank": [162408, 170104, 159922, 184546],
395 "msg_list": [
396 [0, 1, 50663],
397 [0, 2, 50663],
398 [0, 3, 45457],
399 [1, 0, 51479],
400 [1, 2, 51520],
401 [1, 3, 67105],
402 [2, 0, 48048],
403 [2, 3, 48051],
404 [2, 1, 63823],
405 [3, 1, 56327],
406 [3, 2, 56330],
407 [3, 0, 56264],
408 ],
409 "step_counter": 33,
410 },
411 {
412 "count_per_rank": [162408, 185729, 144297, 153296],
413 "msg_list": [
414 [0, 1, 50663],
415 [0, 2, 50663],
416 [0, 3, 45457],
417 [1, 0, 51479],
418 [1, 2, 51520],
419 [1, 3, 67105],
420 [2, 0, 48048],
421 [2, 3, 48051],
422 [2, 1, 63823],
423 [3, 1, 56327],
424 [3, 2, 56330],
425 [3, 0, 56264],
426 ],
427 "step_counter": 34,
428 },
429 {
430 "count_per_rank": [162408, 185729, 144297, 153296],
431 "msg_list": [
432 [0, 1, 50663],
433 [0, 2, 50663],
434 [0, 3, 45457],
435 [1, 0, 51479],
436 [1, 2, 51520],
437 [1, 3, 67105],
438 [2, 0, 48048],
439 [2, 3, 48051],
440 [2, 1, 48198],
441 [3, 0, 40639],
442 [3, 1, 56327],
443 [3, 2, 56330],
444 ],
445 "step_counter": 35,
446 },
447 {
448 "count_per_rank": [131158, 185729, 128672, 168921],
449 "msg_list": [
450 [0, 1, 50663],
451 [0, 2, 50663],
452 [0, 3, 45457],
453 [1, 0, 51479],
454 [1, 2, 51520],
455 [1, 3, 67105],
456 [2, 0, 48048],
457 [2, 3, 48051],
458 [2, 1, 48198],
459 [3, 0, 40639],
460 [3, 1, 56327],
461 [3, 2, 56330],
462 ],
463 "step_counter": 36,
464 },
465 {
466 "count_per_rank": [131158, 185729, 128672, 168921],
467 "msg_list": [
468 [0, 3, 29832],
469 [0, 1, 50663],
470 [0, 2, 50663],
471 [1, 0, 51479],
472 [1, 2, 51520],
473 [1, 3, 67105],
474 [2, 1, 32573],
475 [2, 0, 48048],
476 [2, 3, 48051],
477 [3, 0, 40639],
478 [3, 1, 56327],
479 [3, 2, 56330],
480 ],
481 "step_counter": 37,
482 },
483 {
484 "count_per_rank": [131158, 185729, 113047, 153296],
485 "msg_list": [
486 [0, 3, 29832],
487 [0, 1, 50663],
488 [0, 2, 50663],
489 [1, 0, 51479],
490 [1, 2, 51520],
491 [1, 3, 67105],
492 [2, 1, 32573],
493 [2, 0, 48048],
494 [2, 3, 48051],
495 [3, 0, 40639],
496 [3, 1, 56327],
497 [3, 2, 56330],
498 ],
499 "step_counter": 38,
500 },
501 {
502 "count_per_rank": [131158, 185729, 113047, 153296],
503 "msg_list": [
504 [0, 3, 29832],
505 [0, 1, 25460],
506 [0, 2, 75866],
507 [1, 0, 51479],
508 [1, 2, 51520],
509 [1, 3, 67105],
510 [2, 1, 7984],
511 [2, 0, 48048],
512 [2, 3, 48051],
513 [3, 0, 40639],
514 [3, 1, 27932],
515 [3, 2, 84725],
516 ],
517 "step_counter": 39,
518 },
519 {
520 "count_per_rank": [146783, 154479, 128672, 137671],
521 "msg_list": [
522 [0, 3, 29832],
523 [0, 1, 25460],
524 [0, 2, 75866],
525 [1, 0, 51479],
526 [1, 2, 51520],
527 [1, 3, 67105],
528 [2, 1, 7984],
529 [2, 0, 48048],
530 [2, 3, 48051],
531 [3, 0, 40639],
532 [3, 1, 27932],
533 [3, 2, 84725],
534 ],
535 "step_counter": 40,
536 },
537 {
538 "count_per_rank": [146783, 154479, 128672, 137671],
539 "msg_list": [
540 [0, 3, 29832],
541 [0, 1, 34741],
542 [0, 2, 66585],
543 [1, 0, 35854],
544 [1, 2, 51520],
545 [1, 3, 67105],
546 [2, 1, 14682],
547 [2, 0, 48048],
548 [2, 3, 48051],
549 [3, 0, 40639],
550 [3, 2, 60762],
551 [3, 1, 36270],
552 ],
553 "step_counter": 41,
554 },
555 {
556 "count_per_rank": [115533, 170104, 126406, 122046],
557 "msg_list": [
558 [0, 3, 29832],
559 [0, 1, 34741],
560 [0, 2, 66585],
561 [1, 0, 35854],
562 [1, 2, 51520],
563 [1, 3, 67105],
564 [2, 1, 14682],
565 [2, 0, 48048],
566 [2, 3, 48051],
567 [3, 0, 40639],
568 [3, 2, 60762],
569 [3, 1, 36270],
570 ],
571 "step_counter": 42,
572 },
573 {
574 "count_per_rank": [115533, 170104, 126406, 122046],
575 "msg_list": [
576 [0, 2, 31660],
577 [0, 3, 49132],
578 [0, 1, 34741],
579 [1, 0, 31515],
580 [1, 2, 25616],
581 [1, 3, 93009],
582 [2, 1, 18234],
583 [2, 0, 44496],
584 [2, 3, 48051],
585 [3, 1, 23293],
586 [3, 0, 37991],
587 [3, 2, 38418],
588 ],
589 "step_counter": 43,
590 },
591 {
592 "count_per_rank": [115533, 150140, 95156, 137671],
593 "msg_list": [
594 [0, 2, 31660],
595 [0, 3, 49132],
596 [0, 1, 34741],
597 [1, 0, 31515],
598 [1, 2, 25616],
599 [1, 3, 93009],
600 [2, 1, 18234],
601 [2, 0, 44496],
602 [2, 3, 48051],
603 [3, 1, 23293],
604 [3, 0, 37991],
605 [3, 2, 38418],
606 ],
607 "step_counter": 44,
608 },
609 {
610 "count_per_rank": [115533, 150140, 95156, 106421],
611 "msg_list": [
612 [0, 2, 31660],
613 [0, 3, 49132],
614 [0, 1, 34741],
615 [1, 0, 31515],
616 [1, 2, 25616],
617 [1, 3, 93009],
618 [2, 1, 18234],
619 [2, 0, 44496],
620 [2, 3, 48051],
621 [3, 1, 23293],
622 [3, 0, 37991],
623 [3, 2, 38418],
624 ],
625 "step_counter": 45,
626 },
627 {
628 "count_per_rank": [115533, 150140, 95156, 106421],
629 "msg_list": [
630 [0, 3, 29832],
631 [0, 2, 41334],
632 [0, 1, 40981],
633 [1, 0, 31515],
634 [1, 2, 51520],
635 [1, 3, 67105],
636 [2, 1, 13650],
637 [2, 3, 32426],
638 [2, 0, 49080],
639 [3, 0, 42614],
640 [3, 1, 30632],
641 [3, 2, 31539],
642 ],
643 "step_counter": 46,
644 },
645 {
646 "count_per_rank": [127772, 150140, 95156, 89160],
647 "msg_list": [
648 [0, 3, 29832],
649 [0, 2, 41334],
650 [0, 1, 40981],
651 [1, 0, 31515],
652 [1, 2, 51520],
653 [1, 3, 67105],
654 [2, 1, 13650],
655 [2, 3, 32426],
656 [2, 0, 49080],
657 [3, 0, 42614],
658 [3, 1, 30632],
659 [3, 2, 31539],
660 ],
661 "step_counter": 47,
662 },
663 {
664 "count_per_rank": [127772, 150140, 95156, 89160],
665 "msg_list": [
666 [0, 2, 38838],
667 [0, 3, 34668],
668 [0, 1, 38641],
669 [1, 0, 31515],
670 [1, 2, 45040],
671 [1, 3, 73585],
672 [2, 1, 14682],
673 [2, 3, 32426],
674 [2, 0, 48048],
675 [3, 0, 25766],
676 [3, 1, 28745],
677 [3, 2, 34649],
678 ],
679 "step_counter": 48,
680 },
681 {
682 "count_per_rank": [96522, 150140, 110781, 89160],
683 "msg_list": [
684 [0, 2, 38838],
685 [0, 3, 34668],
686 [0, 1, 38641],
687 [1, 0, 31515],
688 [1, 2, 45040],
689 [1, 3, 73585],
690 [2, 1, 14682],
691 [2, 3, 32426],
692 [2, 0, 48048],
693 [3, 0, 25766],
694 [3, 1, 28745],
695 [3, 2, 34649],
696 ],
697 "step_counter": 49,
698 },
699 {
700 "count_per_rank": [96522, 150140, 110781, 89160],
701 "msg_list": [
702 [0, 2, 21747],
703 [0, 3, 34668],
704 [0, 1, 40107],
705 [1, 0, 31515],
706 [1, 2, 45040],
707 [1, 3, 73585],
708 [2, 1, 14682],
709 [2, 3, 32426],
710 [2, 0, 48048],
711 [3, 0, 25766],
712 [3, 1, 31855],
713 [3, 2, 31539],
714 ],
715 "step_counter": 50,
716 },
717 {
718 "count_per_rank": [96522, 150140, 79531, 104785],
719 "msg_list": [
720 [0, 2, 21747],
721 [0, 3, 34668],
722 [0, 1, 40107],
723 [1, 0, 31515],
724 [1, 2, 45040],
725 [1, 3, 73585],
726 [2, 1, 14682],
727 [2, 3, 32426],
728 [2, 0, 48048],
729 [3, 0, 25766],
730 [3, 1, 31855],
731 [3, 2, 31539],
732 ],
733 "step_counter": 51,
734 },
735 {
736 "count_per_rank": [96522, 150140, 79531, 104785],
737 "msg_list": [
738 [0, 3, 33052],
739 [0, 2, 23363],
740 [0, 1, 40107],
741 [1, 0, 31515],
742 [1, 2, 48274],
743 [1, 3, 70351],
744 [2, 3, 16801],
745 [2, 1, 14682],
746 [2, 0, 48048],
747 [3, 0, 25766],
748 [3, 1, 31855],
749 [3, 2, 31539],
750 ],
751 "step_counter": 52,
752 },
753 {
754 "count_per_rank": [96522, 150140, 95156, 73535],
755 "msg_list": [
756 [0, 3, 33052],
757 [0, 2, 23363],
758 [0, 1, 40107],
759 [1, 0, 31515],
760 [1, 2, 48274],
761 [1, 3, 70351],
762 [2, 3, 16801],
763 [2, 1, 14682],
764 [2, 0, 48048],
765 [3, 0, 25766],
766 [3, 1, 31855],
767 [3, 2, 31539],
768 ],
769 "step_counter": 53,
770 },
771 {
772 "count_per_rank": [96522, 150140, 95156, 73535],
773 "msg_list": [
774 [0, 2, 20283],
775 [0, 3, 34668],
776 [0, 1, 41571],
777 [1, 0, 31515],
778 [1, 2, 45040],
779 [1, 3, 73585],
780 [2, 3, 16801],
781 [2, 1, 13650],
782 [2, 0, 49080],
783 [3, 2, 14480],
784 [3, 0, 26989],
785 [3, 1, 32066],
786 ],
787 "step_counter": 54,
788 },
789 {
790 "count_per_rank": [96522, 134515, 79531, 89160],
791 "msg_list": [
792 [0, 2, 20283],
793 [0, 3, 34668],
794 [0, 1, 41571],
795 [1, 0, 31515],
796 [1, 2, 45040],
797 [1, 3, 73585],
798 [2, 3, 16801],
799 [2, 1, 13650],
800 [2, 0, 49080],
801 [3, 2, 14480],
802 [3, 0, 26989],
803 [3, 1, 32066],
804 ],
805 "step_counter": 55,
806 },
807 {
808 "count_per_rank": [96522, 134515, 79531, 89160],
809 "msg_list": [
810 [0, 3, 29832],
811 [0, 2, 25119],
812 [0, 1, 41571],
813 [1, 0, 31515],
814 [1, 3, 51507],
815 [1, 2, 51493],
816 [2, 3, 16801],
817 [2, 1, 14682],
818 [2, 0, 48048],
819 [3, 2, 14480],
820 [3, 0, 25766],
821 [3, 1, 33289],
822 ],
823 "step_counter": 56,
824 },
825 {
826 "count_per_rank": [112147, 118890, 79531, 73535],
827 "msg_list": [
828 [0, 3, 29832],
829 [0, 2, 25119],
830 [0, 1, 41571],
831 [1, 0, 31515],
832 [1, 3, 51507],
833 [1, 2, 51493],
834 [2, 3, 16801],
835 [2, 1, 14682],
836 [2, 0, 48048],
837 [3, 2, 14480],
838 [3, 0, 25766],
839 [3, 1, 33289],
840 ],
841 "step_counter": 57,
842 },
843 {
844 "count_per_rank": [112147, 118890, 79531, 73535],
845 "msg_list": [
846 [0, 3, 29832],
847 [0, 2, 25119],
848 [0, 1, 41571],
849 [1, 0, 15890],
850 [1, 3, 51507],
851 [1, 2, 51493],
852 [2, 3, 16801],
853 [2, 1, 14682],
854 [2, 0, 48048],
855 [3, 2, 14480],
856 [3, 0, 25766],
857 [3, 1, 33289],
858 ],
859 "step_counter": 58,
860 },
861 {
862 "count_per_rank": [112147, 118890, 63906, 73535],
863 "msg_list": [
864 [0, 3, 29832],
865 [0, 2, 25119],
866 [0, 1, 41571],
867 [1, 0, 15890],
868 [1, 3, 51507],
869 [1, 2, 51493],
870 [2, 3, 16801],
871 [2, 1, 14682],
872 [2, 0, 48048],
873 [3, 2, 14480],
874 [3, 0, 25766],
875 [3, 1, 33289],
876 ],
877 "step_counter": 59,
878 },
879 {
880 "count_per_rank": [112147, 118890, 63906, 73535],
881 "msg_list": [
882 [0, 3, 33052],
883 [0, 2, 23363],
884 [0, 1, 40107],
885 [1, 0, 15890],
886 [1, 3, 54726],
887 [1, 2, 48274],
888 [2, 3, 16801],
889 [2, 1, 16835],
890 [2, 0, 30270],
891 [3, 2, 15914],
892 [3, 0, 24521],
893 [3, 1, 33100],
894 ],
895 "step_counter": 60,
896 },
897 {
898 "count_per_rank": [80897, 118890, 79531, 73535],
899 "msg_list": [
900 [0, 3, 33052],
901 [0, 2, 23363],
902 [0, 1, 40107],
903 [1, 0, 15890],
904 [1, 3, 54726],
905 [1, 2, 48274],
906 [2, 3, 16801],
907 [2, 1, 16835],
908 [2, 0, 30270],
909 [3, 2, 15914],
910 [3, 0, 24521],
911 [3, 1, 33100],
912 ],
913 "step_counter": 61,
914 },
915 {
916 "count_per_rank": [80897, 118890, 79531, 73535],
917 "msg_list": [
918 [0, 2, 6934],
919 [0, 3, 33361],
920 [0, 1, 40602],
921 [1, 0, 15890],
922 [1, 3, 57960],
923 [1, 2, 45040],
924 [2, 3, 16801],
925 [2, 1, 16835],
926 [2, 0, 30270],
927 [3, 2, 14480],
928 [3, 0, 24521],
929 [3, 1, 34534],
930 ],
931 "step_counter": 62,
932 },
933 {
934 "count_per_rank": [80897, 118890, 48281, 89160],
935 "msg_list": [
936 [0, 2, 6934],
937 [0, 3, 33361],
938 [0, 1, 40602],
939 [1, 0, 15890],
940 [1, 3, 57960],
941 [1, 2, 45040],
942 [2, 3, 16801],
943 [2, 1, 16835],
944 [2, 0, 30270],
945 [3, 2, 14480],
946 [3, 0, 24521],
947 [3, 1, 34534],
948 ],
949 "step_counter": 63,
950 },
951 {
952 "count_per_rank": [80897, 118890, 48281, 89160],
953 "msg_list": [
954 [0, 3, 29832],
955 [0, 2, 10463],
956 [0, 1, 40602],
957 [1, 0, 15890],
958 [1, 3, 51507],
959 [1, 2, 51493],
960 [2, 3, 1176],
961 [2, 1, 14682],
962 [2, 0, 32423],
963 [3, 2, 14480],
964 [3, 0, 25766],
965 [3, 1, 33289],
966 ],
967 "step_counter": 64,
968 },
969 {
970 "count_per_rank": [80897, 103265, 48281, 89160],
971 "msg_list": [
972 [0, 3, 29832],
973 [0, 2, 10463],
974 [0, 1, 40602],
975 [1, 0, 15890],
976 [1, 3, 51507],
977 [1, 2, 51493],
978 [2, 3, 1176],
979 [2, 1, 14682],
980 [2, 0, 32423],
981 [3, 2, 14480],
982 [3, 0, 25766],
983 [3, 1, 33289],
984 ],
985 "step_counter": 65,
986 },
987 {
988 "count_per_rank": [80897, 103265, 48281, 89160],
989 "msg_list": [
990 [0, 3, 27433],
991 [0, 2, 12360],
992 [0, 1, 41104],
993 [1, 0, 15890],
994 [1, 3, 33515],
995 [1, 2, 50760],
996 [2, 3, 1083],
997 [2, 1, 14682],
998 [2, 0, 32423],
999 [3, 2, 13036],
1000 [3, 0, 25766],
1001 [3, 1, 34733],
1002 ],
1003 "step_counter": 66,
1004 },
1005 {
1006 "count_per_rank": [65272, 103265, 48281, 89160],
1007 "msg_list": [
1008 [0, 3, 27433],
1009 [0, 2, 12360],
1010 [0, 1, 41104],
1011 [1, 0, 15890],
1012 [1, 3, 33515],
1013 [1, 2, 50760],
1014 [2, 3, 1083],
1015 [2, 1, 14682],
1016 [2, 0, 32423],
1017 [3, 2, 13036],
1018 [3, 0, 25766],
1019 [3, 1, 34733],
1020 ],
1021 "step_counter": 67,
1022 },
1023 {
1024 "count_per_rank": [65272, 103265, 48281, 89160],
1025 "msg_list": [
1026 [0, 3, 11808],
1027 [0, 2, 12360],
1028 [0, 1, 41104],
1029 [1, 0, 15890],
1030 [1, 3, 33515],
1031 [1, 2, 50760],
1032 [2, 3, 1083],
1033 [2, 1, 14682],
1034 [2, 0, 32423],
1035 [3, 2, 13036],
1036 [3, 0, 25766],
1037 [3, 1, 34733],
1038 ],
1039 "step_counter": 68,
1040 },
1041 {
1042 "count_per_rank": [49647, 115790, 48188, 73535],
1043 "msg_list": [
1044 [0, 3, 11808],
1045 [0, 2, 12360],
1046 [0, 1, 41104],
1047 [1, 0, 15890],
1048 [1, 3, 33515],
1049 [1, 2, 50760],
1050 [2, 3, 1083],
1051 [2, 1, 14682],
1052 [2, 0, 32423],
1053 [3, 2, 13036],
1054 [3, 0, 25766],
1055 [3, 1, 34733],
1056 ],
1057 "step_counter": 69,
1058 },
1059 {
1060 "count_per_rank": [49647, 115790, 48188, 73535],
1061 "msg_list": [
1062 [0, 3, 11808],
1063 [0, 1, 25479],
1064 [0, 2, 12360],
1065 [1, 0, 15890],
1066 [1, 3, 33515],
1067 [1, 2, 50760],
1068 [2, 3, 1083],
1069 [2, 1, 13650],
1070 [2, 0, 33455],
1071 [3, 2, 13036],
1072 [3, 0, 26989],
1073 [3, 1, 33510],
1074 ],
1075 "step_counter": 70,
1076 },
1077 {
1078 "count_per_rank": [65272, 84540, 63813, 57910],
1079 "msg_list": [
1080 [0, 3, 11808],
1081 [0, 1, 25479],
1082 [0, 2, 12360],
1083 [1, 0, 15890],
1084 [1, 3, 33515],
1085 [1, 2, 50760],
1086 [2, 3, 1083],
1087 [2, 1, 13650],
1088 [2, 0, 33455],
1089 [3, 2, 13036],
1090 [3, 0, 26989],
1091 [3, 1, 33510],
1092 ],
1093 "step_counter": 71,
1094 },
1095 {
1096 "count_per_rank": [65272, 84540, 63813, 57910],
1097 "msg_list": [
1098 [0, 1, 25479],
1099 [0, 3, 14207],
1100 [0, 2, 9961],
1101 [1, 0, 15890],
1102 [1, 2, 32768],
1103 [1, 3, 35882],
1104 [2, 3, 1083],
1105 [2, 1, 14682],
1106 [2, 0, 32423],
1107 [3, 0, 10933],
1108 [3, 2, 13036],
1109 [3, 1, 33941],
1110 ],
1111 "step_counter": 72,
1112 },
1113 {
1114 "count_per_rank": [34022, 100165, 48188, 57910],
1115 "msg_list": [
1116 [0, 1, 25479],
1117 [0, 3, 14207],
1118 [0, 2, 9961],
1119 [1, 0, 15890],
1120 [1, 2, 32768],
1121 [1, 3, 35882],
1122 [2, 3, 1083],
1123 [2, 1, 14682],
1124 [2, 0, 32423],
1125 [3, 0, 10933],
1126 [3, 2, 13036],
1127 [3, 1, 33941],
1128 ],
1129 "step_counter": 73,
1130 },
1131 {
1132 "count_per_rank": [34022, 100165, 48188, 57910],
1133 "msg_list": [
1134 [0, 1, 9352],
1135 [0, 3, 14207],
1136 [0, 2, 10463],
1137 [1, 0, 15890],
1138 [1, 2, 32768],
1139 [1, 3, 35882],
1140 [2, 3, 1083],
1141 [2, 1, 14682],
1142 [2, 0, 32423],
1143 [3, 0, 10933],
1144 [3, 2, 14480],
1145 [3, 1, 32497],
1146 ],
1147 "step_counter": 74,
1148 },
1149 {
1150 "count_per_rank": [40295, 93892, 47043, 43430],
1151 "msg_list": [
1152 [0, 1, 9352],
1153 [0, 3, 14207],
1154 [0, 2, 10463],
1155 [1, 0, 15890],
1156 [1, 2, 32768],
1157 [1, 3, 35882],
1158 [2, 3, 1083],
1159 [2, 1, 14682],
1160 [2, 0, 32423],
1161 [3, 0, 10933],
1162 [3, 2, 14480],
1163 [3, 1, 32497],
1164 ],
1165 "step_counter": 75,
1166 },
1167 {
1168 "count_per_rank": [40295, 93892, 47043, 43430],
1169 "msg_list": [
1170 [0, 3, 14207],
1171 [0, 2, 10463],
1172 [1, 0, 15890],
1173 [1, 2, 32768],
1174 [1, 3, 35882],
1175 [2, 3, 1083],
1176 [2, 0, 16798],
1177 [2, 1, 14682],
1178 [3, 0, 10933],
1179 [3, 1, 32497],
1180 ],
1181 "step_counter": 76,
1182 },
1183 {
1184 "count_per_rank": [35603, 68915, 48188, 32497],
1185 "msg_list": [
1186 [0, 3, 14207],
1187 [0, 2, 10463],
1188 [1, 0, 15890],
1189 [1, 2, 32768],
1190 [1, 3, 35882],
1191 [2, 3, 1083],
1192 [2, 0, 16798],
1193 [2, 1, 14682],
1194 [3, 0, 10933],
1195 [3, 1, 32497],
1196 ],
1197 "step_counter": 77,
1198 },
1199 {
1200 "count_per_rank": [35603, 68915, 48188, 32497],
1201 "msg_list": [
1202 [0, 2, 7243],
1203 [0, 3, 17427],
1204 [1, 0, 15890],
1205 [1, 2, 15100],
1206 [1, 3, 37925],
1207 [2, 3, 1083],
1208 [2, 0, 16798],
1209 [2, 1, 14682],
1210 [3, 1, 32497],
1211 ],
1212 "step_counter": 78,
1213 },
1214 {
1215 "count_per_rank": [24670, 84540, 32563, 16872],
1216 "msg_list": [
1217 [0, 2, 7243],
1218 [0, 3, 17427],
1219 [1, 0, 15890],
1220 [1, 2, 15100],
1221 [1, 3, 37925],
1222 [2, 3, 1083],
1223 [2, 0, 16798],
1224 [2, 1, 14682],
1225 [3, 1, 32497],
1226 ],
1227 "step_counter": 79,
1228 },
1229 {
1230 "count_per_rank": [24670, 84540, 32563, 16872],
1231 "msg_list": [
1232 [0, 2, 7243],
1233 [0, 3, 17427],
1234 [1, 0, 15890],
1235 [1, 2, 15100],
1236 [1, 3, 37925],
1237 [2, 3, 1083],
1238 [2, 0, 16798],
1239 [2, 1, 14682],
1240 [3, 1, 16872],
1241 ],
1242 "step_counter": 80,
1243 },
1244 {
1245 "count_per_rank": [9045, 83597, 16798, 33580],
1246 "msg_list": [
1247 [0, 2, 7243],
1248 [0, 3, 17427],
1249 [1, 0, 15890],
1250 [1, 2, 15100],
1251 [1, 3, 37925],
1252 [2, 3, 1083],
1253 [2, 0, 16798],
1254 [2, 1, 14682],
1255 [3, 1, 16872],
1256 ],
1257 "step_counter": 81,
1258 },
1259 {
1260 "count_per_rank": [9045, 83597, 16798, 33580],
1261 "msg_list": [
1262 [0, 3, 1217],
1263 [0, 2, 7828],
1264 [1, 0, 15890],
1265 [1, 2, 17143],
1266 [1, 3, 35882],
1267 [2, 0, 16798],
1268 [3, 1, 16872],
1269 ],
1270 "step_counter": 82,
1271 },
1272 {
1273 "count_per_rank": [9045, 53290, 32423, 16872],
1274 "msg_list": [
1275 [0, 3, 1217],
1276 [0, 2, 7828],
1277 [1, 0, 15890],
1278 [1, 2, 17143],
1279 [1, 3, 35882],
1280 [2, 0, 16798],
1281 [3, 1, 16872],
1282 ],
1283 "step_counter": 83,
1284 },
1285 {
1286 "count_per_rank": [9045, 53290, 32423, 16872],
1287 "msg_list": [
1288 [0, 3, 1802],
1289 [0, 2, 7243],
1290 [1, 2, 1114],
1291 [1, 0, 15890],
1292 [1, 3, 36286],
1293 [2, 0, 16798],
1294 [3, 0, 431],
1295 [3, 1, 16441],
1296 ],
1297 "step_counter": 84,
1298 },
1299 {
1300 "count_per_rank": [17858, 36551, 9530, 32066],
1301 "msg_list": [
1302 [0, 3, 1802],
1303 [0, 2, 7243],
1304 [1, 2, 1114],
1305 [1, 0, 15890],
1306 [1, 3, 36286],
1307 [2, 0, 16798],
1308 [3, 0, 431],
1309 [3, 1, 16441],
1310 ],
1311 "step_counter": 85,
1312 },
1313 {
1314 "count_per_rank": [17858, 36551, 9530, 32066],
1315 "msg_list": [[0, 3, 1802], [1, 0, 15890], [1, 3, 20661], [2, 0, 1173], [3, 1, 16441]],
1316 "step_counter": 86,
1317 },
1318 {
1319 "count_per_rank": [17427, 20926, 1173, 16441],
1320 "msg_list": [[0, 3, 1802], [1, 0, 15890], [1, 3, 20661], [2, 0, 1173], [3, 1, 16441]],
1321 "step_counter": 87,
1322 },
1323 {
1324 "count_per_rank": [17427, 20926, 1173, 16441],
1325 "msg_list": [[0, 3, 1802], [1, 0, 265], [1, 3, 20661], [2, 0, 1173], [3, 1, 16441]],
1326 "step_counter": 88,
1327 },
1328 {
1329 "count_per_rank": [2975, 5301, 0, 32066],
1330 "msg_list": [[0, 3, 1802], [1, 0, 265], [1, 3, 20661], [2, 0, 1173], [3, 1, 16441]],
1331 "step_counter": 89,
1332 },
1333 {
1334 "count_per_rank": [2975, 5301, 0, 32066],
1335 "msg_list": [
1336 [0, 2, 585],
1337 [0, 3, 1217],
1338 [1, 0, 265],
1339 [1, 2, 404],
1340 [1, 3, 4632],
1341 [3, 1, 16441],
1342 ],
1343 "step_counter": 90,
1344 },
1345 {
1346 "count_per_rank": [265, 15625, 989, 6665],
1347 "msg_list": [
1348 [0, 2, 585],
1349 [0, 3, 1217],
1350 [1, 0, 265],
1351 [1, 2, 404],
1352 [1, 3, 4632],
1353 [3, 1, 16441],
1354 ],
1355 "step_counter": 91,
1356 },
1357 {"count_per_rank": [265, 15625, 989, 6665], "msg_list": [[3, 1, 816]], "step_counter": 92},
1358 {"count_per_rank": [0, 816, 0, 0], "msg_list": [[3, 1, 816]], "step_counter": 93},
1359 {"count_per_rank": [0, 816, 0, 0], "msg_list": [], "step_counter": 94},
1360 {"count_per_rank": [0, 0, 0, 0], "msg_list": [], "step_counter": 95},
1361 ]
1362
1363 with open("setup_log_step.json", "w") as file:
1364 json.dump(saved_data, file)
Make the plots
1374 print_setup_logs("setup_log_step.json", "setup_log_step_example")
Max count: 268499
Max msg size: 201354
/work/doc/sphinx/examples/sph/run_sphsetup_logs.py:204: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.
plt.tight_layout()
Make a gif out of it
1378 render_gif = True
1379 glob_str = os.path.join(folder, "setup_log_step_example_*.png")
1380
1381 # If the animation is not returned only a static image will be shown in the doc
1382 ani = show_image_sequence(glob_str, render_gif=render_gif)
1383
1384 # To save the animation using Pillow as a gif
1385 writer = animation.PillowWriter(fps=15, metadata=dict(artist="Me"), bitrate=1800)
1386 ani.save(folder + "setup_log_step_example.gif", writer=writer)
1387
1388
1389
1390 # Show the animation
1391 plt.show()
Total running time of the script: (4 minutes 30.781 seconds)
Estimated memory usage: 4009 MB