6 #ifndef task_parallelization_header_included
7 #define task_parallelization_header_included
11 #ifndef _newgen_graph_included
38 #define MPI_COMM_WORLD_STRING "MPI_COMM_WORLD"
40 #define MPI_GENERATION_NBR_CLUSTER "MPI_NBR_CLUSTER"
41 #define MPI_GENERATION_PREFIX "MPI_DUPLICATE_VARIABLE_PREFIX"
43 #define MPI_GENERATION_PRIVATE_VARIABLES_LIST "MPI_PRIVATE_VARIABLES_LIST"
44 #define MPI_GENERATION_PRIVATE_PARAMETER "MPI_PRIVATE_PARAMETER"
46 #define COMMENT_VARIABLE_REPLICATION " Generated by Pass VARIABLE_REPLICATION\n"
47 #define COMMENT_COPY_VARIABLE " Generated by Pass COPY_VARIABLE\n"
48 #define COMMENT_MPI_CONVERSION " Generated by Pass MPI_CONVERSION\n"
static double task_time(statement s)
struct _newgen_struct_data_ * data
The structure used to build lists in NewGen.
_Bool spire_distributed_unstructured_to_structured(char *)
void cluster_stage_spire_generation(persistant_statement_to_cluster, graph, statement, int)
he main function
_Bool costly_task(statement)
cost_model.c
bool copy_value_of_write(const char *)
copy_value_of_write.c
_Bool hbdsc_parallelization(char *)
he main function for performing the hierarchical scheduling (scheduled SDG) using BDSC and generating...
void parse_instrumented_file(char *, graph, gen_array_t)
void store_parallel_task_mapping(statement, task)
void priorities(gen_array_t)
void bottom_level(graph, gen_array_t)
Second parameter is the bottom level (latest start time) for each node.
void communications_construction(graph, statement, persistant_statement_to_cluster, int)
bool mpi_conversion(const char *)
mpi_conversion.c
_Bool spire_shared_unstructured_to_structured(char *)
bool variable_replication(const char *)
variable_replication.c
double t_level(vertex, graph, gen_array_t)
First parameter is the top level (earliest start time) for each node.
task load_parallel_task_mapping(statement)
graph partitioning_sdg(statement)
void error_reset_parallel_task_mapping(void)
bool bound_parallel_task_mapping_p(statement)
int hierarchical_schedule(statement, int, int, int, _Bool)
vertex statement_to_vertex(statement, graph)
_Bool mpi_task_generation(char *)
mpi_generation.c
void print_SDGs(statement, graph, FILE *, gen_array_t)
dg_vertex_label vertex_label
void top_level(graph, gen_array_t)
list topological_sort(statement)
list com_declarations_to_add
spire_generation.c
persistant_statement_to_cluster stmt_to_cluster
double polynomial_to_numerical(Ppolynome)
statement region_to_com_nest(effect, _Bool, int)
void allocate_task_to_cluster(statement, int, int)
BDSC.c.
string task_to_string(task, bool)
void store_or_update_parallel_task_mapping(statement, task)
_Bool bdsc_code_instrumentation(char *)
instrumentation.c
int NBCLUSTERS
cproto-generated files
dg_arc_label arc_label
Warning! Do not modify this file that is automatically generated!
void initialization(graph, gen_array_t)
statement make_com_loopbody(entity, _Bool, list, int)
communication_generation.c
void print_task(task)
Pass: TASK_MAPPING Debug mode: MPI_GENERATION_DEBUG_LEVEL Resource generated:
void close_parallel_task_mapping(void)
void init_parallel_task_mapping(void)
_Bool sequence_dependence_graph(char *)
void set_parallel_task_mapping(statement_task)
int BDSC(sequence, int, int, int)
double size_of_regions(list)
bool parallel_task_mapping_undefined_p(void)
task_mapping.c
double edge_cost(statement, statement)
bool copy_value_of_write_with_cumulated_regions(const char *)
PIPS pass.
_Bool dsc_code_parallelization(char *)
he main function for performing the hierarchical scheduling (scheduled SDG) using DSC and generating ...
task delete_parallel_task_mapping(statement)
void reset_parallel_task_mapping(void)
_Bool openmp_task_generation(char *)
openmp_generation.c
bool task_mapping(const char *)
PIPS pass.
statement_task get_parallel_task_mapping(void)
bool eliminate_original_variables(const char *)
eliminate_original_variables.c
_Bool statement_equal_p(statement, statement)
gen_array_t annotations
Global variables.
void update_parallel_task_mapping(statement, task)