def set_preferred(node):
    """
    Sets  the preferred node for the current thread to node.

    The preferred node is the node on which memory is preferably allocated before falling back to other
    nodes. The default is to use the node on which the process is currently running (local policy).

    @param node: node idx
    @type node: C{int}
    """
    if node < 0 or node > get_max_node():
        raise ValueError(node)

    libnuma.numa_set_preferred(node)