1
1
/*
2
- * Copyright © 2016 Inria. All rights reserved.
2
+ * Copyright © 2016-2017 Inria. All rights reserved.
3
3
*
4
4
* $COPYRIGHT$
5
5
*
@@ -41,17 +41,17 @@ void netloc_arch_tree_complete(netloc_arch_tree_t *tree, UT_array **down_degrees
41
41
int num_hosts , int * * parch_idx )
42
42
{
43
43
int num_levels = tree -> num_levels ;
44
- int * max_degrees = tree -> degrees ;
44
+ NETLOC_int * max_degrees = tree -> degrees ;
45
45
46
46
/* Complete the tree by inserting nodes */
47
47
for (int l = 0 ; l < num_levels - 1 ; l ++ ) { // from the root to the leaves
48
48
int num_degrees = utarray_len (down_degrees_by_level [l ]);
49
49
int * degrees = (int * )down_degrees_by_level [l ]-> d ;
50
- int max_degree = max_degrees [l ];
50
+ NETLOC_int max_degree = max_degrees [l ];
51
51
52
52
unsigned int down_level_idx = 0 ;
53
53
UT_array * down_level_degrees = down_degrees_by_level [l + 1 ];
54
- int down_level_max_degree = max_degrees [l + 1 ];
54
+ NETLOC_int down_level_max_degree = max_degrees [l + 1 ];
55
55
for (int d = 0 ; d < num_degrees ; d ++ ) {
56
56
int degree = degrees [d ];
57
57
if (degree > 0 ) {
@@ -72,7 +72,7 @@ void netloc_arch_tree_complete(netloc_arch_tree_t *tree, UT_array **down_degrees
72
72
/* Indices for the list of hosts, in the complete architecture */
73
73
int num_degrees = utarray_len (down_degrees_by_level [num_levels - 1 ]);
74
74
int * degrees = (int * )down_degrees_by_level [num_levels - 1 ]-> d ;
75
- int max_degree = max_degrees [num_levels - 1 ];
75
+ NETLOC_int max_degree = max_degrees [num_levels - 1 ];
76
76
int ghost_idx = 0 ;
77
77
int idx = 0 ;
78
78
netloc_arch_node_t * named_nodes = NULL ;
@@ -95,9 +95,9 @@ void netloc_arch_tree_complete(netloc_arch_tree_t *tree, UT_array **down_degrees
95
95
* parch_idx = arch_idx ;
96
96
}
97
97
98
- int netloc_arch_tree_num_leaves (netloc_arch_tree_t * tree )
98
+ NETLOC_int netloc_arch_tree_num_leaves (netloc_arch_tree_t * tree )
99
99
{
100
- int num_leaves = 1 ;
100
+ NETLOC_int num_leaves = 1 ;
101
101
for (int l = 0 ; l < tree -> num_levels ; l ++ ) {
102
102
num_leaves *= tree -> degrees [l ];
103
103
}
@@ -210,10 +210,10 @@ int netloc_arch_set_current_resources(netloc_arch_t *arch)
210
210
if (ret != NETLOC_SUCCESS || num_nodes <= 0 )
211
211
assert (0 ); // XXX
212
212
213
- int * current_nodes = NULL ;
213
+ NETLOC_int * current_nodes = NULL ;
214
214
215
215
if (!arch -> has_slots ) {
216
- current_nodes = (int * ) malloc (sizeof (int [num_nodes ]));
216
+ current_nodes = (NETLOC_int * ) malloc (sizeof (NETLOC_int [num_nodes ]));
217
217
}
218
218
219
219
netloc_arch_node_t * * arch_node_list = (netloc_arch_node_t * * )
@@ -267,9 +267,9 @@ int netloc_arch_set_current_resources(netloc_arch_t *arch)
267
267
}
268
268
}
269
269
270
- node -> current_slots = (int * )
271
- malloc (sizeof (int [num_slots ]));
272
- int num_leaves = netloc_arch_tree_num_leaves (node -> slot_tree );
270
+ node -> current_slots = (NETLOC_int * )
271
+ malloc (sizeof (NETLOC_int [num_slots ]));
272
+ NETLOC_int num_leaves = netloc_arch_tree_num_leaves (node -> slot_tree );
273
273
node -> slot_ranks = (int * )
274
274
malloc (sizeof (int [num_leaves ]));
275
275
@@ -286,7 +286,7 @@ int netloc_arch_set_current_resources(netloc_arch_t *arch)
286
286
arch -> arch .global_tree = arch -> arch .node_tree ;
287
287
288
288
/* Build nodes_by_idx */
289
- int tree_size = netloc_arch_tree_num_leaves (arch -> arch .node_tree );
289
+ NETLOC_int tree_size = netloc_arch_tree_num_leaves (arch -> arch .node_tree );
290
290
netloc_arch_node_slot_t * nodes_by_idx = (netloc_arch_node_slot_t * )
291
291
malloc (sizeof (netloc_arch_node_slot_t [tree_size ]));
292
292
for (int n = 0 ; n < num_nodes ; n ++ ) {
@@ -299,7 +299,8 @@ int netloc_arch_set_current_resources(netloc_arch_t *arch)
299
299
300
300
} else {
301
301
int num_hosts = slot_idx [num_nodes ];
302
- int * current_hosts = (int * )malloc (sizeof (int [num_hosts ]));
302
+ NETLOC_int * current_hosts = (NETLOC_int * )
303
+ malloc (sizeof (NETLOC_int [num_hosts ]));
303
304
/* Add the slot trees to the node tree */
304
305
305
306
/* Check that each slot tree has the same size */
@@ -363,12 +364,12 @@ int netloc_arch_set_current_resources(netloc_arch_t *arch)
363
364
int netloc_arch_set_global_resources (netloc_arch_t * arch )
364
365
{
365
366
int ret ;
366
- int * current_nodes = NULL ;
367
+ NETLOC_int * current_nodes = NULL ;
367
368
int * slot_idx = NULL ;
368
369
369
370
int num_nodes = HASH_COUNT (arch -> nodes_by_name );
370
371
if (!arch -> has_slots ) {
371
- current_nodes = (int * ) malloc (sizeof (int [num_nodes ]));
372
+ current_nodes = (NETLOC_int * ) malloc (sizeof (NETLOC_int [num_nodes ]));
372
373
}
373
374
374
375
ret = netloc_topology_read_hwloc (arch -> topology , 0 , NULL );
@@ -431,7 +432,8 @@ int netloc_arch_set_global_resources(netloc_arch_t *arch)
431
432
432
433
} else {
433
434
int num_hosts = slot_idx [num_nodes ];
434
- int * current_hosts = (int * )malloc (sizeof (int [num_hosts ]));
435
+ NETLOC_int * current_hosts = (NETLOC_int * )
436
+ malloc (sizeof (NETLOC_int [num_hosts ]));
435
437
netloc_arch_node_t * node , * node_tmp ;
436
438
/* Add the slot trees to the node tree */
437
439
@@ -492,18 +494,20 @@ netloc_arch_tree_t *tree_merge(netloc_arch_tree_t *main, netloc_arch_tree_t *sub
492
494
493
495
int num_levels = main -> num_levels + sub -> num_levels ;
494
496
new_tree -> num_levels = num_levels ;
495
- new_tree -> degrees = (int * )malloc (sizeof (int [num_levels ]));
496
- new_tree -> cost = (int * )malloc (sizeof (int [num_levels ]));
497
+ new_tree -> degrees = (NETLOC_int * )malloc (sizeof (NETLOC_int [num_levels ]));
498
+ new_tree -> cost = (NETLOC_int * )malloc (sizeof (NETLOC_int [num_levels ]));
497
499
498
- memcpy (new_tree -> degrees , main -> degrees , main -> num_levels * sizeof (int ));
500
+ memcpy (new_tree -> degrees , main -> degrees ,
501
+ main -> num_levels * sizeof (* new_tree -> degrees ));
499
502
memcpy (new_tree -> degrees + main -> num_levels , sub -> degrees ,
500
- sub -> num_levels * sizeof (int ));
503
+ sub -> num_levels * sizeof (* new_tree -> degrees ));
501
504
502
505
int out_coeff = 10 ;
503
506
for (int l = 0 ; l < main -> num_levels ; l ++ ) {
504
507
new_tree -> cost [l ] = main -> cost [l ]* sub -> cost [0 ]* out_coeff ;
505
508
}
506
- memcpy (new_tree -> cost + main -> num_levels , sub -> cost , sub -> num_levels * sizeof (int ));
509
+ memcpy (new_tree -> cost + main -> num_levels , sub -> cost ,
510
+ sub -> num_levels * sizeof (* new_tree -> cost ));
507
511
508
512
return new_tree ;
509
513
}
@@ -607,15 +611,16 @@ int partition_topology_to_tleaf(netloc_topology_t *topology,
607
611
* structure */
608
612
UT_array * ordered_name_array = NULL ;
609
613
UT_array * * down_degrees_by_level = NULL ;
610
- int * max_down_degrees_by_level ;
614
+ NETLOC_int * max_down_degrees_by_level ;
611
615
612
616
utarray_new (ordered_name_array , & ut_ptr_icd );
613
617
614
618
down_degrees_by_level = (UT_array * * )malloc (num_levels * sizeof (UT_array * ));
615
619
for (int l = 0 ; l < num_levels ; l ++ ) {
616
620
utarray_new (down_degrees_by_level [l ], & ut_int_icd );
617
621
}
618
- max_down_degrees_by_level = (int * )calloc (num_levels - 1 , sizeof (int ));
622
+ max_down_degrees_by_level = (NETLOC_int * )
623
+ calloc (num_levels - 1 , sizeof (NETLOC_int ));
619
624
620
625
UT_array * down_edges = NULL ;
621
626
utarray_new (down_edges , & ut_ptr_icd );
@@ -662,7 +667,7 @@ int partition_topology_to_tleaf(netloc_topology_t *topology,
662
667
continue ;
663
668
netloc_analysis_data * edge_data = (netloc_analysis_data * )edge -> userdata ;
664
669
int edge_level = edge_data -> level ;
665
-
670
+
666
671
netloc_node_t * dest_node = edge -> dest ;
667
672
668
673
/* If the is the node where we are from */
@@ -695,7 +700,7 @@ int partition_topology_to_tleaf(netloc_topology_t *topology,
695
700
tree -> degrees = max_down_degrees_by_level ;
696
701
697
702
int network_coeff = 2 ;
698
- tree -> cost = (int * )malloc (sizeof (int [tree -> num_levels ]));
703
+ tree -> cost = (NETLOC_int * )malloc (sizeof (NETLOC_int [tree -> num_levels ]));
699
704
tree -> cost [tree -> num_levels - 1 ] = 1 ;
700
705
for (int i = tree -> num_levels - 2 ; i >= 0 ; i -- ) {
701
706
tree -> cost [i ] = tree -> cost [i + 1 ]* network_coeff ;
@@ -790,9 +795,7 @@ int netloc_arch_build(netloc_arch_t *arch, int add_slots)
790
795
}
791
796
topopath = strdup (topopath );
792
797
793
- netloc_topology_t * topology = NULL ;
794
-
795
- topology = netloc_topology_construct (topopath );
798
+ netloc_topology_t * topology = netloc_topology_construct (topopath );
796
799
if (topology == NULL ) {
797
800
fprintf (stderr , "Error: netloc_topology_construct failed\n" );
798
801
return NETLOC_ERROR ;
0 commit comments