MCPcopy Create free account

hub / github.com/bartblockmans/benchmark_mpj / functions

Functions126 in github.com/bartblockmans/benchmark_mpj

↓ 26 callersFunctionxmalloc
C_nbody/nbody.c:14
↓ 8 callersFunctionparse_array_numbers
C_nbody/nbody.c:89
↓ 5 callersMethod_get_benchmark_mode_description
Get a human-readable description of the current benchmark mode.
benchmark.py:341
↓ 5 callersFunctionurand01
C_nbody/nbody.c:34
↓ 4 callersFunction_style_axes_dark
Apply dark theme styling to a matplotlib axis.
nbody.py:697
↓ 4 callersFunction_style_axes_dark
Apply dark theme styling to a matplotlib axis.
nbody_opt.py:854
↓ 4 callersFunctioncompute_acc_full_inplace
Compute gravitational acceleration for all particles in-place (full version). Non-symmetric loop: compute all N² forces explicitly.
nbody_opt.py:295
↓ 4 callersFunctioncompute_acc_sym_blocked
Compute gravitational acceleration with blocked loops for better cache utilization. For N ≳ a few thousand, blocking improves L1/L2 cach
nbody_opt.py:348
↓ 4 callersFunctioncompute_acc_sym_inplace
Compute gravitational acceleration for all particles in-place (symmetric version). This is the computationally intensive O(N²) part of t
nbody_opt.py:233
↓ 4 callersFunctionnormal_random
C_nbody/nbody.c:45
↓ 4 callersFunctionwrap
C_lbm/viz_ppm.c:41
↓ 3 callersFunction_style_axes_light
Apply light theme styling to a matplotlib axis.
nbody.py:708
↓ 3 callersFunction_style_axes_light
Apply light theme styling to a matplotlib axis.
nbody_opt.py:865
↓ 3 callersFunctionclampi
C_lbm/viz_ppm.c:10
↓ 3 callersFunctionkinetic_energy
Compute total kinetic energy of the system. KE = Σ(½ × m × v²) for all particles Parameters: ----------- m, u, v, w : n
nbody_opt.py:468
↓ 3 callersFunctionpotential_energy
Compute total gravitational potential energy of the system. PE = -G × Σ(mᵢ × mⱼ / rᵢⱼ) for all particle pairs Parameters: -
nbody_opt.py:492
↓ 3 callersFunctionsave_snapshot
C_nbody/nbody.c:349
↓ 2 callersFunction_disk
Generate initial conditions for a rotating stellar disk. Creates a 2D disk with small thickness in the z-direction. Particles are di
nbody_opt.py:536
↓ 2 callersMethod_find_consistent_subset
Find a subset of 'target_size' runs that are consistent with each other. This is the key fix: we look for ANY subset of 5 runs that a
benchmark.py:509
↓ 2 callersFunction_render_snapshot
Save a two-panel snapshot matching the live visualization. Creates a standalone figure with the same layout as the live visualization:
nbody.py:743
↓ 2 callersFunction_render_snapshot
Save a two-panel snapshot matching the live visualization. Creates a standalone figure with the same layout as the live visualization:
nbody_opt.py:900
↓ 2 callersMethod_run_julia_script
Run the Julia script and measure execution time.
benchmark.py:372
↓ 2 callersMethod_run_matlab_script
Run the MATLAB script and measure execution time.
benchmark.py:391
↓ 2 callersMethod_run_python_script
Run the Python script and measure execution time.
benchmark.py:350
↓ 2 callersFunction_spiral_disk
Generate initial conditions for a spiral galaxy disk. Creates an exponential disk with logarithmic spiral arm overdensities. This pr
nbody.py:440
↓ 2 callersFunction_spiral_disk
Generate initial conditions for a spiral galaxy disk. Creates an exponential disk with logarithmic spiral arm overdensities. This pr
nbody_opt.py:597
↓ 2 callersFunctioncompute_acc
Compute gravitational acceleration for all particles. This is the computationally intensive O(N²) part of the simulation. Uses Plumm
nbody.py:207
↓ 2 callersFunctioncompute_acc_sym_inplace
C_nbody/nbody.c:272
↓ 2 callersFunctiondisk
Generate initial conditions for a simple galaxy disk. Creates a disk with exponential-like density profile and circular orbits. This
nbody.py:379
↓ 2 callersFunctiongamma_random
C_nbody/nbody.c:53
↓ 2 callersFunctiongenerate_disk
Generate initial conditions for a rotating stellar disk.
nbody_ic.py:46
↓ 2 callersFunctiongenerate_spiral_disk
Generate initial conditions for a spiral galaxy disk.
nbody_ic.py:75
↓ 2 callersFunctiongenerate_spiral_disk
C_nbody/nbody.c:196
↓ 2 callersFunctioninit_ic
Generate initial conditions for the N-body simulation. Creates different particle distributions based on the selected scenario. All
nbody.py:558
↓ 2 callersFunctioninit_ic
Generate initial conditions for the N-body simulation. Creates different particle distributions based on the selected scenario. All
nbody_opt.py:715
↓ 2 callersFunctioninit_ic_galaxy_spiral
C_nbody/nbody.c:237
↓ 2 callersFunctionkinetic_energy
Compute total kinetic energy of the system. KE = Σ(½ × m × v²) for all particles Parameters: ----------- m, u, v, w : n
nbody.py:311
↓ 2 callersFunctionparse_float_field
C_nbody/nbody.c:125
↓ 2 callersFunctionparse_int_field
C_nbody/nbody.c:115
↓ 2 callersFunctionpotential_energy
Compute total gravitational potential energy of the system. PE = -G × Σ(mᵢ × mⱼ / rᵢⱼ) for all particle pairs Parameters: -
nbody.py:335
↓ 2 callersFunctionwrap
C_lbm/lbm.c:20
↓ 1 callersMethod_build_script_paths
Build script paths based on user's language selection. Returns: -------- dict : Dictionary mapping language
benchmark.py:102
↓ 1 callersMethod_check_consistency
Check if the latest run is consistent with the existing pattern. This is used to provide real-time feedback during data collection.
benchmark.py:449
↓ 1 callersMethod_generate_plot
Generate a bar plot comparing execution times.
benchmark.py:954
↓ 1 callersMethod_generate_report
Generate a detailed benchmark report.
benchmark.py:878
↓ 1 callersMethod_get_language_versions
Get version information for each programming language.
benchmark.py:238
↓ 1 callersMethod_get_system_info
Collect system information for the benchmark report.
benchmark.py:128
↓ 1 callersFunction_maybe_njit
Conditional Numba JIT decorator. If Numba is available, applies JIT compilation for performance. If not available, returns the origi
nbody.py:184
↓ 1 callersFunction_maybe_njit
Conditional Numba JIT decorator. If Numba is available, applies JIT compilation for performance. If not available, returns the origi
nbody_opt.py:210
↓ 1 callersMethod_run_implementation
Run benchmark for a specific language implementation.
benchmark.py:664
↓ 1 callersMethod_select_best_runs
Selects the fastest 'target_size' runs from a larger set. This is used for the 'best_of_10' mode. Parameters:
benchmark.py:639
↓ 1 callersMethod_select_most_consistent_subset
Selects the most consistent subset of runs from a larger set. This is useful when outlier detection fails to achieve consistency.
benchmark.py:595
↓ 1 callersFunction_setup_figure
Create and configure the main visualization figure. Sets up a 3-panel layout: positions (top 2/3) and energy (bottom 1/3). Retu
nbody.py:719
↓ 1 callersFunction_setup_figure
Create and configure the main visualization figure. Sets up a 3-panel layout: positions (top 2/3) and energy (bottom 1/3). Retu
nbody_opt.py:876
↓ 1 callersFunctionapply_inflow_outflow_boundary_conditions
Apply velocity boundary conditions at inlet and outlet. Maintains constant velocity at domain boundaries.
lbm_cylinder.py:197
↓ 1 callersFunctionapply_inflow_outflow_boundary_conditions
C_lbm/lbm.c:186
↓ 1 callersFunctionapply_inflow_outflow_boundary_conditions_optimized
Apply velocity boundary conditions at inlet and outlet with OPTIMIZED vectorized operations. Computes all 9 directions at once using broadcas
lbm_cylinder_opt.py:325
↓ 1 callersFunctionapply_periodic_boundary_conditions
Apply periodic boundary conditions to the distribution functions. This ensures particles leaving one edge of the domain re-enter from the opp
lbm_cylinder.py:126
↓ 1 callersFunctionapply_periodic_boundary_conditions
C_lbm/lbm.c:64
↓ 1 callersFunctioncenter_of_mass_frame
C_nbody/nbody.c:184
↓ 1 callersFunctioncollision_step
Perform the collision step using the BGK (Bhatnagar-Gross-Krook) approximation. Distribution functions relax toward their equilibrium values.
lbm_cylinder.py:182
↓ 1 callersFunctioncollision_step
C_lbm/lbm.c:161
↓ 1 callersFunctioncollision_step_inplace
Perform collision step in-place using 2D scratch buffer to avoid 3D Feq allocation. OPTIMIZED VERSION with precomputed constants for better p
lbm_cylinder_opt.py:303
↓ 1 callersFunctioncompute_macroscopic_variables
Compute macroscopic fluid variables (density and velocity) from the distribution functions using moment integrals.
lbm_cylinder.py:164
↓ 1 callersFunctioncompute_macroscopic_variables
C_lbm/lbm.c:147
↓ 1 callersFunctioncompute_macroscopic_variables_optimized
Compute macroscopic fluid variables using OPTIMIZED single-pass computation. Fuses density and momentum calculations into one loop over direc
lbm_cylinder_opt.py:275
↓ 1 callersFunctioncreate_cylinder_mask
Create a boolean mask representing the cylinder in the computational domain.
lbm_cylinder_opt.py:103
↓ 1 callersFunctioncreate_cylinder_mask
Create a boolean mask representing the cylinder in the computational domain.
lbm_cylinder.py:100
↓ 1 callersFunctiondraw_circle_outline
C_lbm/viz_ppm.c:43
↓ 1 callersFunctionensure_images_dir
C_nbody/nbody.c:317
↓ 1 callersFunctionensure_images_dir
C_lbm/viz_ppm.c:30
↓ 1 callersFunctionexport_initial_conditions
Export initial conditions to a portable JSON file.
nbody_ic.py:270
↓ 1 callersFunctiongenerate_initial_conditions
Generate initial conditions for the specified scenario.
nbody_ic.py:162
↓ 1 callersFunctiongenerate_plummer
Generate initial conditions for a Plummer sphere.
nbody_ic.py:138
↓ 1 callersFunctionhandle_cylinder_boundary
Handle the no-slip boundary condition at the cylinder surface. Implements the bounce-back method where particles hitting the cylinder rev
lbm_cylinder.py:148
↓ 1 callersFunctionhandle_cylinder_boundary
C_lbm/lbm.c:124
↓ 1 callersFunctionimport_initial_conditions
Import initial conditions from a JSON file generated by nbody_ic.py. Parameters: ----------- filename : str Path to the
nbody.py:97
↓ 1 callersFunctionimport_initial_conditions
Import initial conditions from a JSON file generated by nbody_ic.py. Parameters: ----------- filename : str Path to the
nbody_opt.py:123
↓ 1 callersFunctionimport_initial_conditions
C_nbody/nbody.c:135
↓ 1 callersFunctioninit_cylinder
C_lbm/lbm.c:28
↓ 1 callersFunctioninitialize_flow
C_lbm/lbm.c:40
↓ 1 callersFunctioninitialize_flow_field
Initialize the flow field with uniform density and inlet velocity. Sets up the initial distribution functions F based on equilibrium conditio
lbm_cylinder_opt.py:111
↓ 1 callersFunctioninitialize_flow_field
Initialize the flow field with uniform density and inlet velocity. Sets up the initial distribution functions F based on equilibrium conditio
lbm_cylinder.py:108
↓ 1 callersFunctioninitialize_parameters
Initialize all simulation parameters including domain size, lattice properties, cylinder geometry, and fluid properties.
lbm_cylinder_opt.py:56
↓ 1 callersFunctioninitialize_parameters
Initialize all simulation parameters including domain size, lattice properties, cylinder geometry, and fluid properties.
lbm_cylinder.py:54
↓ 1 callersFunctionkinetic_energy
C_nbody/nbody.c:294
↓ 1 callersFunctionmain
Main simulation loop implementing the Lattice Boltzmann Method. This function orchestrates the complete LBM simulation by: 1. Settin
lbm_cylinder_opt.py:474
↓ 1 callersFunctionmain
Main simulation loop implementing the Lattice Boltzmann Method. This function orchestrates the complete LBM simulation by: 1. Setting up
lbm_cylinder.py:266
↓ 1 callersFunctionmain
Main function to run the benchmarking.
benchmark.py:1076
↓ 1 callersFunctionmain
Main simulation function. Implements the leapfrog integration scheme: 1. Half-kick: update velocities by half a time step 2. Dri
nbody.py:921
↓ 1 callersFunctionmain
Main simulation function (optimized version). Implements the leapfrog integration scheme using optimized kernels: 1. Preallocates ac
nbody_opt.py:1011
↓ 1 callersFunctionmain
Main function to generate and export initial conditions.
nbody_ic.py:317
↓ 1 callersFunctionparse_arguments
C_lbm/config.c:21
↓ 1 callersFunctionplot_vorticity_ppm
C_lbm/viz_ppm.c:55
↓ 1 callersFunctionpotential_energy
C_nbody/nbody.c:300
↓ 1 callersFunctionprecompute_cylinder_masks_corrected
Precompute incoming particle masks for bounce-back boundary conditions. Uses the CORRECTED algorithm that matches the baseline exactly.
lbm_cylinder_opt.py:173
↓ 1 callersMethodprint_summary
Print a summary of the benchmark results.
benchmark.py:1025
↓ 1 callersFunctionprint_usage
C_lbm/config.c:11
↓ 1 callersFunctionrdBu_color
Linear blend in RdBu-like diverging scheme (blue->white->red) */
C_lbm/viz_ppm.c:13
↓ 1 callersFunctionread_text_file
read whole file to string (NUL-terminated) */
C_nbody/nbody.c:74
next →1–100 of 126, ranked by callers