| 
					
				 | 
			
			
				@@ -604,6 +604,7 @@ void _starpu_perfmodel_realloc(struct starpu_perfmodel *model, int nb) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void starpu_perfmodel_init(FILE *f, struct starpu_perfmodel *model) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	int already_init; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	STARPU_ASSERT(model); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -627,26 +628,22 @@ void starpu_perfmodel_init(FILE *f, struct starpu_perfmodel *model) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	model->state = malloc(sizeof(struct _starpu_perfmodel_state)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	STARPU_PTHREAD_RWLOCK_INIT(&model->state->model_rwlock, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if(model->type != STARPU_COMMON) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		model->state->per_arch = (struct starpu_perfmodel_per_arch**) malloc(nb_arch_combs*sizeof(struct starpu_perfmodel_per_arch*)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		model->state->per_arch_is_set = (int**) malloc(nb_arch_combs*sizeof(int*)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		model->state->nimpls = (int *)malloc(nb_arch_combs*sizeof(int)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		model->state->combs = (int*)malloc(nb_arch_combs*sizeof(int)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		model->state->ncombs = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		model->state->ncombs_set = nb_arch_combs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	model->state->per_arch = (struct starpu_perfmodel_per_arch**) malloc(nb_arch_combs*sizeof(struct starpu_perfmodel_per_arch*)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	model->state->per_arch_is_set = (int**) malloc(nb_arch_combs*sizeof(int*)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	model->state->nimpls = (int *)malloc(nb_arch_combs*sizeof(int)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	model->state->combs = (int*)malloc(nb_arch_combs*sizeof(int)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	model->state->ncombs = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	model->state->ncombs_set = nb_arch_combs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for(i = 0; i < nb_arch_combs; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			model->state->per_arch[i] = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			model->state->per_arch_is_set[i] = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			model->state->nimpls[i] = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(f) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			parse_model_file(f, model, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	for(i = 0; i < nb_arch_combs; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		model->state->per_arch[i] = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		model->state->per_arch_is_set[i] = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		model->state->nimpls[i] = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if(f) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		parse_model_file(f, model, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	model->state->is_init = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	STARPU_PTHREAD_RWLOCK_UNLOCK(®istered_models_rwlock); 
			 |