37 lines
		
	
	
		
			798 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			798 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <stdio.h>
 | |
| #include <hwloc.h>
 | |
| #include <assert.h>
 | |
| 
 | |
| int main(int argc, char *argv[])
 | |
| {
 | |
| 	size_t i, coreCount;
 | |
| 	hwloc_topology_t topology;
 | |
| 	hwloc_obj_t obj;
 | |
| 
 | |
| 	if(hwloc_topology_init(&topology))
 | |
| 	{
 | |
| 		fprintf(stderr, "hwloc_topology_init failed\n");
 | |
| 		exit(EXIT_FAILURE);
 | |
| 	}
 | |
| 
 | |
| 	if(hwloc_topology_load(topology))
 | |
| 	{
 | |
| 		fprintf(stderr, "hwloc_topology_load failed\n");
 | |
| 		exit(EXIT_FAILURE);
 | |
| 	}
 | |
| 
 | |
| 	coreCount = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_CORE);
 | |
| 	printf("coreCount = %zu\n", coreCount);
 | |
| 
 | |
| 	for(i = 0; i < coreCount; i++)
 | |
| 	{
 | |
| 		obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, i);
 | |
| 		assert(obj != NULL);
 | |
| 		assert(obj->parent != NULL);
 | |
| 		printf("obj->parent->type = %d, i = %zu\n", obj->parent->type, i);
 | |
| 		assert(obj->parent->type == HWLOC_OBJ_CORE);
 | |
| 	}
 | |
| 
 | |
| 	printf("hwloc test OK\n");
 | |
| }
 |