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")
38
39 gamma = 5.0 / 3.0
40 rho_g = 1
41 target_tot_u = 1
42
43 bmin = (-0.6, -0.6, -0.6)
44 bmax = (0.6, 0.6, 0.6)
45
46 N_target = 1e6
47 scheduler_split_val = int(1e6 / 16)
48 scheduler_merge_val = int(1)
49
50 # render example
51 """
52 4 processes (at the end of the file)
53 """
54
55 xm, ym, zm = bmin
56 xM, yM, zM = bmax
57 vol_b = (xM - xm) * (yM - ym) * (zM - zm)
58
59 part_vol = vol_b / N_target
60
61 # lattice volume
62 part_vol_lattice = 0.74 * part_vol
63
64 dr = (part_vol_lattice / ((4.0 / 3.0) * np.pi)) ** (1.0 / 3.0)
65
66 pmass = -1
67
68 ctx = shamrock.Context()
69 ctx.pdata_layout_new()
70
71 model = shamrock.get_Model_SPH(context=ctx, vector_type="f64_3", sph_kernel="M4")
72
73 cfg = model.gen_default_config()
74 # cfg.set_artif_viscosity_Constant(alpha_u = 1, alpha_AV = 1, beta_AV = 2)
75 # cfg.set_artif_viscosity_VaryingMM97(alpha_min = 0.1,alpha_max = 1,sigma_decay = 0.1, alpha_u = 1, beta_AV = 2)
76 cfg.set_artif_viscosity_VaryingCD10(
77 alpha_min=0.0, alpha_max=1, sigma_decay=0.1, alpha_u=1, beta_AV=2
78 )
79 cfg.set_boundary_periodic()
80 cfg.set_eos_adiabatic(gamma)
81 cfg.set_max_neigh_cache_size(int(100e9))
82 cfg.print_status()
83 model.set_solver_config(cfg)
84 model.init_scheduler(scheduler_split_val, scheduler_merge_val)
85
86
87 bmin, bmax = model.get_ideal_hcp_box(dr, bmin, bmax)
88 xm, ym, zm = bmin
89 xM, yM, zM = bmax
90
91 model.resize_simulation_box(bmin, bmax)
92
93 setup = model.get_setup()
94 gen = setup.make_generator_lattice_hcp(dr, bmin, bmax)
95
96 # On aurora /2 was correct to avoid out of memory
97 setup.apply_setup(
98 gen,
99 insert_step=int(scheduler_split_val / 4),
100 msg_count_limit=32,
101 rank_comm_size_limit=scheduler_split_val // 4,
102 do_setup_log=True,
103 )
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,
"av_type": "varying_cd10",
"beta_AV": 2.0,
"sigma_decay": 0.1
},
"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,
"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,
"self_grav_config": {
"softening_length": 1e-09,
"softening_mode": "plummer",
"type": "none"
},
"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 ) 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 ) rate = 2.863659e+06 N.s^-1
SPH setup: Nstep = 7537 ( 7.5e+03 ) Ntotal = 13117 ( 1.3e+04 ) rate = 1.548477e+06 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 20579 ( 2.1e+04 ) rate = 1.348535e+06 N.s^-1
SPH setup: Nstep = 7501 ( 7.5e+03 ) Ntotal = 28080 ( 2.8e+04 ) rate = 1.057592e+07 N.s^-1
SPH setup: Nstep = 7513 ( 7.5e+03 ) Ntotal = 35593 ( 3.6e+04 ) rate = 9.446501e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 43055 ( 4.3e+04 ) rate = 7.679799e+06 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 50607 ( 5.1e+04 ) rate = 1.172354e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 58069 ( 5.8e+04 ) rate = 7.162277e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 65531 ( 6.6e+04 ) rate = 6.625198e+06 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 73083 ( 7.3e+04 ) rate = 1.817490e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 80546 ( 8.1e+04 ) rate = 1.920825e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 88098 ( 8.8e+04 ) rate = 3.771026e+05 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 95561 ( 9.6e+04 ) rate = 5.475426e+06 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 103023 ( 1.0e+05 ) rate = 1.407192e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 110575 ( 1.1e+05 ) rate = 1.364832e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 118037 ( 1.2e+05 ) rate = 1.563204e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 125589 ( 1.3e+05 ) rate = 1.977963e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 133051 ( 1.3e+05 ) rate = 2.559966e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 140513 ( 1.4e+05 ) rate = 1.140764e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 148065 ( 1.5e+05 ) rate = 1.424623e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 155527 ( 1.6e+05 ) rate = 1.794168e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 163080 ( 1.6e+05 ) rate = 1.930415e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 170542 ( 1.7e+05 ) rate = 2.024658e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 178005 ( 1.8e+05 ) rate = 1.982499e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 185557 ( 1.9e+05 ) rate = 1.982235e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 193019 ( 1.9e+05 ) rate = 1.714425e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 200571 ( 2.0e+05 ) rate = 2.017805e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 208033 ( 2.1e+05 ) rate = 1.133190e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 215495 ( 2.2e+05 ) rate = 1.951942e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 223047 ( 2.2e+05 ) rate = 1.886222e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 230509 ( 2.3e+05 ) rate = 2.097540e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 238061 ( 2.4e+05 ) rate = 2.064595e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 245523 ( 2.5e+05 ) rate = 1.963638e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 252986 ( 2.5e+05 ) rate = 2.203561e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 260538 ( 2.6e+05 ) rate = 2.235470e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 268001 ( 2.7e+05 ) rate = 2.119153e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 275553 ( 2.8e+05 ) rate = 2.210999e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 283015 ( 2.8e+05 ) rate = 1.733676e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 290477 ( 2.9e+05 ) rate = 2.093351e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 298029 ( 3.0e+05 ) rate = 1.599888e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 305491 ( 3.1e+05 ) rate = 1.212892e+05 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 313043 ( 3.1e+05 ) rate = 1.203065e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 320505 ( 3.2e+05 ) rate = 1.477129e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 327967 ( 3.3e+05 ) rate = 1.567295e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 335520 ( 3.4e+05 ) rate = 2.128355e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 342982 ( 3.4e+05 ) rate = 2.105721e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 350535 ( 3.5e+05 ) rate = 2.126755e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 357997 ( 3.6e+05 ) rate = 1.959564e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 365459 ( 3.7e+05 ) rate = 2.005704e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 373011 ( 3.7e+05 ) rate = 1.622526e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 380473 ( 3.8e+05 ) rate = 2.103934e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 388025 ( 3.9e+05 ) rate = 1.839511e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 395487 ( 4.0e+05 ) rate = 2.097977e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 402949 ( 4.0e+05 ) rate = 1.705900e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 410501 ( 4.1e+05 ) rate = 2.186552e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 417963 ( 4.2e+05 ) rate = 2.200803e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 425516 ( 4.3e+05 ) rate = 2.153490e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 432978 ( 4.3e+05 ) rate = 2.215881e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 440441 ( 4.4e+05 ) rate = 1.741194e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 447993 ( 4.5e+05 ) rate = 1.673640e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 455455 ( 4.6e+05 ) rate = 1.529252e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 463007 ( 4.6e+05 ) rate = 9.580017e+04 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 470469 ( 4.7e+05 ) rate = 5.749956e+06 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 477931 ( 4.8e+05 ) rate = 1.958731e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 485483 ( 4.9e+05 ) rate = 1.967010e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 492945 ( 4.9e+05 ) rate = 1.853264e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 500497 ( 5.0e+05 ) rate = 2.014404e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 507960 ( 5.1e+05 ) rate = 1.704593e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 515422 ( 5.2e+05 ) rate = 2.108708e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 522975 ( 5.2e+05 ) rate = 1.727292e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 530437 ( 5.3e+05 ) rate = 1.732327e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 537989 ( 5.4e+05 ) rate = 2.165113e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 545451 ( 5.5e+05 ) rate = 1.736625e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 552913 ( 5.5e+05 ) rate = 1.676413e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 560465 ( 5.6e+05 ) rate = 2.258914e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 567927 ( 5.7e+05 ) rate = 2.137227e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 575479 ( 5.8e+05 ) rate = 1.978258e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 582941 ( 5.8e+05 ) rate = 2.189817e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 590403 ( 5.9e+05 ) rate = 2.139077e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 597956 ( 6.0e+05 ) rate = 2.228543e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 605418 ( 6.1e+05 ) rate = 1.699346e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 612971 ( 6.1e+05 ) rate = 2.239791e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 620433 ( 6.2e+05 ) rate = 1.701982e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 627895 ( 6.3e+05 ) rate = 1.753953e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 635447 ( 6.4e+05 ) rate = 2.219929e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 642909 ( 6.4e+05 ) rate = 1.693780e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 650461 ( 6.5e+05 ) rate = 1.764354e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 657923 ( 6.6e+05 ) rate = 2.147221e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 665385 ( 6.7e+05 ) rate = 1.738839e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 672937 ( 6.7e+05 ) rate = 1.768486e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 680400 ( 6.8e+05 ) rate = 1.704597e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 687952 ( 6.9e+05 ) rate = 2.242806e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 695415 ( 7.0e+05 ) rate = 1.569731e+05 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 702877 ( 7.0e+05 ) rate = 9.735935e+06 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 710429 ( 7.1e+05 ) rate = 1.870525e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 717891 ( 7.2e+05 ) rate = 1.907484e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 725443 ( 7.3e+05 ) rate = 2.009467e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 732905 ( 7.3e+05 ) rate = 1.978093e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 740367 ( 7.4e+05 ) rate = 2.127823e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 747919 ( 7.5e+05 ) rate = 2.182331e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 755381 ( 7.6e+05 ) rate = 2.197323e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 762933 ( 7.6e+05 ) rate = 2.238545e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 770396 ( 7.7e+05 ) rate = 2.189533e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 777858 ( 7.8e+05 ) rate = 2.186705e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 785411 ( 7.9e+05 ) rate = 1.473730e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 792873 ( 7.9e+05 ) rate = 1.549081e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 800425 ( 8.0e+05 ) rate = 1.660547e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 807887 ( 8.1e+05 ) rate = 1.516790e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 815349 ( 8.2e+05 ) rate = 1.463528e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 822901 ( 8.2e+05 ) rate = 1.749570e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 830363 ( 8.3e+05 ) rate = 1.993103e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 837915 ( 8.4e+05 ) rate = 1.548321e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 845377 ( 8.5e+05 ) rate = 2.002662e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 852840 ( 8.5e+05 ) rate = 1.735008e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 860392 ( 8.6e+05 ) rate = 2.227275e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 867855 ( 8.7e+05 ) rate = 2.231772e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 875407 ( 8.8e+05 ) rate = 1.712930e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 882869 ( 8.8e+05 ) rate = 1.685592e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 890331 ( 8.9e+05 ) rate = 1.684299e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 897883 ( 9.0e+05 ) rate = 2.095519e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 905345 ( 9.1e+05 ) rate = 2.114546e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 912897 ( 9.1e+05 ) rate = 2.229919e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 920359 ( 9.2e+05 ) rate = 1.978707e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 927821 ( 9.3e+05 ) rate = 2.216638e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 935373 ( 9.4e+05 ) rate = 2.251647e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 942836 ( 9.4e+05 ) rate = 2.218516e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 950388 ( 9.5e+05 ) rate = 1.768726e+07 N.s^-1
SPH setup: Nstep = 7463 ( 7.5e+03 ) Ntotal = 957851 ( 9.6e+05 ) rate = 2.125847e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 965313 ( 9.7e+05 ) rate = 1.549934e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 972865 ( 9.7e+05 ) rate = 1.748601e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 980327 ( 9.8e+05 ) rate = 1.545990e+07 N.s^-1
SPH setup: Nstep = 7552 ( 7.6e+03 ) Ntotal = 987879 ( 9.9e+05 ) rate = 1.977000e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 995341 ( 1.0e+06 ) rate = 1.866811e+07 N.s^-1
SPH setup: Nstep = 6179 ( 6.2e+03 ) Ntotal = 1001520 ( 1.0e+06 ) rate = 1.680981e+07 N.s^-1
SPH setup: Nstep = 0 ( 0.0e+00 ) Ntotal = 1001520 ( 1.0e+06 ) rate = 0.000000e+00 N.s^-1
SPH setup: Nstep = 6937 ( 6.9e+03 ) Ntotal = 1008457 ( 1.0e+06 ) rate = 1.411644e+07 N.s^-1
SPH setup: Nstep = 7553 ( 7.6e+03 ) Ntotal = 1016010 ( 1.0e+06 ) rate = 1.637656e+07 N.s^-1
SPH setup: Nstep = 7462 ( 7.5e+03 ) Ntotal = 1023472 ( 1.0e+06 ) rate = 2.085476e+07 N.s^-1
SPH setup: Nstep = 6128 ( 6.1e+03 ) Ntotal = 1029600 ( 1.0e+06 ) rate = 1.623526e+07 N.s^-1
SPH setup: the generation step took : 0.5130031740000001 s
SPH setup: final particle count = 1029600 begining 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.90 us (39.3%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 15625 min = 15625 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 15625 min = 15625 [LoadBalance][rank=0]
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 : 1293.00 ns (0.3%)
patch tree reduce : 1820.00 ns (0.5%)
gen split merge : 844.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 814.00 ns (0.2%)
LB compute : 370.63 us (95.2%)
LB move op cnt : 0
LB apply : 10.58 us (2.7%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1964.00 ns (64.8%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 15625 min = 15625 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 15625 min = 15625 [LoadBalance][rank=0]
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 : 1206.00 ns (0.4%)
patch tree reduce : 525.00 ns (0.2%)
gen split merge : 409.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 261.00 ns (0.1%)
LB compute : 329.16 us (98.0%)
LB move op cnt : 0
LB apply : 1686.00 ns (0.5%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 2.12 us (66.7%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 15625 min = 15625 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 15625 min = 15625 [LoadBalance][rank=0]
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 : 1256.00 ns (0.4%)
patch tree reduce : 289.00 ns (0.1%)
gen split merge : 416.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 243.00 ns (0.1%)
LB compute : 276.41 us (97.9%)
LB move op cnt : 0
LB apply : 1095.00 ns (0.4%)
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.02 us (58.3%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 31250 min = 31250 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 31250 min = 31250 [LoadBalance][rank=0]
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 : 1334.00 ns (0.4%)
patch tree reduce : 1575.00 ns (0.4%)
gen split merge : 924.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 1107.00 ns (0.3%)
LB compute : 361.22 us (96.8%)
LB move op cnt : 0
LB apply : 3.43 us (0.9%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1950.00 ns (64.8%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 31250 min = 31250 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 31250 min = 31250 [LoadBalance][rank=0]
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 : 1211.00 ns (0.4%)
patch tree reduce : 464.00 ns (0.2%)
gen split merge : 427.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 278.00 ns (0.1%)
LB compute : 277.70 us (97.9%)
LB move op cnt : 0
LB apply : 1189.00 ns (0.4%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1766.00 ns (64.1%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 31250 min = 31250 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 31250 min = 31250 [LoadBalance][rank=0]
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 : 1268.00 ns (0.4%)
patch tree reduce : 304.00 ns (0.1%)
gen split merge : 390.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 210.00 ns (0.1%)
LB compute : 291.86 us (98.0%)
LB move op cnt : 0
LB apply : 1331.00 ns (0.4%)
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.86 us (57.6%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 46875 min = 46875 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 46875 min = 46875 [LoadBalance][rank=0]
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 : 1533.00 ns (0.5%)
patch tree reduce : 1488.00 ns (0.5%)
gen split merge : 796.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 760.00 ns (0.2%)
LB compute : 300.64 us (96.4%)
LB move op cnt : 0
LB apply : 3.28 us (1.1%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1870.00 ns (66.0%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 46875 min = 46875 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 46875 min = 46875 [LoadBalance][rank=0]
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 : 1225.00 ns (0.4%)
patch tree reduce : 289.00 ns (0.1%)
gen split merge : 351.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 265.00 ns (0.1%)
LB compute : 274.60 us (97.9%)
LB move op cnt : 0
LB apply : 1162.00 ns (0.4%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 2.31 us (71.0%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 46875 min = 46875 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 46875 min = 46875 [LoadBalance][rank=0]
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 : 1178.00 ns (0.4%)
patch tree reduce : 250.00 ns (0.1%)
gen split merge : 344.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 223.00 ns (0.1%)
LB compute : 283.59 us (98.1%)
LB move op cnt : 0
LB apply : 1111.00 ns (0.4%)
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.69 us (62.6%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 62500 min = 62500 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 62500 min = 62500 [LoadBalance][rank=0]
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 : 1296.00 ns (0.4%)
patch tree reduce : 1584.00 ns (0.5%)
gen split merge : 801.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 766.00 ns (0.2%)
LB compute : 307.66 us (96.5%)
LB move op cnt : 0
LB apply : 3.65 us (1.1%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1743.00 ns (64.7%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 62500 min = 62500 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 62500 min = 62500 [LoadBalance][rank=0]
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 : 1468.00 ns (0.5%)
patch tree reduce : 517.00 ns (0.2%)
gen split merge : 375.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 351.00 ns (0.1%)
LB compute : 262.60 us (97.7%)
LB move op cnt : 0
LB apply : 1101.00 ns (0.4%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 2.19 us (66.0%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 62500 min = 62500 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 62500 min = 62500 [LoadBalance][rank=0]
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 : 1244.00 ns (0.4%)
patch tree reduce : 416.00 ns (0.1%)
gen split merge : 394.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 247.00 ns (0.1%)
LB compute : 301.19 us (98.0%)
LB move op cnt : 0
LB apply : 1222.00 ns (0.4%)
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.10 us (61.7%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 78120 min = 78120 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 78120 min = 78120 [LoadBalance][rank=0]
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 : 1225.00 ns (0.0%)
patch tree reduce : 1390.00 ns (0.0%)
gen split merge : 985.00 ns (0.0%)
split / merge op : 1/0
apply split merge : 15.64 ms (96.9%)
LB compute : 474.73 us (2.9%)
LB move op cnt : 0
LB apply : 4.68 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 : 6.55 us (68.2%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 78125 min = 78125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 78125 min = 78125 [LoadBalance][rank=0]
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 : 1282.00 ns (0.5%)
patch tree reduce : 2.50 us (0.9%)
gen split merge : 773.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 417.00 ns (0.2%)
LB compute : 259.78 us (95.3%)
LB move op cnt : 0
LB apply : 1087.00 ns (0.4%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1890.00 ns (39.4%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 78125 min = 78125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 78125 min = 78125 [LoadBalance][rank=0]
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 : 1311.00 ns (0.5%)
patch tree reduce : 1230.00 ns (0.4%)
gen split merge : 407.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 237.00 ns (0.1%)
LB compute : 267.78 us (96.2%)
LB move op cnt : 0
LB apply : 1118.00 ns (0.4%)
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.09 us (45.5%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 203125 min = 203125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 203125 min = 203125 [LoadBalance][rank=0]
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 : 1334.00 ns (0.4%)
patch tree reduce : 4.18 us (1.3%)
gen split merge : 1058.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 824.00 ns (0.3%)
LB compute : 307.46 us (94.4%)
LB move op cnt : 0
LB apply : 3.61 us (1.1%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1861.00 ns (30.3%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 203125 min = 203125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 203125 min = 203125 [LoadBalance][rank=0]
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 : 1288.00 ns (0.3%)
patch tree reduce : 747.00 ns (0.2%)
gen split merge : 435.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 229.00 ns (0.1%)
LB compute : 374.61 us (96.8%)
LB move op cnt : 0
LB apply : 2.01 us (0.5%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 2.38 us (44.4%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 203125 min = 203125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 203125 min = 203125 [LoadBalance][rank=0]
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 : 1298.00 ns (0.5%)
patch tree reduce : 1057.00 ns (0.4%)
gen split merge : 454.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 333.00 ns (0.1%)
LB compute : 269.12 us (95.4%)
LB move op cnt : 0
LB apply : 1141.00 ns (0.4%)
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.57 us (49.0%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 328125 min = 328125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 328125 min = 328125 [LoadBalance][rank=0]
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 : 1392.00 ns (0.4%)
patch tree reduce : 3.36 us (1.0%)
gen split merge : 871.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 758.00 ns (0.2%)
LB compute : 306.79 us (88.9%)
LB move op cnt : 0
LB apply : 16.41 us (4.8%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1945.00 ns (40.0%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 328125 min = 328125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 328125 min = 328125 [LoadBalance][rank=0]
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 : 1273.00 ns (0.5%)
patch tree reduce : 1021.00 ns (0.4%)
gen split merge : 473.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 262.00 ns (0.1%)
LB compute : 264.84 us (95.3%)
LB move op cnt : 0
LB apply : 1004.00 ns (0.4%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1982.00 ns (41.0%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 328125 min = 328125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 328125 min = 328125 [LoadBalance][rank=0]
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 : 1278.00 ns (0.4%)
patch tree reduce : 596.00 ns (0.2%)
gen split merge : 431.00 ns (0.1%)
split / merge op : 0/0
apply split merge : 234.00 ns (0.1%)
LB compute : 266.72 us (92.2%)
LB move op cnt : 0
LB apply : 1180.00 ns (0.4%)
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.00 us (41.9%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 453125 min = 453125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 453125 min = 453125 [LoadBalance][rank=0]
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 : 1310.00 ns (0.4%)
patch tree reduce : 2.82 us (0.8%)
gen split merge : 881.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 766.00 ns (0.2%)
LB compute : 317.49 us (94.9%)
LB move op cnt : 0
LB apply : 3.95 us (1.2%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1806.00 ns (28.6%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 453125 min = 453125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 453125 min = 453125 [LoadBalance][rank=0]
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 : 1315.00 ns (0.5%)
patch tree reduce : 830.00 ns (0.3%)
gen split merge : 466.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 286.00 ns (0.1%)
LB compute : 243.48 us (96.2%)
LB move op cnt : 0
LB apply : 933.00 ns (0.4%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 1908.00 ns (4.1%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 453125 min = 453125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 453125 min = 453125 [LoadBalance][rank=0]
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 : 1434.00 ns (0.5%)
patch tree reduce : 787.00 ns (0.3%)
gen split merge : 421.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 230.00 ns (0.1%)
LB compute : 259.60 us (96.1%)
LB move op cnt : 0
LB apply : 1119.00 ns (0.4%)
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.73 us (45.3%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 578096 min = 578096 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 578096 min = 578096 [LoadBalance][rank=0]
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 : 1405.00 ns (0.0%)
patch tree reduce : 2.95 us (0.0%)
gen split merge : 1609.00 ns (0.0%)
split / merge op : 8/0
apply split merge : 100.60 ms (99.4%)
LB compute : 467.07 us (0.5%)
LB move op cnt : 0
LB apply : 6.08 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 : 6.64 us (4.4%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 578125 min = 578125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 578125 min = 578125 [LoadBalance][rank=0]
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 : 10.27 us (2.1%)
patch tree reduce : 14.26 us (2.8%)
gen split merge : 1296.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 471.00 ns (0.1%)
LB compute : 340.44 us (68.0%)
LB move op cnt : 0
LB apply : 2.15 us (0.4%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 4.11 us (12.5%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 578125 min = 578125 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 578125 min = 578125 [LoadBalance][rank=0]
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 : 1886.00 ns (0.5%)
patch tree reduce : 6.89 us (1.7%)
gen split merge : 900.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 391.00 ns (0.1%)
LB compute : 316.97 us (80.3%)
LB move op cnt : 0
LB apply : 1938.00 ns (0.5%)
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.77 us (16.7%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 1029600 min = 1029600 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 1029600 min = 1029600 [LoadBalance][rank=0]
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 : 2.23 us (0.6%)
patch tree reduce : 15.24 us (3.8%)
gen split merge : 1019.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 820.00 ns (0.2%)
LB compute : 329.33 us (82.8%)
LB move op cnt : 0
LB apply : 3.25 us (0.8%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 2.57 us (9.1%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 1029600 min = 1029600 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 1029600 min = 1029600 [LoadBalance][rank=0]
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 : 1780.00 ns (0.6%)
patch tree reduce : 5.34 us (1.7%)
gen split merge : 833.00 ns (0.3%)
split / merge op : 0/0
apply split merge : 287.00 ns (0.1%)
LB compute : 265.26 us (84.4%)
LB move op cnt : 0
LB apply : 1053.00 ns (0.3%)
Info: Compute load ... [DataInserterUtility][rank=0]
Info: run scheduler step ... [DataInserterUtility][rank=0]
Info: Scheduler step timings : [Scheduler][rank=0]
metadata sync : 2.41 us (10.0%)
Info: summary : [LoadBalance][rank=0]
Info: - strategy "psweep" : max = 1029600 min = 1029600 [LoadBalance][rank=0]
Info: - strategy "round robin" : max = 1029600 min = 1029600 [LoadBalance][rank=0]
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 : 1683.00 ns (0.5%)
patch tree reduce : 2.92 us (0.9%)
gen split merge : 768.00 ns (0.2%)
split / merge op : 0/0
apply split merge : 239.00 ns (0.1%)
LB compute : 276.75 us (85.4%)
LB move op cnt : 0
LB apply : 1083.00 ns (0.3%)
Info: --------------------------------------------- [DataInserterUtility][rank=0]
SPH setup: injected 1029600 / 1029600 => 100.0% | ranks with patchs = 1 / 1 <- global loop ->
SPH setup: dumping setup log to setup_log_step.json
SPH setup: the injection step took : 6.069138026 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.4% 0.0% | 1.16 GB | 5.04 MB |
+------+--------------------+-------+-------------+-------------+-------------+
SPH setup: the setup took : 6.728766473 s
Utility to render the logs Copy paste this one if you want to do it outside of this setup
109 folder = "_to_trash/sph_setup_logs"
110 os.makedirs(folder, exist_ok=True)
111
112
113 def print_setup_logs(filepath, name_png_prefix):
114 with open(filepath, "r") as file:
115 data = json.load(file)
116
117 max_count = np.max([np.max(step["count_per_rank"]) for step in data])
118 print("Max count: ", max_count)
119
120 max_msg_size = np.max(
121 [np.max([indices_size for _, _, indices_size in step["msg_list"]] + [0]) for step in data]
122 )
123 print("Max msg size: ", max_msg_size)
124
125 for step_idx, step in enumerate(data):
126 world_size = len(step["count_per_rank"])
127
128 comm_matrix = np.zeros((world_size, world_size))
129
130 for msg in step["msg_list"]:
131 sender_rank, receiver_rank, indices_size = msg
132 comm_matrix[sender_rank][receiver_rank] = indices_size
133
134 # Create figure with better layout
135 fig = plt.figure(figsize=(14, 10), dpi=125)
136 fig.suptitle(f"Setup Step {step_idx}", fontsize=16, fontweight="bold")
137
138 # Create GridSpec layout: counts on left, matrix in middle, colorbar on right
139 gs = gridspec.GridSpec(1, 3, figure=fig, width_ratios=[1, 3, 0.15], wspace=0.02)
140
141 # Count per rank subplot (left)
142 ax2 = fig.add_subplot(gs[0, 0])
143 ax2.barh(
144 np.arange(world_size), step["count_per_rank"], height=0.8, color="steelblue", alpha=0.7
145 )
146 ax2.set_xlabel("Particle Count", fontsize=11)
147 ax2.set_ylabel("Sender Rank", fontsize=12)
148 ax2.set_xlim(0, max_count * 1.1)
149 ax2.grid(True, alpha=0.3, linestyle="--", axis="x")
150 ax2.invert_yaxis() # Match imshow orientation
151 ax2.invert_xaxis() # Bars grow towards the matrix
152 ax2.tick_params(axis="x", rotation=45)
153
154 # Communication matrix subplot (middle, shares y-axis)
155 ax1 = fig.add_subplot(gs[0, 1], sharey=ax2)
156
157 # Create a masked array to handle zeros
158 comm_matrix_masked = np.ma.masked_where(comm_matrix == 0, comm_matrix)
159
160 # Create colormap with black for null values
161 cmap = plt.cm.viridis.copy()
162 cmap.set_bad(color="black")
163
164 # Use logarithmic normalization
165 vmin = np.min(comm_matrix[comm_matrix > 0]) if np.any(comm_matrix > 0) else 1
166 norm = mcolors.LogNorm(vmin=1, vmax=max(max_msg_size, 2))
167
168 im = ax1.imshow(
169 comm_matrix_masked, cmap=cmap, aspect="equal", interpolation="nearest", norm=norm
170 )
171 ax1.set_xlabel("Receiver Rank", fontsize=12)
172 ax1.set_title(
173 "Communication Matrix & Particle Count per Rank (log scale)", fontsize=14, pad=10
174 )
175 ax1.grid(False)
176 ax1.tick_params(labelleft=False) # Hide y-axis labels since they're shared
177
178 # Colorbar on the right
179 cax = fig.add_subplot(gs[0, 2])
180 cbar = plt.colorbar(im, cax=cax)
181 cbar.set_label("Message Size (log scale)", rotation=270, labelpad=20, fontsize=11)
182
183 # Add statistics as text
184 total_count = np.sum(step["count_per_rank"])
185 avg_count = np.mean(step["count_per_rank"])
186 std_count = np.std(step["count_per_rank"])
187 stats_text = f"Total: {total_count:,}\nAvg: {avg_count:.1f}\nStd: {std_count:.1f}"
188 ax2.text(
189 0.02,
190 0.02,
191 stats_text,
192 transform=ax2.transAxes,
193 fontsize=9,
194 verticalalignment="bottom",
195 horizontalalignment="left",
196 bbox=dict(boxstyle="round", facecolor="wheat", alpha=0.5),
197 )
198
199 plt.tight_layout()
200 plt.savefig(os.path.join(folder, f"{name_png_prefix}_{step_idx:05d}.png"))
201 plt.close()
Make gif for the doc (plot_to_gif.py)
Convert PNG sequence to Image sequence in mpl
210 import matplotlib.animation as animation
211
212
213 def show_image_sequence(glob_str):
214 import glob
215
216 files = sorted(glob.glob(glob_str))
217
218 from PIL import Image
219
220 image_array = []
221 for my_file in files:
222 image = Image.open(my_file)
223 image_array.append(image)
224
225 if not image_array:
226 raise RuntimeError(f"Warning: No images found for glob pattern: {glob_str}")
227
228 pixel_x, pixel_y = image_array[0].size
229
230 # Create the figure and axes objects
231 # Remove axes, ticks, and frame & set aspect ratio
232 dpi = 200
233 fig = plt.figure(dpi=dpi)
234 plt.gca().set_position((0, 0, 1, 1))
235 plt.gcf().set_size_inches(pixel_x / dpi, pixel_y / dpi)
236 plt.axis("off")
237
238 # Set the initial image with correct aspect ratio
239 im = plt.imshow(image_array[0], animated=True, aspect="auto")
240
241 def update(i):
242 im.set_array(image_array[i])
243 return (im,)
244
245 # Create the animation object
246 ani = animation.FuncAnimation(
247 fig,
248 update,
249 frames=len(image_array),
250 interval=50,
251 blit=True,
252 repeat_delay=10,
253 )
254
255 return ani
Do it for setup logs
261 print_setup_logs("setup_log_step.json", "setup_log_step")
Max count: 1029600
Max msg size: 0
/__w/Shamrock/Shamrock/doc/sphinx/examples/sph/run_sphsetup_logs.py:199: 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
265 render_gif = True
266 glob_str = os.path.join(folder, "setup_log_step_*.png")
267
268 # If the animation is not returned only a static image will be shown in the doc
269 ani = show_image_sequence(glob_str)
270
271 # To save the animation using Pillow as a gif
272 writer = animation.PillowWriter(fps=15, metadata=dict(artist="Me"), bitrate=1800)
273 ani.save(folder + "setup_log_step.gif", writer=writer)
274
275 # Show the animation
276 plt.show()
Same as above but on an example with 4 processes
Example data on same setup but 4 processes
289 saved_data = [
290 {"count_per_rank": [5580, 15001, 15015, 15015], "msg_list": [], "step_counter": 0},
291 {"count_per_rank": [20505, 30016, 30032, 30030], "msg_list": [], "step_counter": 1},
292 {"count_per_rank": [35520, 44941, 45047, 45045], "msg_list": [], "step_counter": 2},
293 {"count_per_rank": [50536, 59957, 59972, 60060], "msg_list": [], "step_counter": 3},
294 {"count_per_rank": [65551, 74972, 74988, 74986], "msg_list": [], "step_counter": 4},
295 {"count_per_rank": [80566, 89987, 90003, 90001], "msg_list": [], "step_counter": 5},
296 {"count_per_rank": [95492, 105003, 105018, 105016], "msg_list": [], "step_counter": 6},
297 {"count_per_rank": [110507, 119928, 120034, 120032], "msg_list": [], "step_counter": 7},
298 {"count_per_rank": [125522, 134943, 134959, 135047], "msg_list": [], "step_counter": 8},
299 {"count_per_rank": [140538, 149959, 149974, 149972], "msg_list": [], "step_counter": 9},
300 {"count_per_rank": [155553, 164974, 164990, 164988], "msg_list": [], "step_counter": 10},
301 {"count_per_rank": [170478, 179989, 180005, 180003], "msg_list": [], "step_counter": 11},
302 {"count_per_rank": [185493, 194916, 195020, 195018], "msg_list": [], "step_counter": 12},
303 {"count_per_rank": [200508, 209931, 209945, 210034], "msg_list": [], "step_counter": 13},
304 {"count_per_rank": [215524, 224946, 224960, 224959], "msg_list": [], "step_counter": 14},
305 {"count_per_rank": [230539, 239962, 239976, 239974], "msg_list": [], "step_counter": 15},
306 {"count_per_rank": [245464, 254977, 254991, 246088], "msg_list": [], "step_counter": 16},
307 {"count_per_rank": [260022, 268499, 254991, 246088], "msg_list": [], "step_counter": 17},
308 {"count_per_rank": [244397, 268499, 254991, 246088], "msg_list": [], "step_counter": 18},
309 {"count_per_rank": [228772, 268499, 254991, 246088], "msg_list": [], "step_counter": 19},
310 {"count_per_rank": [213147, 268499, 254991, 246088], "msg_list": [], "step_counter": 20},
311 {"count_per_rank": [197522, 268499, 254991, 246088], "msg_list": [], "step_counter": 21},
312 {"count_per_rank": [181897, 268499, 254991, 246088], "msg_list": [], "step_counter": 22},
313 {"count_per_rank": [150647, 237249, 223741, 214838], "msg_list": [], "step_counter": 23},
314 {"count_per_rank": [136436, 205999, 192491, 184599], "msg_list": [], "step_counter": 24},
315 {
316 "count_per_rank": [136436, 205999, 192491, 184599],
317 "msg_list": [[1, 0, 201354], [2, 0, 191172], [3, 0, 184546]],
318 "step_counter": 25,
319 },
320 {
321 "count_per_rank": [152061, 201354, 191172, 168921],
322 "msg_list": [[1, 0, 201354], [2, 0, 191172], [3, 0, 184546]],
323 "step_counter": 26,
324 },
325 {
326 "count_per_rank": [152061, 201354, 191172, 168921],
327 "msg_list": [
328 [0, 1, 50663],
329 [0, 2, 50663],
330 [0, 3, 45457],
331 [1, 2, 67145],
332 [1, 0, 67104],
333 [1, 3, 67105],
334 [2, 1, 63823],
335 [2, 0, 63673],
336 [2, 3, 63676],
337 [3, 1, 56327],
338 [3, 2, 56330],
339 [3, 0, 56264],
340 ],
341 "step_counter": 27,
342 },
343 {
344 "count_per_rank": [146783, 185729, 206797, 168921],
345 "msg_list": [
346 [0, 1, 50663],
347 [0, 2, 50663],
348 [0, 3, 45457],
349 [1, 2, 67145],
350 [1, 0, 67104],
351 [1, 3, 67105],
352 [2, 1, 63823],
353 [2, 0, 63673],
354 [2, 3, 63676],
355 [3, 1, 56327],
356 [3, 2, 56330],
357 [3, 0, 56264],
358 ],
359 "step_counter": 28,
360 },
361 {
362 "count_per_rank": [146783, 185729, 206797, 168921],
363 "msg_list": [
364 [0, 1, 50663],
365 [0, 2, 50663],
366 [0, 3, 45457],
367 [1, 2, 51520],
368 [1, 0, 67104],
369 [1, 3, 67105],
370 [2, 1, 63823],
371 [2, 0, 63673],
372 [2, 3, 63676],
373 [3, 1, 56327],
374 [3, 2, 56330],
375 [3, 0, 56264],
376 ],
377 "step_counter": 29,
378 },
379 {
380 "count_per_rank": [162408, 185729, 175547, 168921],
381 "msg_list": [
382 [0, 1, 50663],
383 [0, 2, 50663],
384 [0, 3, 45457],
385 [1, 2, 51520],
386 [1, 0, 67104],
387 [1, 3, 67105],
388 [2, 1, 63823],
389 [2, 0, 63673],
390 [2, 3, 63676],
391 [3, 1, 56327],
392 [3, 2, 56330],
393 [3, 0, 56264],
394 ],
395 "step_counter": 30,
396 },
397 {
398 "count_per_rank": [162408, 185729, 175547, 168921],
399 "msg_list": [
400 [0, 1, 50663],
401 [0, 2, 50663],
402 [0, 3, 45457],
403 [1, 2, 51520],
404 [1, 0, 67104],
405 [1, 3, 67105],
406 [2, 0, 48048],
407 [2, 1, 63823],
408 [2, 3, 63676],
409 [3, 1, 56327],
410 [3, 2, 56330],
411 [3, 0, 56264],
412 ],
413 "step_counter": 31,
414 },
415 {
416 "count_per_rank": [162408, 170104, 159922, 184546],
417 "msg_list": [
418 [0, 1, 50663],
419 [0, 2, 50663],
420 [0, 3, 45457],
421 [1, 2, 51520],
422 [1, 0, 67104],
423 [1, 3, 67105],
424 [2, 0, 48048],
425 [2, 1, 63823],
426 [2, 3, 63676],
427 [3, 1, 56327],
428 [3, 2, 56330],
429 [3, 0, 56264],
430 ],
431 "step_counter": 32,
432 },
433 {
434 "count_per_rank": [162408, 170104, 159922, 184546],
435 "msg_list": [
436 [0, 1, 50663],
437 [0, 2, 50663],
438 [0, 3, 45457],
439 [1, 0, 51479],
440 [1, 2, 51520],
441 [1, 3, 67105],
442 [2, 0, 48048],
443 [2, 3, 48051],
444 [2, 1, 63823],
445 [3, 1, 56327],
446 [3, 2, 56330],
447 [3, 0, 56264],
448 ],
449 "step_counter": 33,
450 },
451 {
452 "count_per_rank": [162408, 185729, 144297, 153296],
453 "msg_list": [
454 [0, 1, 50663],
455 [0, 2, 50663],
456 [0, 3, 45457],
457 [1, 0, 51479],
458 [1, 2, 51520],
459 [1, 3, 67105],
460 [2, 0, 48048],
461 [2, 3, 48051],
462 [2, 1, 63823],
463 [3, 1, 56327],
464 [3, 2, 56330],
465 [3, 0, 56264],
466 ],
467 "step_counter": 34,
468 },
469 {
470 "count_per_rank": [162408, 185729, 144297, 153296],
471 "msg_list": [
472 [0, 1, 50663],
473 [0, 2, 50663],
474 [0, 3, 45457],
475 [1, 0, 51479],
476 [1, 2, 51520],
477 [1, 3, 67105],
478 [2, 0, 48048],
479 [2, 3, 48051],
480 [2, 1, 48198],
481 [3, 0, 40639],
482 [3, 1, 56327],
483 [3, 2, 56330],
484 ],
485 "step_counter": 35,
486 },
487 {
488 "count_per_rank": [131158, 185729, 128672, 168921],
489 "msg_list": [
490 [0, 1, 50663],
491 [0, 2, 50663],
492 [0, 3, 45457],
493 [1, 0, 51479],
494 [1, 2, 51520],
495 [1, 3, 67105],
496 [2, 0, 48048],
497 [2, 3, 48051],
498 [2, 1, 48198],
499 [3, 0, 40639],
500 [3, 1, 56327],
501 [3, 2, 56330],
502 ],
503 "step_counter": 36,
504 },
505 {
506 "count_per_rank": [131158, 185729, 128672, 168921],
507 "msg_list": [
508 [0, 3, 29832],
509 [0, 1, 50663],
510 [0, 2, 50663],
511 [1, 0, 51479],
512 [1, 2, 51520],
513 [1, 3, 67105],
514 [2, 1, 32573],
515 [2, 0, 48048],
516 [2, 3, 48051],
517 [3, 0, 40639],
518 [3, 1, 56327],
519 [3, 2, 56330],
520 ],
521 "step_counter": 37,
522 },
523 {
524 "count_per_rank": [131158, 185729, 113047, 153296],
525 "msg_list": [
526 [0, 3, 29832],
527 [0, 1, 50663],
528 [0, 2, 50663],
529 [1, 0, 51479],
530 [1, 2, 51520],
531 [1, 3, 67105],
532 [2, 1, 32573],
533 [2, 0, 48048],
534 [2, 3, 48051],
535 [3, 0, 40639],
536 [3, 1, 56327],
537 [3, 2, 56330],
538 ],
539 "step_counter": 38,
540 },
541 {
542 "count_per_rank": [131158, 185729, 113047, 153296],
543 "msg_list": [
544 [0, 3, 29832],
545 [0, 1, 25460],
546 [0, 2, 75866],
547 [1, 0, 51479],
548 [1, 2, 51520],
549 [1, 3, 67105],
550 [2, 1, 7984],
551 [2, 0, 48048],
552 [2, 3, 48051],
553 [3, 0, 40639],
554 [3, 1, 27932],
555 [3, 2, 84725],
556 ],
557 "step_counter": 39,
558 },
559 {
560 "count_per_rank": [146783, 154479, 128672, 137671],
561 "msg_list": [
562 [0, 3, 29832],
563 [0, 1, 25460],
564 [0, 2, 75866],
565 [1, 0, 51479],
566 [1, 2, 51520],
567 [1, 3, 67105],
568 [2, 1, 7984],
569 [2, 0, 48048],
570 [2, 3, 48051],
571 [3, 0, 40639],
572 [3, 1, 27932],
573 [3, 2, 84725],
574 ],
575 "step_counter": 40,
576 },
577 {
578 "count_per_rank": [146783, 154479, 128672, 137671],
579 "msg_list": [
580 [0, 3, 29832],
581 [0, 1, 34741],
582 [0, 2, 66585],
583 [1, 0, 35854],
584 [1, 2, 51520],
585 [1, 3, 67105],
586 [2, 1, 14682],
587 [2, 0, 48048],
588 [2, 3, 48051],
589 [3, 0, 40639],
590 [3, 2, 60762],
591 [3, 1, 36270],
592 ],
593 "step_counter": 41,
594 },
595 {
596 "count_per_rank": [115533, 170104, 126406, 122046],
597 "msg_list": [
598 [0, 3, 29832],
599 [0, 1, 34741],
600 [0, 2, 66585],
601 [1, 0, 35854],
602 [1, 2, 51520],
603 [1, 3, 67105],
604 [2, 1, 14682],
605 [2, 0, 48048],
606 [2, 3, 48051],
607 [3, 0, 40639],
608 [3, 2, 60762],
609 [3, 1, 36270],
610 ],
611 "step_counter": 42,
612 },
613 {
614 "count_per_rank": [115533, 170104, 126406, 122046],
615 "msg_list": [
616 [0, 2, 31660],
617 [0, 3, 49132],
618 [0, 1, 34741],
619 [1, 0, 31515],
620 [1, 2, 25616],
621 [1, 3, 93009],
622 [2, 1, 18234],
623 [2, 0, 44496],
624 [2, 3, 48051],
625 [3, 1, 23293],
626 [3, 0, 37991],
627 [3, 2, 38418],
628 ],
629 "step_counter": 43,
630 },
631 {
632 "count_per_rank": [115533, 150140, 95156, 137671],
633 "msg_list": [
634 [0, 2, 31660],
635 [0, 3, 49132],
636 [0, 1, 34741],
637 [1, 0, 31515],
638 [1, 2, 25616],
639 [1, 3, 93009],
640 [2, 1, 18234],
641 [2, 0, 44496],
642 [2, 3, 48051],
643 [3, 1, 23293],
644 [3, 0, 37991],
645 [3, 2, 38418],
646 ],
647 "step_counter": 44,
648 },
649 {
650 "count_per_rank": [115533, 150140, 95156, 106421],
651 "msg_list": [
652 [0, 2, 31660],
653 [0, 3, 49132],
654 [0, 1, 34741],
655 [1, 0, 31515],
656 [1, 2, 25616],
657 [1, 3, 93009],
658 [2, 1, 18234],
659 [2, 0, 44496],
660 [2, 3, 48051],
661 [3, 1, 23293],
662 [3, 0, 37991],
663 [3, 2, 38418],
664 ],
665 "step_counter": 45,
666 },
667 {
668 "count_per_rank": [115533, 150140, 95156, 106421],
669 "msg_list": [
670 [0, 3, 29832],
671 [0, 2, 41334],
672 [0, 1, 40981],
673 [1, 0, 31515],
674 [1, 2, 51520],
675 [1, 3, 67105],
676 [2, 1, 13650],
677 [2, 3, 32426],
678 [2, 0, 49080],
679 [3, 0, 42614],
680 [3, 1, 30632],
681 [3, 2, 31539],
682 ],
683 "step_counter": 46,
684 },
685 {
686 "count_per_rank": [127772, 150140, 95156, 89160],
687 "msg_list": [
688 [0, 3, 29832],
689 [0, 2, 41334],
690 [0, 1, 40981],
691 [1, 0, 31515],
692 [1, 2, 51520],
693 [1, 3, 67105],
694 [2, 1, 13650],
695 [2, 3, 32426],
696 [2, 0, 49080],
697 [3, 0, 42614],
698 [3, 1, 30632],
699 [3, 2, 31539],
700 ],
701 "step_counter": 47,
702 },
703 {
704 "count_per_rank": [127772, 150140, 95156, 89160],
705 "msg_list": [
706 [0, 2, 38838],
707 [0, 3, 34668],
708 [0, 1, 38641],
709 [1, 0, 31515],
710 [1, 2, 45040],
711 [1, 3, 73585],
712 [2, 1, 14682],
713 [2, 3, 32426],
714 [2, 0, 48048],
715 [3, 0, 25766],
716 [3, 1, 28745],
717 [3, 2, 34649],
718 ],
719 "step_counter": 48,
720 },
721 {
722 "count_per_rank": [96522, 150140, 110781, 89160],
723 "msg_list": [
724 [0, 2, 38838],
725 [0, 3, 34668],
726 [0, 1, 38641],
727 [1, 0, 31515],
728 [1, 2, 45040],
729 [1, 3, 73585],
730 [2, 1, 14682],
731 [2, 3, 32426],
732 [2, 0, 48048],
733 [3, 0, 25766],
734 [3, 1, 28745],
735 [3, 2, 34649],
736 ],
737 "step_counter": 49,
738 },
739 {
740 "count_per_rank": [96522, 150140, 110781, 89160],
741 "msg_list": [
742 [0, 2, 21747],
743 [0, 3, 34668],
744 [0, 1, 40107],
745 [1, 0, 31515],
746 [1, 2, 45040],
747 [1, 3, 73585],
748 [2, 1, 14682],
749 [2, 3, 32426],
750 [2, 0, 48048],
751 [3, 0, 25766],
752 [3, 1, 31855],
753 [3, 2, 31539],
754 ],
755 "step_counter": 50,
756 },
757 {
758 "count_per_rank": [96522, 150140, 79531, 104785],
759 "msg_list": [
760 [0, 2, 21747],
761 [0, 3, 34668],
762 [0, 1, 40107],
763 [1, 0, 31515],
764 [1, 2, 45040],
765 [1, 3, 73585],
766 [2, 1, 14682],
767 [2, 3, 32426],
768 [2, 0, 48048],
769 [3, 0, 25766],
770 [3, 1, 31855],
771 [3, 2, 31539],
772 ],
773 "step_counter": 51,
774 },
775 {
776 "count_per_rank": [96522, 150140, 79531, 104785],
777 "msg_list": [
778 [0, 3, 33052],
779 [0, 2, 23363],
780 [0, 1, 40107],
781 [1, 0, 31515],
782 [1, 2, 48274],
783 [1, 3, 70351],
784 [2, 3, 16801],
785 [2, 1, 14682],
786 [2, 0, 48048],
787 [3, 0, 25766],
788 [3, 1, 31855],
789 [3, 2, 31539],
790 ],
791 "step_counter": 52,
792 },
793 {
794 "count_per_rank": [96522, 150140, 95156, 73535],
795 "msg_list": [
796 [0, 3, 33052],
797 [0, 2, 23363],
798 [0, 1, 40107],
799 [1, 0, 31515],
800 [1, 2, 48274],
801 [1, 3, 70351],
802 [2, 3, 16801],
803 [2, 1, 14682],
804 [2, 0, 48048],
805 [3, 0, 25766],
806 [3, 1, 31855],
807 [3, 2, 31539],
808 ],
809 "step_counter": 53,
810 },
811 {
812 "count_per_rank": [96522, 150140, 95156, 73535],
813 "msg_list": [
814 [0, 2, 20283],
815 [0, 3, 34668],
816 [0, 1, 41571],
817 [1, 0, 31515],
818 [1, 2, 45040],
819 [1, 3, 73585],
820 [2, 3, 16801],
821 [2, 1, 13650],
822 [2, 0, 49080],
823 [3, 2, 14480],
824 [3, 0, 26989],
825 [3, 1, 32066],
826 ],
827 "step_counter": 54,
828 },
829 {
830 "count_per_rank": [96522, 134515, 79531, 89160],
831 "msg_list": [
832 [0, 2, 20283],
833 [0, 3, 34668],
834 [0, 1, 41571],
835 [1, 0, 31515],
836 [1, 2, 45040],
837 [1, 3, 73585],
838 [2, 3, 16801],
839 [2, 1, 13650],
840 [2, 0, 49080],
841 [3, 2, 14480],
842 [3, 0, 26989],
843 [3, 1, 32066],
844 ],
845 "step_counter": 55,
846 },
847 {
848 "count_per_rank": [96522, 134515, 79531, 89160],
849 "msg_list": [
850 [0, 3, 29832],
851 [0, 2, 25119],
852 [0, 1, 41571],
853 [1, 0, 31515],
854 [1, 3, 51507],
855 [1, 2, 51493],
856 [2, 3, 16801],
857 [2, 1, 14682],
858 [2, 0, 48048],
859 [3, 2, 14480],
860 [3, 0, 25766],
861 [3, 1, 33289],
862 ],
863 "step_counter": 56,
864 },
865 {
866 "count_per_rank": [112147, 118890, 79531, 73535],
867 "msg_list": [
868 [0, 3, 29832],
869 [0, 2, 25119],
870 [0, 1, 41571],
871 [1, 0, 31515],
872 [1, 3, 51507],
873 [1, 2, 51493],
874 [2, 3, 16801],
875 [2, 1, 14682],
876 [2, 0, 48048],
877 [3, 2, 14480],
878 [3, 0, 25766],
879 [3, 1, 33289],
880 ],
881 "step_counter": 57,
882 },
883 {
884 "count_per_rank": [112147, 118890, 79531, 73535],
885 "msg_list": [
886 [0, 3, 29832],
887 [0, 2, 25119],
888 [0, 1, 41571],
889 [1, 0, 15890],
890 [1, 3, 51507],
891 [1, 2, 51493],
892 [2, 3, 16801],
893 [2, 1, 14682],
894 [2, 0, 48048],
895 [3, 2, 14480],
896 [3, 0, 25766],
897 [3, 1, 33289],
898 ],
899 "step_counter": 58,
900 },
901 {
902 "count_per_rank": [112147, 118890, 63906, 73535],
903 "msg_list": [
904 [0, 3, 29832],
905 [0, 2, 25119],
906 [0, 1, 41571],
907 [1, 0, 15890],
908 [1, 3, 51507],
909 [1, 2, 51493],
910 [2, 3, 16801],
911 [2, 1, 14682],
912 [2, 0, 48048],
913 [3, 2, 14480],
914 [3, 0, 25766],
915 [3, 1, 33289],
916 ],
917 "step_counter": 59,
918 },
919 {
920 "count_per_rank": [112147, 118890, 63906, 73535],
921 "msg_list": [
922 [0, 3, 33052],
923 [0, 2, 23363],
924 [0, 1, 40107],
925 [1, 0, 15890],
926 [1, 3, 54726],
927 [1, 2, 48274],
928 [2, 3, 16801],
929 [2, 1, 16835],
930 [2, 0, 30270],
931 [3, 2, 15914],
932 [3, 0, 24521],
933 [3, 1, 33100],
934 ],
935 "step_counter": 60,
936 },
937 {
938 "count_per_rank": [80897, 118890, 79531, 73535],
939 "msg_list": [
940 [0, 3, 33052],
941 [0, 2, 23363],
942 [0, 1, 40107],
943 [1, 0, 15890],
944 [1, 3, 54726],
945 [1, 2, 48274],
946 [2, 3, 16801],
947 [2, 1, 16835],
948 [2, 0, 30270],
949 [3, 2, 15914],
950 [3, 0, 24521],
951 [3, 1, 33100],
952 ],
953 "step_counter": 61,
954 },
955 {
956 "count_per_rank": [80897, 118890, 79531, 73535],
957 "msg_list": [
958 [0, 2, 6934],
959 [0, 3, 33361],
960 [0, 1, 40602],
961 [1, 0, 15890],
962 [1, 3, 57960],
963 [1, 2, 45040],
964 [2, 3, 16801],
965 [2, 1, 16835],
966 [2, 0, 30270],
967 [3, 2, 14480],
968 [3, 0, 24521],
969 [3, 1, 34534],
970 ],
971 "step_counter": 62,
972 },
973 {
974 "count_per_rank": [80897, 118890, 48281, 89160],
975 "msg_list": [
976 [0, 2, 6934],
977 [0, 3, 33361],
978 [0, 1, 40602],
979 [1, 0, 15890],
980 [1, 3, 57960],
981 [1, 2, 45040],
982 [2, 3, 16801],
983 [2, 1, 16835],
984 [2, 0, 30270],
985 [3, 2, 14480],
986 [3, 0, 24521],
987 [3, 1, 34534],
988 ],
989 "step_counter": 63,
990 },
991 {
992 "count_per_rank": [80897, 118890, 48281, 89160],
993 "msg_list": [
994 [0, 3, 29832],
995 [0, 2, 10463],
996 [0, 1, 40602],
997 [1, 0, 15890],
998 [1, 3, 51507],
999 [1, 2, 51493],
1000 [2, 3, 1176],
1001 [2, 1, 14682],
1002 [2, 0, 32423],
1003 [3, 2, 14480],
1004 [3, 0, 25766],
1005 [3, 1, 33289],
1006 ],
1007 "step_counter": 64,
1008 },
1009 {
1010 "count_per_rank": [80897, 103265, 48281, 89160],
1011 "msg_list": [
1012 [0, 3, 29832],
1013 [0, 2, 10463],
1014 [0, 1, 40602],
1015 [1, 0, 15890],
1016 [1, 3, 51507],
1017 [1, 2, 51493],
1018 [2, 3, 1176],
1019 [2, 1, 14682],
1020 [2, 0, 32423],
1021 [3, 2, 14480],
1022 [3, 0, 25766],
1023 [3, 1, 33289],
1024 ],
1025 "step_counter": 65,
1026 },
1027 {
1028 "count_per_rank": [80897, 103265, 48281, 89160],
1029 "msg_list": [
1030 [0, 3, 27433],
1031 [0, 2, 12360],
1032 [0, 1, 41104],
1033 [1, 0, 15890],
1034 [1, 3, 33515],
1035 [1, 2, 50760],
1036 [2, 3, 1083],
1037 [2, 1, 14682],
1038 [2, 0, 32423],
1039 [3, 2, 13036],
1040 [3, 0, 25766],
1041 [3, 1, 34733],
1042 ],
1043 "step_counter": 66,
1044 },
1045 {
1046 "count_per_rank": [65272, 103265, 48281, 89160],
1047 "msg_list": [
1048 [0, 3, 27433],
1049 [0, 2, 12360],
1050 [0, 1, 41104],
1051 [1, 0, 15890],
1052 [1, 3, 33515],
1053 [1, 2, 50760],
1054 [2, 3, 1083],
1055 [2, 1, 14682],
1056 [2, 0, 32423],
1057 [3, 2, 13036],
1058 [3, 0, 25766],
1059 [3, 1, 34733],
1060 ],
1061 "step_counter": 67,
1062 },
1063 {
1064 "count_per_rank": [65272, 103265, 48281, 89160],
1065 "msg_list": [
1066 [0, 3, 11808],
1067 [0, 2, 12360],
1068 [0, 1, 41104],
1069 [1, 0, 15890],
1070 [1, 3, 33515],
1071 [1, 2, 50760],
1072 [2, 3, 1083],
1073 [2, 1, 14682],
1074 [2, 0, 32423],
1075 [3, 2, 13036],
1076 [3, 0, 25766],
1077 [3, 1, 34733],
1078 ],
1079 "step_counter": 68,
1080 },
1081 {
1082 "count_per_rank": [49647, 115790, 48188, 73535],
1083 "msg_list": [
1084 [0, 3, 11808],
1085 [0, 2, 12360],
1086 [0, 1, 41104],
1087 [1, 0, 15890],
1088 [1, 3, 33515],
1089 [1, 2, 50760],
1090 [2, 3, 1083],
1091 [2, 1, 14682],
1092 [2, 0, 32423],
1093 [3, 2, 13036],
1094 [3, 0, 25766],
1095 [3, 1, 34733],
1096 ],
1097 "step_counter": 69,
1098 },
1099 {
1100 "count_per_rank": [49647, 115790, 48188, 73535],
1101 "msg_list": [
1102 [0, 3, 11808],
1103 [0, 1, 25479],
1104 [0, 2, 12360],
1105 [1, 0, 15890],
1106 [1, 3, 33515],
1107 [1, 2, 50760],
1108 [2, 3, 1083],
1109 [2, 1, 13650],
1110 [2, 0, 33455],
1111 [3, 2, 13036],
1112 [3, 0, 26989],
1113 [3, 1, 33510],
1114 ],
1115 "step_counter": 70,
1116 },
1117 {
1118 "count_per_rank": [65272, 84540, 63813, 57910],
1119 "msg_list": [
1120 [0, 3, 11808],
1121 [0, 1, 25479],
1122 [0, 2, 12360],
1123 [1, 0, 15890],
1124 [1, 3, 33515],
1125 [1, 2, 50760],
1126 [2, 3, 1083],
1127 [2, 1, 13650],
1128 [2, 0, 33455],
1129 [3, 2, 13036],
1130 [3, 0, 26989],
1131 [3, 1, 33510],
1132 ],
1133 "step_counter": 71,
1134 },
1135 {
1136 "count_per_rank": [65272, 84540, 63813, 57910],
1137 "msg_list": [
1138 [0, 1, 25479],
1139 [0, 3, 14207],
1140 [0, 2, 9961],
1141 [1, 0, 15890],
1142 [1, 2, 32768],
1143 [1, 3, 35882],
1144 [2, 3, 1083],
1145 [2, 1, 14682],
1146 [2, 0, 32423],
1147 [3, 0, 10933],
1148 [3, 2, 13036],
1149 [3, 1, 33941],
1150 ],
1151 "step_counter": 72,
1152 },
1153 {
1154 "count_per_rank": [34022, 100165, 48188, 57910],
1155 "msg_list": [
1156 [0, 1, 25479],
1157 [0, 3, 14207],
1158 [0, 2, 9961],
1159 [1, 0, 15890],
1160 [1, 2, 32768],
1161 [1, 3, 35882],
1162 [2, 3, 1083],
1163 [2, 1, 14682],
1164 [2, 0, 32423],
1165 [3, 0, 10933],
1166 [3, 2, 13036],
1167 [3, 1, 33941],
1168 ],
1169 "step_counter": 73,
1170 },
1171 {
1172 "count_per_rank": [34022, 100165, 48188, 57910],
1173 "msg_list": [
1174 [0, 1, 9352],
1175 [0, 3, 14207],
1176 [0, 2, 10463],
1177 [1, 0, 15890],
1178 [1, 2, 32768],
1179 [1, 3, 35882],
1180 [2, 3, 1083],
1181 [2, 1, 14682],
1182 [2, 0, 32423],
1183 [3, 0, 10933],
1184 [3, 2, 14480],
1185 [3, 1, 32497],
1186 ],
1187 "step_counter": 74,
1188 },
1189 {
1190 "count_per_rank": [40295, 93892, 47043, 43430],
1191 "msg_list": [
1192 [0, 1, 9352],
1193 [0, 3, 14207],
1194 [0, 2, 10463],
1195 [1, 0, 15890],
1196 [1, 2, 32768],
1197 [1, 3, 35882],
1198 [2, 3, 1083],
1199 [2, 1, 14682],
1200 [2, 0, 32423],
1201 [3, 0, 10933],
1202 [3, 2, 14480],
1203 [3, 1, 32497],
1204 ],
1205 "step_counter": 75,
1206 },
1207 {
1208 "count_per_rank": [40295, 93892, 47043, 43430],
1209 "msg_list": [
1210 [0, 3, 14207],
1211 [0, 2, 10463],
1212 [1, 0, 15890],
1213 [1, 2, 32768],
1214 [1, 3, 35882],
1215 [2, 3, 1083],
1216 [2, 0, 16798],
1217 [2, 1, 14682],
1218 [3, 0, 10933],
1219 [3, 1, 32497],
1220 ],
1221 "step_counter": 76,
1222 },
1223 {
1224 "count_per_rank": [35603, 68915, 48188, 32497],
1225 "msg_list": [
1226 [0, 3, 14207],
1227 [0, 2, 10463],
1228 [1, 0, 15890],
1229 [1, 2, 32768],
1230 [1, 3, 35882],
1231 [2, 3, 1083],
1232 [2, 0, 16798],
1233 [2, 1, 14682],
1234 [3, 0, 10933],
1235 [3, 1, 32497],
1236 ],
1237 "step_counter": 77,
1238 },
1239 {
1240 "count_per_rank": [35603, 68915, 48188, 32497],
1241 "msg_list": [
1242 [0, 2, 7243],
1243 [0, 3, 17427],
1244 [1, 0, 15890],
1245 [1, 2, 15100],
1246 [1, 3, 37925],
1247 [2, 3, 1083],
1248 [2, 0, 16798],
1249 [2, 1, 14682],
1250 [3, 1, 32497],
1251 ],
1252 "step_counter": 78,
1253 },
1254 {
1255 "count_per_rank": [24670, 84540, 32563, 16872],
1256 "msg_list": [
1257 [0, 2, 7243],
1258 [0, 3, 17427],
1259 [1, 0, 15890],
1260 [1, 2, 15100],
1261 [1, 3, 37925],
1262 [2, 3, 1083],
1263 [2, 0, 16798],
1264 [2, 1, 14682],
1265 [3, 1, 32497],
1266 ],
1267 "step_counter": 79,
1268 },
1269 {
1270 "count_per_rank": [24670, 84540, 32563, 16872],
1271 "msg_list": [
1272 [0, 2, 7243],
1273 [0, 3, 17427],
1274 [1, 0, 15890],
1275 [1, 2, 15100],
1276 [1, 3, 37925],
1277 [2, 3, 1083],
1278 [2, 0, 16798],
1279 [2, 1, 14682],
1280 [3, 1, 16872],
1281 ],
1282 "step_counter": 80,
1283 },
1284 {
1285 "count_per_rank": [9045, 83597, 16798, 33580],
1286 "msg_list": [
1287 [0, 2, 7243],
1288 [0, 3, 17427],
1289 [1, 0, 15890],
1290 [1, 2, 15100],
1291 [1, 3, 37925],
1292 [2, 3, 1083],
1293 [2, 0, 16798],
1294 [2, 1, 14682],
1295 [3, 1, 16872],
1296 ],
1297 "step_counter": 81,
1298 },
1299 {
1300 "count_per_rank": [9045, 83597, 16798, 33580],
1301 "msg_list": [
1302 [0, 3, 1217],
1303 [0, 2, 7828],
1304 [1, 0, 15890],
1305 [1, 2, 17143],
1306 [1, 3, 35882],
1307 [2, 0, 16798],
1308 [3, 1, 16872],
1309 ],
1310 "step_counter": 82,
1311 },
1312 {
1313 "count_per_rank": [9045, 53290, 32423, 16872],
1314 "msg_list": [
1315 [0, 3, 1217],
1316 [0, 2, 7828],
1317 [1, 0, 15890],
1318 [1, 2, 17143],
1319 [1, 3, 35882],
1320 [2, 0, 16798],
1321 [3, 1, 16872],
1322 ],
1323 "step_counter": 83,
1324 },
1325 {
1326 "count_per_rank": [9045, 53290, 32423, 16872],
1327 "msg_list": [
1328 [0, 3, 1802],
1329 [0, 2, 7243],
1330 [1, 2, 1114],
1331 [1, 0, 15890],
1332 [1, 3, 36286],
1333 [2, 0, 16798],
1334 [3, 0, 431],
1335 [3, 1, 16441],
1336 ],
1337 "step_counter": 84,
1338 },
1339 {
1340 "count_per_rank": [17858, 36551, 9530, 32066],
1341 "msg_list": [
1342 [0, 3, 1802],
1343 [0, 2, 7243],
1344 [1, 2, 1114],
1345 [1, 0, 15890],
1346 [1, 3, 36286],
1347 [2, 0, 16798],
1348 [3, 0, 431],
1349 [3, 1, 16441],
1350 ],
1351 "step_counter": 85,
1352 },
1353 {
1354 "count_per_rank": [17858, 36551, 9530, 32066],
1355 "msg_list": [[0, 3, 1802], [1, 0, 15890], [1, 3, 20661], [2, 0, 1173], [3, 1, 16441]],
1356 "step_counter": 86,
1357 },
1358 {
1359 "count_per_rank": [17427, 20926, 1173, 16441],
1360 "msg_list": [[0, 3, 1802], [1, 0, 15890], [1, 3, 20661], [2, 0, 1173], [3, 1, 16441]],
1361 "step_counter": 87,
1362 },
1363 {
1364 "count_per_rank": [17427, 20926, 1173, 16441],
1365 "msg_list": [[0, 3, 1802], [1, 0, 265], [1, 3, 20661], [2, 0, 1173], [3, 1, 16441]],
1366 "step_counter": 88,
1367 },
1368 {
1369 "count_per_rank": [2975, 5301, 0, 32066],
1370 "msg_list": [[0, 3, 1802], [1, 0, 265], [1, 3, 20661], [2, 0, 1173], [3, 1, 16441]],
1371 "step_counter": 89,
1372 },
1373 {
1374 "count_per_rank": [2975, 5301, 0, 32066],
1375 "msg_list": [
1376 [0, 2, 585],
1377 [0, 3, 1217],
1378 [1, 0, 265],
1379 [1, 2, 404],
1380 [1, 3, 4632],
1381 [3, 1, 16441],
1382 ],
1383 "step_counter": 90,
1384 },
1385 {
1386 "count_per_rank": [265, 15625, 989, 6665],
1387 "msg_list": [
1388 [0, 2, 585],
1389 [0, 3, 1217],
1390 [1, 0, 265],
1391 [1, 2, 404],
1392 [1, 3, 4632],
1393 [3, 1, 16441],
1394 ],
1395 "step_counter": 91,
1396 },
1397 {"count_per_rank": [265, 15625, 989, 6665], "msg_list": [[3, 1, 816]], "step_counter": 92},
1398 {"count_per_rank": [0, 816, 0, 0], "msg_list": [[3, 1, 816]], "step_counter": 93},
1399 {"count_per_rank": [0, 816, 0, 0], "msg_list": [], "step_counter": 94},
1400 {"count_per_rank": [0, 0, 0, 0], "msg_list": [], "step_counter": 95},
1401 ]
1402
1403 with open("setup_log_step.json", "w") as file:
1404 json.dump(saved_data, file)
Make the plots
1414 print_setup_logs("setup_log_step.json", "setup_log_step_example")
Max count: 268499
Max msg size: 201354
/__w/Shamrock/Shamrock/doc/sphinx/examples/sph/run_sphsetup_logs.py:199: 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
1418 render_gif = True
1419 glob_str = os.path.join(folder, "setup_log_step_example_*.png")
1420
1421 # If the animation is not returned only a static image will be shown in the doc
1422 ani = show_image_sequence(glob_str)
1423
1424 # To save the animation using Pillow as a gif
1425 writer = animation.PillowWriter(fps=15, metadata=dict(artist="Me"), bitrate=1800)
1426 ani.save(folder + "setup_log_step_example.gif", writer=writer)
1427
1428
1429
1430 # Show the animation
1431 plt.show()
Total running time of the script: (4 minutes 55.002 seconds)
Estimated memory usage: 3326 MB