예제 #1
0
def apply_lp_dflp_bounds(all_tasks, resource_mapping):
    model = get_cpp_model(all_tasks)
    topo  = get_cpp_topology(resource_mapping)
    res = lp_cpp.lp_dflp_bounds(model, topo)
    for i, t in enumerate(all_tasks):
        t.suspended = res.get_remote_blocking(i)
        t.blocked   = res.get_blocking_term(i)
    return res
예제 #2
0
def apply_lp_dflp_bounds(all_tasks, resource_mapping, use_py=False):
    if use_py or not lp_cpp_available:
        apply_py_lp_bounds(dflp, all_tasks, resource_mapping)
    else:
        model = get_cpp_model(all_tasks)
        topo = get_cpp_topology(resource_mapping)
        res = lp_cpp.lp_dflp_bounds(model, topo)
        for i, t in enumerate(all_tasks):
            t.suspended = res.get_remote_blocking(i)
            t.blocked = res.get_blocking_term(i)
        return res
예제 #3
0
def apply_lp_dflp_bounds(all_tasks, resource_mapping,
                         use_py=False):
    if use_py or not lp_cpp_available:
        apply_py_lp_bounds(dflp, all_tasks, resource_mapping)
    else:
        model = get_cpp_model(all_tasks)
        topo  = get_cpp_topology(resource_mapping)
        res = lp_cpp.lp_dflp_bounds(model, topo)
        for i, t in enumerate(all_tasks):
            t.suspended = res.get_remote_blocking(i)
            t.blocked   = res.get_blocking_term(i)
        return res