benchpark package

Submodules

benchpark.accounting module

benchpark.accounting.benchpark_benchmarks()
benchpark.accounting.benchpark_experiments(exp_dict={'ProgrammingModelType.Cuda': ('programming_model', 'cuda'), 'ProgrammingModelType.Mpionly': ('programming_model', 'mpi'), 'ProgrammingModelType.Openmp': ('programming_model', 'openmp'), 'ProgrammingModelType.Rocm': ('programming_model', 'rocm'), 'ScalingMode.Strong': ('scaling', 'strong'), 'ScalingMode.Throughput': ('scaling', 'throughput'), 'ScalingMode.Weak': ('scaling', 'weak')}, exclude_variants=[])
benchpark.accounting.benchpark_modifiers()
benchpark.accounting.benchpark_systems(programming_model=None)

benchpark.base_paths module

class benchpark.base_paths.BasePaths

Bases: object

benchpark.base_paths.determine_config_dir()

Benchpark configs don’t merge or override like Spack/Ramble. You just point it at a directory and that’s where all your config is.

benchpark.caliper module

benchpark.config module

class benchpark.config.Bootstrap(data, path)

Bases: ConfigSection

filename = 'bootstrap.yaml'
name = 'bootstrap'
class benchpark.config.ConfigSection(data, path)

Bases: PropertyDict

filename
name
resolve_path(value)
classmethod try_load(cfg_dir)
class benchpark.config.Configuration(cfg_dir)

Bases: object

section_names = ['repos', 'bootstrap']
class benchpark.config.PropertyDict

Bases: object

class benchpark.config.Repos(data, path)

Bases: ConfigSection

filename = 'repos.yaml'
name = 'repos'
class benchpark.config.RequiredClassAttr(name)

Bases: object

benchpark.config.configuration()

benchpark.cudasystem module

benchpark.debug module

benchpark.debug.debug_print(message)
benchpark.debug.get_filename()
benchpark.debug.get_linenumber()

benchpark.directives module

benchpark.error module

exception benchpark.error.BenchparkError

Bases: Exception

This is the superclass for all Benchpark errors. Subclasses can be found in the modules they have to do with.

benchpark.error.debug = 0

at what level we should write stack traces or short error messages this is module-scoped because it needs to be set very early

benchpark.experiment module

benchpark.openmpsystem module

benchpark.paths module

benchpark.programming_model module

benchpark.repo module

benchpark.rocmsystem module

benchpark.runtime module

benchpark.scaling module

benchpark.spec module

benchpark.system module

benchpark.variables module

class benchpark.variables.Variable(var, named=False, zipped=False, matrixed=False)

Bases: object

dims()
property is_matrixed
property is_named
property is_zipped
property min_dim
property ndims
reduce(func)
scale_dim(itr, dim, scaling_func, sf)
set_dim(dim, value)
val(key)
class benchpark.variables.VariableDict

Bases: object

add_dimensional_variable(name, values, named=False, zipped=True, matrixed=False)
add_scalar_variable(name, values, named=False, zipped=False, matrixed=False)
assign_variable(name, var)
extend(vardict)
items()
keys()
values()

benchpark.variant module

class benchpark.variant.Variant(name, default, description, values=(True, False), multi=False, validator=None, sticky=False)

Bases: object

Represents a variant in a package, as declared in the variant directive.

property allowed_values

Returns a string representation of the allowed values for printing purposes

Returns:

representation of the allowed values

Return type:

str

validate_values(variant_values, pkg_cls=None)

Validate a variant spec against this package variant. Raises an exception if any error is found.

Parameters:
  • vspec_values (tuple) – values to be validated

  • pkg_cls (spack.package_base.PackageBase) – the package class that required the validation, if available

Raises:

Exception

validate_values_bool(*args, **kwargs)

Wrapper around validate_values that returns boolean instead of raising.

Module contents