nvmexplorer_src package¶
Subpackages¶
Submodules¶
nvmexplorer_src.combine_csv module¶
-
nvmexplorer_src.combine_csv.combine_csv(cell_type, mlc, bg=0)¶ Writes to a file in csv format the combined results from a set of experiments for a certain cell type and mlc configuration
- Parameters
cell_type (String) – String indicating the NVM technology (e.g., PCM or STT)
mlc (int) – int indicating the number of bits per cell
nvmexplorer_src.eval_utils module¶
-
class
nvmexplorer_src.eval_utils.ExperimentResult(access_pattern=<nvmexplorer_src.input_defs.access_pattern.PatternConfig object>, nvsim_input_cfg=<nvmexplorer_src.input_defs.nvsim_interface.NVSimInputConfig object>, nvsim_output=<nvmexplorer_src.input_defs.nvsim_interface.NVSimOutputConfig object>)¶ Bases:
object-
evaluate()¶
-
report_header()¶
-
report_header_benchmark(to_csv, csv_file_path, cell_cfg_path, mem_cfg_path)¶
-
report_header_gSheet(to_csv, csv_file_path, cell_cfg_path, mem_cfg_path, write_accesses_header, read_accesses_header, sheet_id)¶
-
report_result()¶
-
report_result_benchmark(to_csv, csv_file_path, cell_cfg_path, mem_cfg_path, access_pattern)¶
-
report_result_gSheet(to_csv, csv_file_path, cell_cfg_path, mem_cfg_path, num_write_accesses, num_read_accesses, sheet_id)¶
-
-
nvmexplorer_src.eval_utils.parse_nvsim_input_file(file_path)¶
nvmexplorer_src.tentpoles module¶
-
nvmexplorer_src.tentpoles.form_tentpoles(data_df, cell_type, bits_per_cell)¶ Generates best-case and worst-case NVSim cell files for a specified cell type and multi-level cell configuration
- Parameters
data_df – pandas dataframe object containing NVM spreadsheet data
cell_type (String) – String specifying which NVM technology to use
bits_per_cell (String) – number of bits per cell for a potential multi-level cell configuration
- Returns
list of paths to NVSim cell files and
NVSimInputConfigobjects containing NVSim input cfgs
for best-case and worst-case scenarios :rtype: list of Strings and
NVSimInputConfigobjects
-
nvmexplorer_src.tentpoles.gen_custom_cell(cell_type, custom_cell_inputs)¶ Generates NVSim cell files for a specified cell type and input characteristics
- Parameters
cell_type (String) – String specifying which NVM technology to use
custom_cell_inputs – dictionary object specifying possible input params to cell def
- Returns
path to NVSim cell file and
NVSimInputConfigobject containing NVSim input cfgs
nvmexplorer_src.traffic module¶
-
nvmexplorer_src.traffic.dnn_traffic(DNN_weights, DNN_weights_acts, access_pattern, nvsim_input_cfgs, nvsim_outputs, results_csv, cell_paths, cfg_paths)¶ Evaluates and writes results for scenarios from a dnn application traffic sweep
- Parameters
access_pattern (
AccessPattern) –AccessPatternobjectnvsim_input_cfgs –
NVSimInputConfigobjects which were used for array simulationnvsim_outputs – paths to NVSim output files
results_csv (String) – path to CSV file containing results
cell_paths – paths to NVSim input cell files
cfg_paths – paths to NVSim input config files
-
nvmexplorer_src.traffic.generic_traffic(access_pattern, nvsim_input_cfgs, nvsim_outputs, results_csv, cell_paths, cfg_paths)¶ Evaluates and writes results for scenarios from apre-set, generic traffic sweep
- Parameters
access_pattern (
AccessPattern) –AccessPatternobjectnvsim_input_cfgs –
NVSimInputConfigobjects which were used for array simulationnvsim_outputs – paths to NVSim output files
results_csv (String) – path to CSV file containing results
cell_paths – paths to NVSim input cell files
cfg_paths – paths to NVSim input config files
-
nvmexplorer_src.traffic.generic_traffic_with_write_buff(access_pattern, nvsim_input_cfgs, nvsim_outputs, results_csv, cell_paths, cfg_paths)¶ Evaluates and writes results for pre-defined case study scenarios from a generic application traffic sweep with write buffering that is evaluated
- Parameters
access_pattern (
AccessPattern) –AccessPatternobjectnvsim_input_cfgs –
NVSimInputConfigobjects which were used for array simulationnvsim_outputs – paths to NVSim output files
results_csv (String) – path to CSV file containing results
cell_paths – paths to NVSim input cell files
cfg_paths – paths to NVSim input config files
-
nvmexplorer_src.traffic.graph_traffic(graph8MB, access_pattern, nvsim_input_cfgs, nvsim_outputs, results_csv, cell_paths, cfg_paths)¶ Evaluates and writes results for scenarios from a graph application traffic sweep
- Parameters
access_pattern (
AccessPattern) –AccessPatternobjectnvsim_input_cfgs –
NVSimInputConfigobjects which were used for array simulationnvsim_outputs – paths to NVSim output files
results_csv (String) – path to CSV file containing results
cell_paths – paths to NVSim input cell files
cfg_paths – paths to NVSim input config files
-
nvmexplorer_src.traffic.spec_traffic(spec8MBLLC, spec16MBLLC, spec16MBDRAM, spec16MBL2, spec32MBLLC, spec64MBLLC, access_pattern, nvsim_input_cfgs, nvsim_outputs, results_csv, cell_paths, cfg_paths)¶ Evaluates and writes results for scenarios from SPEC2017 Cache Profiling traffic sweep
- Parameters
access_pattern (
AccessPattern) –AccessPatternobjectnvsim_input_cfgs –
NVSimInputConfigobjects which were used for array simulationnvsim_outputs – paths to NVSim output files
results_csv (String) – path to CSV file containing results
cell_paths – paths to NVSim input cell files
cfg_paths – paths to NVSim input config files