コード例 #1
0
ファイル: schedule.py プロジェクト: eedalong/pynuma
def get_affinitive_nodes() -> List[int]:
    result_mask_pointer = LIBNUMA.numa_get_run_node_mask()
    try:
        result_mask_pointer.contents
    except ValueError:
        raise Exception(f"get run nodes info failed")
    return numa_utils.get_bitset_list(result_mask_pointer)
コード例 #2
0
ファイル: memory.py プロジェクト: eedalong/pynuma
def get_allocation_allowed_nodes() -> List[int]:
    result_nodes_pointer = LIBNUMA.numa_get_mems_allowed()
    try:
        result_nodes_pointer.contents
    except ValueError:
        raise Exception(f"get allocation allowed nodes info failed")
    return numa_utils.get_bitset_list(result_nodes_pointer)
コード例 #3
0
ファイル: memory.py プロジェクト: eedalong/pynuma
def get_interleave_nodes() -> List[int]:
    result_nodes_pointer = LIBNUMA.numa_get_interleave_mask()
    try:
        result_nodes_pointer.contents
    except ValueError:
        raise Exception(f"get interleave nodes info failed")
    return numa_utils.get_bitset_list(result_nodes_pointer)
コード例 #4
0
ファイル: info.py プロジェクト: eedalong/pynuma
def node_to_cpus(node: int) -> List[int]:
    cpu_mask = LIBNUMA.numa_allocate_cpumask()
    LIBNUMA.numa_bitmask_clearall(cpu_mask)
    res = LIBNUMA.numa_node_to_cpus(node, cpu_mask)
    if res == 0:
        return numa_utils.get_bitset_list(cpu_mask)
    else:
        return []
コード例 #5
0
ファイル: schedule.py プロジェクト: eedalong/pynuma
def get_affinitive_cpus(pid: int) -> List[int]:
    cpu_mask = LIBNUMA.numa_allocate_cpumask()
    LIBNUMA.numa_bitmask_clearall(cpu_mask)
    LIBNUMA.numa_sched_getaffinity(pid, cpu_mask)
    return numa_utils.get_bitset_list(cpu_mask)