nvmexplorer_src package

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 NVSimInputConfig objects containing NVSim input cfgs

for best-case and worst-case scenarios :rtype: list of Strings and NVSimInputConfig objects

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 NVSimInputConfig object 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) – AccessPattern object

  • nvsim_input_cfgsNVSimInputConfig objects which were used for array simulation

  • nvsim_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) – AccessPattern object

  • nvsim_input_cfgsNVSimInputConfig objects which were used for array simulation

  • nvsim_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) – AccessPattern object

  • nvsim_input_cfgsNVSimInputConfig objects which were used for array simulation

  • nvsim_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) – AccessPattern object

  • nvsim_input_cfgsNVSimInputConfig objects which were used for array simulation

  • nvsim_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) – AccessPattern object

  • nvsim_input_cfgsNVSimInputConfig objects which were used for array simulation

  • nvsim_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

Module contents