Пример #1
0
def generate_matrix(experiments, mem, baseline, replace, directory, fast):
    assert(mem == 'best')
    db = database.get_instance()
    for mem_model in experiments:
        mod = model.parse_model_file(mem_model)
        model_ml = get_best(db, mod)
        for experiment in experiments:
            mod = model.parse_model_file(experiment)
            time = db.get_result(mod, model_ml)
            if not time:
                time, cost = evaluate(mod, model_ml, directory, fast)
                db.add_result(mod, model_ml, time, cost)
            print(get_experiment_name(experiment) + ',' +
                  get_experiment_name(mem_model) + ',' + str(time))
Пример #2
0
def simulate(experiment, mem, baseline, replace, directory, fast):
    mod = model.parse_model_file(experiment)
    db = database.get_instance()
    ml = get_memory_list(db, mem, mod, baseline, replace)
    time = db.get_result(mod, ml)
    if time is None:
        time, cost = evaluate(mod, ml, directory, fast)
        db.add_result(mod, ml, time, cost)
    print(get_experiment_name(experiment) + ',' + str(time))
Пример #3
0
def get_stats(experiments, mem, baseline, replace, directory):
    db = database.get_instance()
    for experiment in experiments:
        mod = model.parse_model_file(experiment)
        ml = get_memory_list(db, mem, mod, baseline, replace)
        ml.reset(mod.machine)
        pl = ml.get_max_path_length()
        name = get_experiment_name(experiment)
        cost = ml.get_cost()
        print('{},{},{}'.format(name, pl, cost))
Пример #4
0
def get_frequency(experiment, mem, baseline, keep):
    m = model.parse_model_file(experiment)
    db = database.get_instance()
    if mem == 'model':
        subsystem = m.memory
    elif mem == 'baseline':
        with open(baseline, 'r') as f:
            subsystem = memory.parse_memory_list(lex.Lexer(f))
    elif mem == 'best':
        best_name, _, _ = db.get_best(m)
        best_file = StringIO.StringIO(best_name)
        subsystem = memory.parse_memory_list(lex.Lexer(best_file))
    else:
        print('ERROR: invalid memory selected:', mem)
        sys.exit(-1)
    m.machine.frequency = 1 << 31
    result = xilinx.run_xilinx(m.machine, subsystem, keep)
    print(get_experiment_name(experiment) + ',' +
          str(result.frequency) + ',' +
          str(result.bram_count))
Пример #5
0
 def test_get_experiment_name(self):
     full_name, expected = 'experiments/exp-a-b', 'exp'
     self.assertEqual(util.get_experiment_name(full_name), expected)