def __init__(self): parser = OptionParser("usage: %prog [OPTIONS...] INFILE") parser.add_option("-l", "--line-size", type="int", default="64", dest="line_size", help="Use a specific line size.") parser.add_option("-f", "--filter", type="str", default="all()", dest="filter", help="Filter for events to display in histogram.") parser.add_option("--help-filters", action="callback", callback=self.help_filters, help="Display help about the filter language.") (opts, args) = parser.parse_args() if opts.line_size <= 0 or \ opts.line_size & (opts.line_size - 1) != 0: print >> sys.stderr, "Invalid line size specified." sys.exit(1) if len(args) == 0: print >> sys.stderr, "No input file specified." sys.exit(1) self.filter = sample_filter.from_str(opts.filter) self.ifile_name = args[0] self.line_size = opts.line_size
def __init__(self): parser = OptionParser("usage: %prog [OPTIONS...] INFILE") parser.add_option("-m", "--marker", type="int", action="append", default=[], dest="marker", help="Add marker.") parser.add_option("-l", "--line-size", type="int", default="64", dest="line_size", help="Use a specific line size.") parser.add_option("-f", "--filter", type="str", default="all()", dest="filter", help="Filter for events to display in histogram.") parser.add_option("--help-filters", action="callback", callback=self.help_filters, help="Display help about the filter language.") (opts, args) = parser.parse_args() if opts.line_size <= 0 or \ opts.line_size & (opts.line_size - 1) != 0: print >> sys.stderr, "Invalid line size specified." sys.exit(1) if len(args) == 0: print >> sys.stderr, "No input file specified." sys.exit(1) self.filter = sample_filter.from_str(opts.filter) self.ifile_name = args[0] self.markers = opts.marker self.line_size = opts.line_size
def __init__(self): parser = OptionParser("usage: %prog [OPTIONS...] INFILE") parser.add_option("-l", "--line-size", type="int", default="64", dest="line_size", help="Use a specific line size.") parser.add_option("-t", "--type", type="str", default="pfonly", dest="analysis_type", help="Analysis Type: 'pfonly', 'cons', 'aggr' ") parser.add_option("-m", "--mem", type="float", default="3.2", dest="cyc_per_mop", help="Cycles per memory operation for this benchmark. ") parser.add_option("-n", "--num-samples", type="int", default=None, dest="num_samples", help="Number of samples to be considered for analysis") parser.add_option("--mem-lat", type="float", default="170", dest="memory_latency", help="Average Memory latency ") parser.add_option("--l1-lat", type="float", default="2", dest="l1_latency", help="Average L1 cache latency ") parser.add_option("--l2-lat", type="float", default="20", dest="l2_latency", help="Average L2 cache latency ") parser.add_option("--l3-lat", type="float", default="45", dest="l3_latency", help="Average L3 cache latency ") parser.add_option("--l1-size", type="int", default="64", dest="l1_size", help="L1 size in kilobytes (KB) ") parser.add_option("--l2-size", type="int", default="512", dest="l2_size", help="L2 size in kilobytes (KB) ") parser.add_option("--l3-size", type="int", default="8192", dest="l3_size", help="L3 size in kilobytes (KB) ") parser.add_option("--nta-l3-size", type="int", default="8192", dest="nta_l3_size", help="L3 size in kilobytes (KB) when NTA should be enabled") parser.add_option("--detailed-modeling", type="int", default="0", dest="detailed_modeling", help="Use detailed modeling") parser.add_option("--report-delinq-loads-only", type="int", default="0", dest="report_delinq_loads_only", help="Use detailed modeling") parser.add_option("--all-delinq-loads", type="int", default="0", dest="all_delinq_loads", help="print all delinquent loads ") parser.add_option("-p", "--path", type="str", default=os.curdir, dest="path", help="Specify path for burst sample files") parser.add_option("-e", type="str", default=None, dest="exec_file", help="Specify the executable to inspect") parser.add_option("-f", "--filter", type="str", default="all()", dest="filter", help="Filter for events to display in histogram.") parser.add_option("-o", type="str", default="out.pref", dest="outfile_pref", help="Output file for prefetching decisions") parser.add_option("--per-instr-mr-out", type="str", default="out.perinsmr", dest="outfile_perinsmr", help="Output file for prefetching decisions") parser.add_option("--per-instr-nta-bw-out", type="str", default="out.perinsntabw", dest="outfile_perinsntabw", help="Output file for prefetching decisions") parser.add_option("--per-instr-nta-analysis", type="int", default="0", dest="per_instr_nta_analysis", help="Generate per-instruction nta analysis") parser.add_option("--nta-policy", type="int", default="0", dest="nta_policy", help="NTA policy") parser.add_option("--convert-to-IR-info-map", type="int", default="1", dest="convert_to_ir_info_map", help="Create info comparable to IR in addition to instruction addresses") parser.add_option("--no-nta-on-data-reuse", type="int", default="1", dest="no_nta_on_reuse", help="Deter NTA on data reuse from specified --nta-l3-size") parser.add_option("--help-nta-policy", action="callback", callback=self.help_nta_policies, help="Display types of NTA policies available") #parser.add_option("--help-filters", # action="callback", callback=self.help_filters, # help="Display help about the filter language.") (opts, args) = parser.parse_args() if opts.line_size <= 0 or \ opts.line_size & (opts.line_size - 1) != 0: print >> sys.stderr, "Invalid line size specified." sys.exit(1) # if len(args) == 0: # print >> sys.stderr, "No input file specified." # sys.exit(1) self.filter = sample_filter.from_str(opts.filter) # self.ifile_name = args[0] self.line_size = opts.line_size self.path = opts.path self.analysis_type = opts.analysis_type self.cyc_per_mop = opts.cyc_per_mop self.l3_latency = opts.l3_latency self.l2_latency = opts.l2_latency self.l1_latency = opts.l1_latency self.memory_latency = opts.memory_latency self.l3_size = opts.l3_size self.l2_size = opts.l2_size self.l1_size = opts.l1_size self.all_delinq_loads = opts.all_delinq_loads self.num_samples = opts.num_samples self.detailed_modeling = opts.detailed_modeling self.prefetch_decisions = {} self.exec_file = opts.exec_file self.report_delinq_loads_only = opts.report_delinq_loads_only self.per_instr_nta_analysis = opts.per_instr_nta_analysis self.outfile_pref = opts.outfile_pref self.outfile_perinsmr = opts.outfile_perinsmr self.per_instr_nta_analysis = opts.per_instr_nta_analysis self.nta_l3_size = opts.nta_l3_size self.no_nta_on_reuse = opts.no_nta_on_reuse self.nta_policy = opts.nta_policy self.outfile_perinsntabw = opts.outfile_perinsntabw self.convert_to_ir_info_map = opts.convert_to_ir_info_map
def __init__(self): parser = OptionParser("usage: %prog [OPTIONS...] INFILE") parser.add_option("-l", "--line-size", type="int", default="64", dest="line_size", help="Use a specific line size.") parser.add_option("-t", "--type", type="str", default="pfonly", dest="analysis_type", help="Analysis Type: 'pfonly', 'cons', 'aggr' ") parser.add_option("-m", "--mem", type="float", default="3.2", dest="cyc_per_mop", help="Cycles per memory operation for this benchmark. ") parser.add_option("-n", "--num-samples", type="int", default=None, dest="num_samples", help="Number of samples to be considered for analysis") parser.add_option("--mem-lat", type="float", default="170", dest="memory_latency", help="Average Memory latency ") parser.add_option("--l1-lat", type="float", default="2", dest="l1_latency", help="Average L1 cache latency ") parser.add_option("--l2-lat", type="float", default="20", dest="l2_latency", help="Average L2 cache latency ") parser.add_option("--l3-lat", type="float", default="45", dest="l3_latency", help="Average L3 cache latency ") parser.add_option("--l1-size", type="int", default="64", dest="l1_size", help="L1 size in kilobytes (KB) ") parser.add_option("--l2-size", type="int", default="512", dest="l2_size", help="L2 size in kilobytes (KB) ") parser.add_option("--l3-size", type="int", default="6144", dest="l3_size", help="L3 size in kilobytes (KB) ") parser.add_option("--detailed-modeling", type="int", default="0", dest="detailed_modeling", help="Use detailed modeling") parser.add_option("--report-delinq-loads-only", type="int", default="0", dest="report_delinq_loads_only", help="Use detailed modeling") parser.add_option("--all-delinq-loads", type="int", default="0", dest="all_delinq_loads", help="print all delinquent loads ") parser.add_option("-p", "--path", type="str", default=os.curdir, dest="path", help="Specify path for burst sample files") parser.add_option("-e", type="str", default=None, dest="exec_file", help="Specify the executable to inspect") parser.add_option("-f", "--filter", type="str", default="all()", dest="filter", help="Filter for events to display in histogram.") parser.add_option("--stride-only-analysis", type="int", default="0", dest="stride_only", help="only use stride information to generate prefetches") parser.add_option("--help-filters", action="callback", callback=self.help_filters, help="Display help about the filter language.") (opts, args) = parser.parse_args() if opts.line_size <= 0 or \ opts.line_size & (opts.line_size - 1) != 0: print >> sys.stderr, "Invalid line size specified." sys.exit(1) # if len(args) == 0: # print >> sys.stderr, "No input file specified." # sys.exit(1) self.filter = sample_filter.from_str(opts.filter) # self.ifile_name = args[0] self.line_size = opts.line_size self.path = opts.path self.analysis_type = opts.analysis_type self.cyc_per_mop = opts.cyc_per_mop self.l3_latency = opts.l3_latency self.l2_latency = opts.l2_latency self.l1_latency = opts.l1_latency self.memory_latency = opts.memory_latency self.l3_size = opts.l3_size self.l2_size = opts.l2_size self.l1_size = opts.l1_size self.all_delinq_loads = opts.all_delinq_loads self.stride_only = opts.stride_only self.num_samples = opts.num_samples self.detailed_modeling = opts.detailed_modeling self.prefetch_decisions = {} self.exec_file = opts.exec_file self.report_delinq_loads_only = opts.report_delinq_loads_only