livvkit.components package¶
Subpackages¶
Submodules¶
livvkit.components.numerics module¶
Numerics Test Base Module.
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.validation module¶
Validation Test Base Module
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