Peano
Loading...
Searching...
No Matches
kernel-throughput Namespace Reference

Variables

list Kernels_GPU = ["drift_gpu", "kick1_gpu", "kick2_gpu", "density_gpu", "force_gpu"]
 Parse user input.
 
list Kernels = [ "drift", "kick1", "kick2", "density", "force" ] + Kernels_GPU
 
 parser = argparse.ArgumentParser(description="SPH kernel benchmarking script")
 
 dest
 
 type
 
 default
 
 help
 
 action
 
 required
 
 choices
 
 nargs
 
 args = parser.parse_args()
 
list project_namespace = ["benchmarks", "exaparty", "hydro", "kernel_throughput"]
 Create ExaParty project and particle species.
 
 project
 
str name = "HydroPart"
 
 dimensions = args.dimensions
 
int hydro_dimensions = 2
 
 particle
 
int HYDRO_DIMENSIONS = hydro_dimensions
 Set parameters for the SPH simulation.
 
list gamma_hydro_list = [str(5 / 3), str(7 / 5), str(4 / 3), str(2 / 1)]
 
list gamma_hydro_list_symbols
 
list GAMMA = gamma_hydro_list[0]
 
list GAMMA_HYDRO_SYMBOL = gamma_hydro_list_symbols[0]
 
str kernel = "quartic_spline"
 
 KERNEL_SYMBOL = sphtools.sph_kernel_macro_name[kernel]
 
 KERNEL_SUPPORT_RAD = sphtools.sph_kernel_H_over_h[HYDRO_DIMENSIONS - 1][kernel]
 
 h_hydro_max
 
 particle_set = project.add_particle_species(particle)
 Add particle species to project.
 
 build_mode = peano4.api.output.CompileMode.RELEASE
 
list offset = [0, 0, 0]
 
list domain_size = [1, 1, 1]
 
list periodic_boundary_conditions = [False, False, False]
 
 min_end_time
 
 max_end_time
 
 first_plot_time_stamp
 
 time_in_between_plots
 
 periodic_BC
 
 plotter_precision
 
 peano4_project = project.generate_Peano4_project(verbose=args.verbose)
 Generate plain Peano 4 project.
 
 cpu_only = args.cpu_only
 
 gpu_only = args.gpu_only
 
tuple enabled = (cpu_only and 'gpu' not in kernel) or (gpu_only and 'gpu' in kernel) or (not cpu_only and not gpu_only)
 
list dirs = ["vertexdata/", "repositories/", "globaldata/", "observers/", "Constants.h"]
 Compilation.
 
 dir
 
 ignore_errors
 
 overwrite
 
 Default
 
 throw_away_data_after_generation
 
 make_clean_first
 
 True
 
 number_of_parallel_builds
 

Variable Documentation

◆ action

kernel-throughput.action

Definition at line 34 of file kernel-throughput.py.

◆ args

kernel-throughput.args = parser.parse_args()

Definition at line 144 of file kernel-throughput.py.

◆ build_mode

kernel-throughput.build_mode = peano4.api.output.CompileMode.RELEASE

Definition at line 226 of file kernel-throughput.py.

◆ choices

kernel-throughput.choices

Definition at line 104 of file kernel-throughput.py.

◆ cpu_only

kernel-throughput.cpu_only = args.cpu_only

Definition at line 311 of file kernel-throughput.py.

◆ default

kernel-throughput.default

Definition at line 27 of file kernel-throughput.py.

◆ Default

kernel-throughput.Default

Definition at line 336 of file kernel-throughput.py.

◆ dest

kernel-throughput.dest

Definition at line 25 of file kernel-throughput.py.

◆ dimensions

kernel-throughput.dimensions = args.dimensions

Definition at line 162 of file kernel-throughput.py.

◆ dir

kernel-throughput.dir

Definition at line 333 of file kernel-throughput.py.

◆ dirs

list kernel-throughput.dirs = ["vertexdata/", "repositories/", "globaldata/", "observers/", "Constants.h"]

Compilation.

Before we start the compilation, we add our real benchmark driver.

Definition at line 331 of file kernel-throughput.py.

◆ domain_size

kernel-throughput.domain_size = [1, 1, 1]

Definition at line 238 of file kernel-throughput.py.

◆ enabled

tuple kernel-throughput.enabled = (cpu_only and 'gpu' not in kernel) or (gpu_only and 'gpu' in kernel) or (not cpu_only and not gpu_only)

Definition at line 319 of file kernel-throughput.py.

◆ first_plot_time_stamp

kernel-throughput.first_plot_time_stamp

Definition at line 247 of file kernel-throughput.py.

◆ GAMMA

list kernel-throughput.GAMMA = gamma_hydro_list[0]

Definition at line 199 of file kernel-throughput.py.

◆ gamma_hydro_list

list kernel-throughput.gamma_hydro_list = [str(5 / 3), str(7 / 5), str(4 / 3), str(2 / 1)]

Definition at line 192 of file kernel-throughput.py.

◆ gamma_hydro_list_symbols

list kernel-throughput.gamma_hydro_list_symbols
Initial value:
1= [
2 "HYDRO_GAMMA_5_3",
3 "HYDRO_GAMMA_7_5",
4 "HYDRO_GAMMA_4_3",
5 "HYDRO_GAMMA_2_1",
6 ]

Definition at line 193 of file kernel-throughput.py.

◆ GAMMA_HYDRO_SYMBOL

list kernel-throughput.GAMMA_HYDRO_SYMBOL = gamma_hydro_list_symbols[0]

