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

Gallery generated by Sphinx-Gallery