Esempio n. 1
0
 def search_done(self):
     sinfo = static_info.StaticInfo()
     sinfo.load(self.controller.knobs['sinfo_out'])
     prog = program.Program(sinfo)
     prog.load(self.controller.knobs['program_out'])
     search_info = search.SearchInfo(sinfo, program)
     search_info.load(self.controller.knobs['search_out'])
     return search_info.done()
Esempio n. 2
0
def __display_test_history(output, options):
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(options.iroot_in)
    test_history = idiom_history.TestHistory(sinfo, iroot_db)
    test_history.load(options.test_history)
    test_history.display(output)
Esempio n. 3
0
def __display_memo_summary(output, options):
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(options.iroot_in)
    memo_db = memo.Memo(sinfo, iroot_db)
    memo_db.load(options.memo_in)
    memo_db.display_summary(output)
Esempio n. 4
0
 def threshold_check(self):
     if testing.DeathTestCase.threshold_check(self):
         return True
     if self.mode == 'stable':
         sinfo = static_info.StaticInfo()
         sinfo.load(self.profiler.knobs['sinfo_out'])
         iroot_db = iroot.iRootDB(sinfo)
         iroot_db.load(self.profiler.knobs['iroot_out'])
     return False
def verify(profiler, testcase):
    sinfo = static_info.StaticInfo()
    sinfo.load(profiler.knobs['sinfo_out'])
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(profiler.knobs['iroot_out'])
    if len(iroot_db.iroot_map) >= 40:
        logging.msg('iroot_db size mismatch\n')
        return False
    return True
Esempio n. 6
0
def verify(controller, testcase):
    sinfo = static_info.StaticInfo()
    sinfo.load(controller.knobs['sinfo_out'])
    prog = program.Program(sinfo)
    prog.load(controller.knobs['program_out'])
    search_info = search.SearchInfo(sinfo, prog)
    search_info.load(controller.knobs['search_out'])
    if search_info.num_runs() != 6:
        return False
    return True
Esempio n. 7
0
def verify(profiler, testcase):
    sinfo = static_info.StaticInfo()
    sinfo.load(profiler.knobs['sinfo_out'])
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(profiler.knobs['iroot_out'])
    for r in iroot_db.iroot_map.itervalues():
        if r.idiom() == 4:
            logging.msg('idiom4 iroot should not be predicted\n')
            return False
    return True
Esempio n. 8
0
def __modify_memo_mark_unexposed_failed(options):
    if not os.path.exists(options.memo_in):
        return
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(options.iroot_in)
    memo_db = memo.Memo(sinfo, iroot_db)
    memo_db.load(options.memo_in)
    memo_db.mark_unexposed_failed()
    memo_db.save(options.memo_out)
    logging.msg('memo mark unexposed failed done!\n')
Esempio n. 9
0
def verify(controller, testcase):
    sinfo = static_info.StaticInfo()
    sinfo.load(controller.knobs['sinfo_out'])
    prog = program.Program(sinfo)
    prog.load(controller.knobs['program_out'])
    search_info = search.SearchInfo(sinfo, prog)
    search_info.load(controller.knobs['search_out'])
    if search_info.num_nodes() != 15:
        return False
    if search_info.find_node(10).num_enabled() != 2:
        return False
    return True
Esempio n. 10
0
def __modify_memo_refine_candidate(options):
    if not os.path.exists(options.memo_in):
        return
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(options.iroot_in)
    memo_db = memo.Memo(sinfo, iroot_db)
    memo_db.load(options.memo_in)
    memo_db.refine_candidate()
    memo_db.save(options.memo_out)
    logging.msg('memo refine candidate done!\n')
Esempio n. 11
0
def __modify_memo_input_change(options):
    if not os.path.exists(options.memo_in):
        return
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(options.iroot_in)
    memo_db = memo.Memo(sinfo, iroot_db)
    memo_db.load(options.memo_in)
    memo_db.clear_predicted_set()
    memo_db.clear_candidate_map()
    memo_db.save(options.memo_out)
    logging.msg('memo input change done!\n')
Esempio n. 12
0
def verify(profiler, testcase):
    sinfo = static_info.StaticInfo()
    sinfo.load(profiler.knobs['sinfo_out'])
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(profiler.knobs['iroot_out'])
    if len(iroot_db.iroot_map) != 2:
        logging.msg('iroot_db size mismatch\n')
        return False
    for r in iroot_db.iroot_map.itervalues():
        if not iroot_is_expected(r):
            logging.msg('iroot mismatch\n')
            return False
    return True
Esempio n. 13
0
def verify(controller, testcase):
    sinfo = static_info.StaticInfo()
    sinfo.load(controller.knobs['sinfo_out'])
    prog = program.Program(sinfo)
    prog.load(controller.knobs['program_out'])
    search_info = search.SearchInfo(sinfo, prog)
    search_info.load(controller.knobs['search_out'])
    if search_info.num_runs() != 19:
        return False
    por_files = os.listdir(controller.knobs['por_info_path'])
    if len(por_files) != 2:
        return False
    return True
Esempio n. 14
0
def verify(profiler, testcase):
    sinfo = static_info.StaticInfo()
    sinfo.load(profiler.knobs['sinfo_out'])
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(profiler.knobs['iroot_out'])
    num_idiom4_iroots = 0
    for r in iroot_db.iroot_map.itervalues():
        if r.idiom() == 4:
            num_idiom4_iroots += 1
    if num_idiom4_iroots != 7:
        logging.msg('num idiom4 iroots mismatch\n')
        return False
    for r in iroot_db.iroot_map.itervalues():
        if not iroot_is_expected(r):
            logging.msg('iroot mismatch\n')
            return False
    return True
Esempio n. 15
0
 def threshold_check(self):
     if testing.DeathTestCase.threshold_check(self):
         return True
     if self.mode == 'stable':
         sinfo = static_info.StaticInfo()
         sinfo.load(self.profiler.knobs['sinfo_out'])
         race_db = race.RaceDB(sinfo)
         race_db.load(self.profiler.knobs['race_out'])
         if (race_db.num_static_races() != self.num_static_races
                 or race_db.num_racy_insts() != self.num_racy_insts):
             self.stable_cnt = 0
         else:
             self.stable_cnt += 1
             if self.stable_cnt >= int(self.threshold):
                 return True
         self.num_static_races = race_db.num_static_races()
         self.num_racy_insts = race_db.num_racy_insts()
     return False
Esempio n. 16
0
def __display_racy_inst(output, options):
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    race_db = race.RaceDB(sinfo)
    race_db.load(options.race_in)
    race_db.display_racy_inst(output)
Esempio n. 17
0
def __display_log(output, options):
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    trace = trace_log.TraceLog(sinfo)
    trace.display(output, options.trace_log_path)
Esempio n. 18
0
def __display_sinst_db(output, options):
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    sinst_db = sinst.SinstDB(sinfo)
    sinst_db.load(options.sinst_in)
    sinst_db.display(output)
Esempio n. 19
0
def __display_inst_table(output, options):
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    sinfo.display_inst_table(output)
Esempio n. 20
0
def __display_iroot_db(output, options):
    sinfo = static_info.StaticInfo()
    sinfo.load(options.sinfo_in)
    iroot_db = iroot.iRootDB(sinfo)
    iroot_db.load(options.iroot_in)
    iroot_db.display(output)