Definition at line 200 of file kernel-throughput.py.

◆ gpu_only

kernel-throughput.gpu_only = args.gpu_only

Definition at line 312 of file kernel-throughput.py.

◆ h_hydro_max

kernel-throughput.h_hydro_max

Definition at line 208 of file kernel-throughput.py.

◆ help

kernel-throughput.help

Definition at line 28 of file kernel-throughput.py.

◆ hydro_dimensions

int kernel-throughput.hydro_dimensions = 2

Definition at line 163 of file kernel-throughput.py.

◆ HYDRO_DIMENSIONS

int kernel-throughput.HYDRO_DIMENSIONS = hydro_dimensions

Set parameters for the SPH simulation.

We mainly use default arguments and we stick to the minimum that we need to let the code compile.

Definition at line 185 of file kernel-throughput.py.

◆ ignore_errors

kernel-throughput.ignore_errors

Definition at line 333 of file kernel-throughput.py.

◆ kernel

str kernel-throughput.kernel = "quartic_spline"

Definition at line 204 of file kernel-throughput.py.

◆ KERNEL_SUPPORT_RAD

kernel-throughput.KERNEL_SUPPORT_RAD = sphtools.sph_kernel_H_over_h[HYDRO_DIMENSIONS - 1][kernel]

Definition at line 206 of file kernel-throughput.py.

◆ KERNEL_SYMBOL

kernel-throughput.KERNEL_SYMBOL = sphtools.sph_kernel_macro_name[kernel]

Definition at line 205 of file kernel-throughput.py.

◆ Kernels

list kernel-throughput.Kernels = [ "drift", "kick1", "kick2", "density", "force" ] + Kernels_GPU

Definition at line 18 of file kernel-throughput.py.

◆ Kernels_GPU

list kernel-throughput.Kernels_GPU = ["drift_gpu", "kick1_gpu", "kick2_gpu", "density_gpu", "force_gpu"]

Parse user input.

Definition at line 17 of file kernel-throughput.py.

◆ make_clean_first

kernel-throughput.make_clean_first

Definition at line 338 of file kernel-throughput.py.

◆ max_end_time

kernel-throughput.max_end_time

Definition at line 246 of file kernel-throughput.py.

◆ min_end_time

kernel-throughput.min_end_time

Definition at line 245 of file kernel-throughput.py.

◆ name

str kernel-throughput.name = "HydroPart"

Definition at line 160 of file kernel-throughput.py.

◆ nargs

kernel-throughput.nargs

Definition at line 113 of file kernel-throughput.py.

◆ number_of_parallel_builds

kernel-throughput.number_of_parallel_builds

Definition at line 338 of file kernel-throughput.py.

◆ offset

kernel-throughput.offset = [0, 0, 0]

Definition at line 237 of file kernel-throughput.py.

◆ overwrite

kernel-throughput.overwrite

Definition at line 336 of file kernel-throughput.py.

◆ parser

kernel-throughput.parser = argparse.ArgumentParser(description="SPH kernel benchmarking script")

Definition at line 21 of file kernel-throughput.py.

◆ particle

kernel-throughput.particle
Initial value:
2 name=name,
3 dimensions_hydro=hydro_dimensions,
4 cfl_factor=0.01,
5 initial_time_step_size=0.01,
6 constant_time_step_size=True,
7 exaparty_project_namespace=project_namespace,
8 particles_per_cell=100,
9 min_h=1.0,
10 max_h=1.0,
11 )

Definition at line 165 of file kernel-throughput.py.

◆ particle_set

kernel-throughput.particle_set = project.add_particle_species(particle)

Add particle species to project.

Notice that you any change to the particle will not take effect after adding the particle_set to the project

Definition at line 217 of file kernel-throughput.py.

◆ peano4_project

kernel-throughput.peano4_project = project.generate_Peano4_project(verbose=args.verbose)

Generate plain Peano 4 project.

The value of some constants such as the adiabatic index cannot be arbitrary but rather we have a set of pre-defined options. The same happens for some functions, e.g. the SPH smoothing kernel. This allows us to define some symbols and fix the values at compile time.

Definition at line 268 of file kernel-throughput.py.

◆ periodic_BC

kernel-throughput.periodic_BC

Definition at line 249 of file kernel-throughput.py.

◆ periodic_boundary_conditions

list kernel-throughput.periodic_boundary_conditions = [False, False, False]

Definition at line 239 of file kernel-throughput.py.

◆ plotter_precision

kernel-throughput.plotter_precision

Definition at line 250 of file kernel-throughput.py.

◆ project

kernel-throughput.project
Initial value:
2 namespace=project_namespace, project_name="Benchmarks", executable=args.output_file
3 )
ExaParty project.
Definition Project.py:27

Definition at line 152 of file kernel-throughput.py.

◆ project_namespace

list kernel-throughput.project_namespace = ["benchmarks", "exaparty", "hydro", "kernel_throughput"]

Create ExaParty project and particle species.

Definition at line 150 of file kernel-throughput.py.

◆ required

kernel-throughput.required

Definition at line 42 of file kernel-throughput.py.

◆ throw_away_data_after_generation

kernel-throughput.throw_away_data_after_generation

Definition at line 336 of file kernel-throughput.py.

◆ time_in_between_plots

kernel-throughput.time_in_between_plots

Definition at line 248 of file kernel-throughput.py.

◆ True

kernel-throughput.True

Definition at line 338 of file kernel-throughput.py.

◆ type

kernel-throughput.type

Definition at line 26 of file kernel-throughput.py.