livvkit.components package

Subpackages

Submodules

livvkit.components.numerics module

Numerics Test Base Module.

livvkit.components.numerics.populate_metadata(case, config)[source]
livvkit.components.numerics.run_suite(case, config)[source]

Run the full suite of numerics tests

livvkit.components.performance module

Performance Test Base Module.

livvkit.components.performance.generate_scaling_plot(timing_data, title, ylabel, description, plot_file)[source]

Generate a scaling plot.

Parameters
  • timing_data – data returned from a *_scaling method

  • title – the title of the plot

  • ylabel – the y-axis label of the plot

  • description – a description of the plot

  • plot_file – the file to write out to

Returns

an image element containing the plot file and metadata

livvkit.components.performance.generate_timing_breakdown_plot(timing_stats, scaling_var, title, description, plot_file)[source]

Description

Parameters
  • timing_stats – a dictionary of the form {proc_count : {model||bench : { var : { stat : val }}}}

  • scaling_var – the variable that accounts for the total runtime

  • title – the title of the plot

  • description – the description of the plot

  • plot_file – the file to write the plot out to

Returns

an image element containing the plot file and metadata

livvkit.components.performance.generate_timing_stats(file_list, var_list)[source]

Parse all of the timing files, and generate some statistics about the run.

Parameters
  • file_list – A list of timing files to parse

  • var_list – A list of variables to look for in the timing file

Returns

[mean, min, max, mean, standard deviation]

Return type

A dict containing values that have the form

livvkit.components.performance.populate_metadata(case, config)[source]

Provide some top level information for the summary

livvkit.components.performance.run_suite(case, config)[source]

Run the full suite of performance tests

livvkit.components.performance.scaling_sypd_plot(timing_data, title, ylabel, description, plot_file)[source]
livvkit.components.performance.strong_scaling(timing_stats, scaling_var, data_points)[source]

Generate data for plotting strong scaling. The data points keep the problem size the same and varies the number of processors used to complete the job.

Parameters
  • timing_stats – the result of the generate_timing_stats function

  • scaling_var – the variable to select from the timing_stats dictionary (can be provided in configurations via the ‘scaling_var’ key)

  • data_points – the list of size and processor counts to use as data (can be provided in configurations via the ‘strong_scaling_points’ key)

Returns

{‘bench’{‘mins’[], ‘means’[], ‘maxs’[]},

’model’ : {‘mins’ : [], ‘means’ : [], ‘maxs’ : []}, ‘proc_counts’ : []}

Return type

A dict of the form

livvkit.components.performance.strong_scaling_efficiency_plot(timing_data, title, ylabel, description, plot_file)[source]
livvkit.components.performance.weak_scaling(timing_stats, scaling_var, data_points)[source]

Generate data for plotting weak scaling. The data points keep a constant amount of work per processor for each data point.

Parameters
  • timing_stats – the result of the generate_timing_stats function

  • scaling_var – the variable to select from the timing_stats dictionary (can be provided in configurations via the ‘scaling_var’ key)

  • data_points – the list of size and processor counts to use as data (can be provided in configurations via the ‘weak_scaling_points’ key)

Returns

{‘bench’{‘mins’[], ‘means’[], ‘maxs’[]},

’model’ : {‘mins’ : [], ‘means’ : [], ‘maxs’ : []}, ‘proc_counts’ : []}

Return type

A dict of the form

livvkit.components.performance.weak_scaling_efficiency_plot(timing_data, title, ylabel, description, plot_file)[source]

livvkit.components.validation module

Validation Test Base Module

livvkit.components.validation.populate_metadata(case, config)[source]
livvkit.components.validation.run_suite(case, config)[source]

Run the full suite of validation tests

livvkit.components.verification module

Verification Test Base Module

livvkit.components.verification.bit_for_bit(model_path, bench_path, config)[source]

Checks whether the given files have bit for bit solution matches on the given variable list.

Parameters
  • model_path – absolute path to the model dataset

  • bench_path – absolute path to the benchmark dataset

  • config – the configuration of the set of analyses

Returns

A dictionary created by the elements object corresponding to the results of the bit for bit testing

livvkit.components.verification.plot_bit_for_bit(case, var_name, model_data, bench_data, diff_data)[source]

Create a bit for bit plot

livvkit.components.verification.populate_metadata(case, config)[source]

Provide some top level information for the summary

livvkit.components.verification.run_suite(case, config)[source]

Run the full suite of verification tests

Module contents