64void mu_and(cpu_set_t *result,
const cpu_set_t *mask1,
const cpu_set_t *mask2);
65void mu_or(cpu_set_t *result,
const cpu_set_t *mask1,
const cpu_set_t *mask2);
66void mu_xor (cpu_set_t *result,
const cpu_set_t *mask1,
const cpu_set_t *mask2);
67bool mu_equal(
const cpu_set_t *mask1,
const cpu_set_t *mask2);
68bool mu_is_subset(
const cpu_set_t *subset,
const cpu_set_t *superset);
69bool mu_is_superset(
const cpu_set_t *superset,
const cpu_set_t *subset);
72bool mu_intersects(
const cpu_set_t *mask1,
const cpu_set_t *mask2);
74void mu_subtract(cpu_set_t *result,
const cpu_set_t *minuend,
const cpu_set_t *subtrahend);
82const char*
mu_to_str(
const cpu_set_t *cpu_set);
94 unsigned int num_nodes);
96 const cpu_set_t *core_masks,
unsigned int num_cores,
97 const cpu_set_t *node_masks,
unsigned int num_nodes);
void mu_get_quoted_mask(const cpu_set_t *mask, char *str, size_t namelen)
Definition: mask_utils.c:1247
void mu_get_cores_subset_of_cpuset(cpu_set_t *core_set, const cpu_set_t *cpuset)
Definition: mask_utils.c:749
int mu_get_cpu_next_core(const cpu_set_t *mask, int prev_cpu)
Definition: mask_utils.c:761
int mu_get_single_cpu(const cpu_set_t *mask)
Definition: mask_utils.c:964
void mu_get_cores_intersecting_with_cpuset(cpu_set_t *core_set, const cpu_set_t *cpuset)
Definition: mask_utils.c:730
void mu_get_nodes_intersecting_with_cpuset(cpu_set_t *node_set, const cpu_set_t *cpuset)
Definition: mask_utils.c:694
void mu_subtract(cpu_set_t *result, const cpu_set_t *minuend, const cpu_set_t *subtrahend)
Definition: mask_utils.c:957
int mu_get_first_cpu(const cpu_set_t *mask)
Definition: mask_utils.c:975
int mu_take_last_coreid(cpu_set_t *mask)
Definition: mask_utils.c:856
int mu_get_system_num_nodes(void)
Definition: mask_utils.c:574
bool mu_testing_is_initialized(void)
Definition: mask_utils.c:1485
void mu_parse_mask(const char *str, cpu_set_t *mask)
Definition: mask_utils.c:1105
int mu_get_system_cores_per_node(void)
Definition: mask_utils.c:578
const mu_cpuset_t * mu_get_core_mask_by_coreid(int core_id)
Definition: mask_utils.c:680
void mu_testing_set_sys_masks(const cpu_set_t *sys_mask, const cpu_set_t *core_masks, unsigned int num_cores, const cpu_set_t *node_masks, unsigned int num_nodes)
Definition: mask_utils.c:1500
void mu_unset_core(cpu_set_t *mask, int coreid)
Definition: mask_utils.c:885
int mu_cmp_cpuids_by_affinity(const void *cpuid1, const void *cpuid2, void *affinity)
Definition: mask_utils.c:1397
void mu_and(cpu_set_t *result, const cpu_set_t *mask1, const cpu_set_t *mask2)
Definition: mask_utils.c:896
bool mu_is_superset(const cpu_set_t *superset, const cpu_set_t *subset)
Definition: mask_utils.c:921
bool mu_equal(const cpu_set_t *mask1, const cpu_set_t *mask2)
Definition: mask_utils.c:908
int mu_count_cores(const cpu_set_t *mask)
Definition: mask_utils.c:789
void mu_get_system_mask(cpu_set_t *mask)
Definition: mask_utils.c:561
void mu_set_core(cpu_set_t *mask, int coreid)
Definition: mask_utils.c:872
void mu_testing_set_sys(unsigned int num_cpus, unsigned int num_cores, unsigned int num_nodes)
Definition: mask_utils.c:1494
bool mu_system_has_smt(void)
Definition: mask_utils.c:640
void mu_get_nodes_subset_of_cpuset(cpu_set_t *node_set, const cpu_set_t *cpuset)
Definition: mask_utils.c:713
int mu_get_next_cpu(const cpu_set_t *mask, int prev)
Definition: mask_utils.c:1007
int mu_get_last_coreid(const cpu_set_t *mask)
Definition: mask_utils.c:835
void mu_zero(cpu_set_t *result)
Definition: mask_utils.c:892
void mu_finalize(void)
Definition: mask_utils.c:530
int mu_get_system_size(void)
Definition: mask_utils.c:556
int mu_get_num_cores(void)
Definition: mask_utils.c:645
int mu_count(const cpu_set_t *mask)
Definition: mask_utils.c:952
void mu_xor(cpu_set_t *result, const cpu_set_t *mask1, const cpu_set_t *mask2)
Definition: mask_utils.c:904
bool mu_is_proper_subset(const cpu_set_t *subset, const cpu_set_t *superset)
Definition: mask_utils.c:929
int mu_get_core_id(int cpuid)
Definition: mask_utils.c:659
bool mu_equivalent_masks(const char *str1, const char *str2)
Definition: mask_utils.c:1325
int mu_count_cores_intersecting_with_cpuset(const cpu_set_t *mask)
Definition: mask_utils.c:811
bool mu_is_proper_superset(const cpu_set_t *superset, const cpu_set_t *subset)
Definition: mask_utils.c:937
bool mu_intersects(const cpu_set_t *mask1, const cpu_set_t *mask2)
Definition: mask_utils.c:945
void mu_testing_init_nohwloc(void)
Definition: mask_utils.c:1507
char * mu_parse_to_slurm_format(const cpu_set_t *mask)
Definition: mask_utils.c:1303
const char * mu_to_str(const cpu_set_t *cpu_set)
Definition: mask_utils.c:1054
void mu_or(cpu_set_t *result, const cpu_set_t *mask1, const cpu_set_t *mask2)
Definition: mask_utils.c:900
int mu_get_system_hwthreads_per_core(void)
Definition: mask_utils.c:567
int mu_cmp_cpuids_by_ownership(const void *cpuid1, const void *cpuid2, void *mask)
Definition: mask_utils.c:1349
void mu_testing_set_sys_size(int size)
Definition: mask_utils.c:1489
int mu_get_last_cpu(const cpu_set_t *mask)
Definition: mask_utils.c:988
void mu_get_system_description(print_buffer_t *buffer)
Definition: mask_utils.c:582
bool mu_is_subset(const cpu_set_t *subset, const cpu_set_t *superset)
Definition: mask_utils.c:913
void mu_init(void)
Definition: mask_utils.c:507
const mu_cpuset_t * mu_get_core_mask(int cpuid)
Definition: mask_utils.c:673
int mu_get_next_unset(const cpu_set_t *mask, int prev)
Definition: mask_utils.c:1029
Definition: mask_utils.h:27
cpuid_t first_cpuid
Definition: mask_utils.h:31
size_t alloc_size
Definition: mask_utils.h:29
cpuid_t count
Definition: mask_utils.h:30
cpu_set_t * set
Definition: mask_utils.h:28
cpuid_t last_cpuid
Definition: mask_utils.h:32
uint8_t cpuid_t
Definition: types.h:32