6 #ifndef hpfc_header_included
7 #define hpfc_header_included
35 #define HPFC_PACKAGE "HPFC-PACKAGE"
180 extern bool hpfc_run(
const string );
520 extern void generate_io_statements_for_distributed_arrays(
entity ,
tag ,
Psysteme ,
Psysteme ,
Psysteme ,
list ,
list ,
list ,
list ,
statement *,
statement *);
struct _newgen_struct_entity_ * entity
entity get_ith_array_prime(int)
bool ith_dim_overlapable_p(entity, int)
entities load_dynamic_hpf(entity)
bool hpf_reductions_undefined_p(void)
hpfc.c
list delete_renamings(statement)
statement hpfc_compute_lid(entity, entity, entity(*)(void), entity)
void set_old_host(entitymap)
bool hpfc_special_io(entity)
statement hpfc_generate_message(entity, bool, bool)
void init_hpf_alignment(void)
void generate_io_statements_for_distributed_arrays(entity, tag, Psysteme, Psysteme, Psysteme, list, list, list, list, statement *, statement *)
void set_entity_status(entity_status)
bool bound_old_node_p(entity)
statement st_get_value_locally_and_send(reference, reference)
void NormalizeHpfDeclarations(void)
list make_list_of_dummy_variables(entity(*)(void), int)
void add_an_io_function(entity)
bool fortran_library_entity_p(entity)
entity_status get_entity_status(void)
list DistArraysEffects(expression)
effects' action in an expression are here supposed to be read one's but that may not be correct?
void hpfc_add_ahead_of_node_code(statement)
expression expr_compute_local_index(entity, int, expression)
new index computation formula, derived from the new declarations made for the given dimension.
bool renamings_undefined_p(void)
bool remapping_already_computed_p(renaming)
list of already computed remappings...
void set_only_io_map(statement_mapping)
void remove_variables_from_system(Psysteme *, list *)
void error_reset_new_host(void)
void remapping_compile(statement, statement *, statement *)
void remapping_compile(s, hsp, nsp) statement s, *hsp, *nsp;
void update_list_for_module(list, entity)
void reset_hpf_number_status(void)
void store_entity_update_common(entity, entity)
statement hpfc_message(expression, expression, bool)
void store_or_update_similar_mapping(entity, entity)
list list_of_distributed_arrays_for_module(entity)
returns the list of entities that are 'local' to module
entity load_entity_update_common(entity)
void print_distribution(distribution)
void set_dynamic_status(dynamic_status)
numbers_status get_hpf_number_status(void)
void close_data_status(void)
void compile_a_pure_function(entity)
simply copied for both host and node...
intptr_t delete_hpf_number(entity)
int template_cell_local_mapping(entity, int, int)
int template_cell_local_mapping(array, dim, tc)
statement hpfc_broadcast_if_necessary(entity, entity, entity, entity, bool)
lazy or not...
entity load_old_node(entity)
bool declaration_delayed_p(entity)
bool processors_dim_replicated_p(entity, entity, int)
void AddCommonToHostAndNodeModules(entity)
void hpfc_simplify_condition(Psysteme *, statement, tag)
void hpfc_simplify_condition(psc, stat, move)
bool bound_new_host_p(entity)
bool hpfc_filter(const string)
void print_processors(void)
void make_only_io_map(void)
statement generate_deducables(list)
statement generate_deducables(list le)
bool entity_hpfc_dummy_p(entity)
build-system.c
int max_size_of_processors(void)
void reset_entity_status(void)
bool replicated_p(entity)
replicated_p
entity hpfc_name_to_entity(const char *)
entities delete_dynamic_hpf(entity)
bool bound_hpf_reductions_p(statement)
void print_alignment(alignment)
entity get_ith_template_dummy(int)
entities delete_hpf_reductions(statement)
void init_overlap_status(void)
void update_common_references_in_obj(void *)
list add_elem_to_list_of_Pvecteur(list, int, int)
caution, is initial list is destroyed.
bool similar_mapping_undefined_p(void)
void generate_send_to_computer(reference, list *)
generate_send_to_computer
void normalize_distribute(entity, distribute)
bool update_common_map_undefined_p(void)
void update_common_references_in_regions(void)
void fprint_range(FILE *, range)
statement hpfc_add_n(entity, int)
returns statement VAR = VAR + N
bool hpf_distribution_undefined_p(void)
void store_or_update_primary_entity(entity, entity)
Psysteme hpfc_compute_unicity_constraints(entity)
Psysteme hpfc_compute_unicity_constraints(e) entity e should be an array;.
list FindRefToDistArray(void *)
statement parallel_loop_nest_to_body(statement, list *, list *)
bool bound_renamings_p(statement)
bool same_primary_entity_p(entity, entity)
void store_or_update_new_node(entity, entity)
void hpfc_close_dummy_to_prime(void)
bool bound_maybeuseful_mappings_p(statement)
bool hpfc_close(const string)
bool hpfc_close(string name)
void update_old_host(entity, entity)
void store_hpf_distribution(entity, distribute)
bool align_check(reference, reference, list *, list *)
computes the shift vector that links the two references, true if every thing is ok,...
bool conformant_templates_p(entity, entity)
void add_a_dynamic(entity)
local primary dynamics
void add_a_common(entity)
HPFC module by Fabien COELHO.
statement hpfc_lazy_packing(entity, entity, entity(*)(void), bool, bool)
void store_or_update_hpf_alignment(entity, align)
entity load_similar_mapping(entity)
void reset_overlap_status(void)
void get_alignment(entity, int, int *, int *, int *)
statement MakeStatementLike(statement, int)
creates a new statement for the given module that looks like the stat one, i.e.
list array_access_to_array_ranges(reference, list, list)
void close_hpf_number_status(void)
bool is_in_syntax_list(entity, list)
entity load_new_node(entity)
void generate_update_distributed_value_from_host(syntax, list *, list *)
generate_update_distributed_value_from_host
statement st_get_value_for_all(reference, reference)
entity MakeRunTimeSupportFunction(string, int, tag)
list array_lower_upper_bounds_list(entity)
of expressions
bool the_dynamics_undefined_p(void)
end of it
void reset_only_io_map(void)
void set_entity_as_dynamic(entity)
a new dynamic entity is stored.
entity template_synonym_distributed_as(entity, distribute)
what: finds or creates a new entity distributed as needed.
bool indirections_inside_statement_p(statement)
bool hpfc_init(const string)
bool hpfc_init(string name)
void set_hpfc_current_statement(statement)
bool maybeuseful_mappings_undefined_p(void)
void create_init_common_param_for_arrays(FILE *, entity)
void close_dynamic_hpf(void)
statement root_statement_remapping_inits(statement)
returns the initialization statement: must initialize the status and liveness of arrays
statement UpdateStatementForModule(entity, statement)
void propagate_synonym(statement, entity, entity, bool)
int HpfcExpressionToInt(expression)
HpfcExpressionToInt(e)
void reset_similar_mapping(void)
void store_or_update_dynamic_hpf(entity, entities)
bool hpfc_static_directives(const string)
void set_similar_mappings_for_updates(void)
void set_current_loops(statement)
list dup_list_of_ranges_list(list)
??? the complexity of this function could be greatly improved
Pvecteur the_index_of_vect(Pvecteur)
message-utils.c
void close_new_node(void)
Psysteme hpfc_compute_entity_to_new_declaration(entity)
int number_of_templates(void)
entity get_ith_cycle_dummy(int)
void clean_the_system(Psysteme *, list *, list *)
void generate_io_statements_for_shared_arrays(entity, tag, Psysteme, Psysteme, list, list, list, statement *, statement *)
void init_hpf_distribution(void)
bool entity_loop_index_p(entity)
bool empty_range_p(range)
list load_renamings(statement)
void store_or_update_overlap_status(entity, list)
int number_of_processors(void)
void close_entity_status(void)
void declaration_with_overlaps_for_module(entity)
bool full_copy_p(statement, reference *, reference *)
void reset_hpf_alignment(void)
entity delete_new_host(entity)
void store_old_node(entity, entity)
entity delete_old_host(entity)
void reset_hpf_distribution(void)
bool entity_template_p(entity)
void reset_data_status(void)
entity get_ith_processor_prime(int)
void close_old_node(void)
bool block_distributed_p(entity)
o-analysis.c
void set_new_node(entitymap)
void set_template(entity)
void create_parameters_h(FILE *, entity)
create_parameters_h
entity delete_primary_entity(entity)
bool statement_only_io_undefined_p(statement)
void set_update_common_map(entity_mapping)
void error_reset_primary_entity(void)
bool Overlap_Analysis(statement, statement *)
check conditions and compile...
void io_efficient_compile(statement, statement *, statement *)
compile an io statement
void error_reset_hpf_distribution(void)
void hpfc_directives_error_handler(void)
the local stack is used to retrieve the current statement while scanning the AST with gen_recurse.
void store_similar_mapping(entity, entity)
bool hpfc_special_fake(entity)
list load_overlap_status(entity)
list IndicesOfRef(syntax)
bool atomic_accesses_only_p(statement)
void error_reset_hpf_number(void)
void add_a_fake_function(entity)
list get_the_dynamics(void)
void NormalizeCommonVariables(entity, statement)
entity host_module
compiler.c
Psysteme hpfc_unstutter_dummies(entity)
void store_or_update_new_host(entity, entity)
Psysteme entity_to_new_declaration(entity)
statement generate_guarded_statement(statement, entity, list)
void print_align(align)
debug-util.c
list list_of_processors(void)
void store_or_update_old_host(entity, entity)
statement hpfc_buffer_packing(entity, entity(*)(void), bool)
void error_reset_dynamic_hpf(void)
entity get_ith_temporary_prime(int)
bool hpfc_compile(const string)
bool hpfc_compile(string name)
bool bound_hpf_number_p(entity)
expression hpfc_array_bound(entity, bool, int)
void store_hpf_alignment(entity, align)
const char * hpfc_main_entity_name(entity)
returns the name of the entity e belongs too (common, function...)
bool dynamic_hpf_undefined_p(void)
dynamic.c
void store_statement_only_io(statement, bool)
list template_ranges_to_processors_ranges(entity, list)
void hpfc_algorithm_tiling(Psysteme, list, list, Psysteme *, Psysteme *, Psysteme *)
void close_dynamic_status(void)
statement get_hpfc_current_statement(void)
void hpfc_fclose(FILE *, string)
void generate_get_value_locally(reference, reference, list *)
generate_get_value_locally
void NormalizeCodeForHpfc(statement)
list compute_receive_domain(list, Pvecteur)
void print_distributes(void)
void NewDeclarationsOfDistributedArrays(void)
this procedure generate the new declarations of every distributed arrays of the program,...
void normalize_hpf_object(entity)
void update_control_lists(control, control_mapping)
compiler-util.c
void create_init_common_param_for_processors(FILE *)
bool only_io_map_undefined_p(void)
io-util.c
void error_reset_maybeuseful_mappings(void)
void update_maybeuseful_mappings(statement, entities)
bool written_effects_to_dist_arrays_p(expression)
entitymap get_similar_mapping(void)
entity get_ith_region_dummy(int)
bool empty_section_p(list)
void print_distributed_arrays(void)
entity hpfc_main_entity(entity)
returns the entity to which e is attached, that is first a common, then a function....
list compile_hpf_reduction(list, bool, bool)
of statement
range loop_index_to_range(entity)
void update_renamings(statement, list)
bool larger_message_in_list(message, list)
void set_dynamic_hpf(entity_entities)
entity get_ith_array_dummy(int)
bool ith_dim_distributed_p(entity, int, int *)
whether a dimension is distributed or not.
statement hpfc_lazy_guard(bool, statement)
returns if (LAZY_{SEND,RECV}) then
entity get_ith_template_prime(int)
void store_new_host_node_variable(entity, entity, entity)
void statement_structural_cleaning(statement)
list list_of_templates(void)
distribute load_hpf_distribution(entity)
void store_new_node(entity, entity)
void error_reset_hpf_alignment(void)
void error_reset_similar_mapping(void)
void init_maybeuseful_mappings(void)
statement generate_copy_loop_nest(entity, entity)
statement generate_copy_loop_nest(src, trg) entity src, trg;
distribution FindDistributionOfProcessorDim(list, int, int *)
distribution FindDistributionOfDim(list, int, int *)
int get_overlap(entity, int, int)
returns the overlap for a given entity, dimension and side, to be used in the declaration modificatio...
void set_new_host(entitymap)
entity get_ith_shift_dummy(int)
void hpf_compiler(statement, statement *, statement *)
what: compile a statement into a host and SPMD node code.
entitymap get_old_node(void)
void generate_read_of_ref_for_all(syntax, list *, list *)
generate_read_of_ref_for_all
void init_similar_mapping(void)
void reset_maybeuseful_mappings(void)
void close_hpf_distribution(void)
list array_ranges_to_template_ranges(entity, list)
void close_similar_mapping(void)
void init_renamings(void)
void update_hpf_distribution(entity, distribute)
int processor_number(entity, int, int, int *)
int processor_number(template, tdim, tcell, pprocdim)
void make_host_and_node_modules(entity)
compile.c
void get_distribution(entity, int, int *, int *)
void reset_hpfc_current_statement(void)
void reset_new_node(void)
void update_entity_update_common(entity, entity)
entitymap get_old_host(void)
entity load_primary_entity(entity)
void generate_update_values_on_nodes(reference, reference, list *, list *)
generate_update_values_on_nodes
bool old_host_undefined_p(void)
entity argument_bound_entity(entity, entity, bool, int)
void update_overlap_status(entity, list)
bool written_effect_p(entity, list)
written_effects_to_dist_arrays_p
void update_overlaps_in_caller(entity, list)
the overlaps of the actual parameters are updated according to the formal requirements.
void put_generated_resources_for_module(statement, statement, statement)
alignmap get_hpf_alignment(void)
void set_data_status(data_status)
list generate_message_from_3_lists(entity, list, list, list)
list generate_message_from_3_lists(array, lcontent, lneighbour, ldomain)
list handle_hpf_reduction(statement)
of hpfc_reductions
bool subarray_shift_p(statement, entity *, list *)
bool(* dynamic_entity_p)(entity)
as expected, true if entity e is dynamic.
void print_distribute(distribute)
void error_reset_renamings(void)
void free_vector_list(list)
Psysteme shift_system_to_prime_variables(Psysteme)
statement hpfc_initsend(bool)
void simplify_remapping_graph(void)
void simplify_remapping_graph()
statement_entities get_maybeuseful_mappings(void)
entity get_ith_cycle_prime(int)
FILE * hpfc_fopen(string)
void store_or_update_hpf_number(entity, intptr_t)
void init_hpf_reductions(void)
list delete_overlap_status(entity)
void reset_current_loops(void)
void generate_receive_from_computer(reference, list *)
statement st_call_send_or_receive(entity, reference)
Sends.
expression make_mypos_expression(int, expression)
list lNewVariableForModule(entity, list)
Psysteme entity_to_hpf_align_constraints(entity)
void hpfc_special_cases_error_handler(void)
void fprint_lmessage(FILE *, list)
void reset_the_dynamics(void)
void hpfc_util_error_handler(void)
removes IF (.TRUE.) THEN and DO X=n, n
void close_overlap_status(void)
void reset_hpf_object_lists(void)
void get_ith_dim_new_declaration(entity, int, int *, int *)
void set_overlap_status(overlapsmap)
string hpfc_module_suffix(entity)
void error_reset_the_dynamics(void)
bool hpfc_call_with_distributed_args_p(call)
whether call c inplies a distributed argument
list make_rectangular_area(statement, entity)
statement st_compute_current_computer(reference)
Computes.
bool ref_to_dist_array_p(void *)
hpfc-util.c
list FindDefinitionsOf(statement, list)
statement st_get_value_for_computer(reference, reference)
void generate_c1_alpha(statement, list *, list *)
generate_c1_alpha
alignment FindAlignmentOfDim(list, int)
void store_or_update_maybeuseful_mappings(statement, entities)
void reset_dynamic_hpf(void)
void reset_hpf_number(void)
void store_old_host(entity, entity)
distributemap get_hpf_distribution(void)
void compile_a_special_io_function(entity)
just copied for the host
void create_init_common_param(FILE *)
create_init_common_param (templates and modules)
void close_new_host(void)
void init_dynamic_status(void)
DYNAMIC STATUS management.
void hpfc_translate_call_with_distributed_args(statement, call)
??? only simple calls are handled.
type type_variable_dup(type)
local-ri-util.c
entity safe_load_primary_entity(entity)
HPFC module by Fabien COELHO.
statement_renamings get_renamings(void)
entity get_ith_local_prime(int)
void error_reset_old_node(void)
void close_old_host(void)
expression UpdateExpressionForModule(entity, expression)
this function creates a new expression using the mapping of old to new variables map.
void store_or_update_renamings(statement, list)
void put_generated_resources_for_program(string)
void update_new_host(entity, entity)
entitymap get_new_host(void)
void delete_statement_only_io(statement)
void init_hpf_number_status(void)
STANDARS STATIC MANAGEMENT.
Psysteme get_read_effect_area(list, entity)
void reset_hpf_reductions(void)
void set_hpf_distribution(distributemap)
align new_align_with_template(align, entity)
entity get_ith_block_dummy(int)
void update_similar_mapping(entity, entity)
void close_hpf_reductions(void)
entitymap get_new_node(void)
void set_old_node(entitymap)
statement_mapping get_only_io_map(void)
void normalize_align(entity, align)
void set_maybeuseful_mappings(statement_entities)
int processor_dimension_of_template_dimension(entity, int)
statement hpfc_make_call_statement(entity, list)
statement hpfc_make_call_statement(e, l) generate a call statement to function e, with expression lis...
void print_templates(void)
void AddCommonToModule(entity, entity, void(*)(void), string)
bool overlap_status_undefined_p(void)
void update_hpf_reductions(statement, entities)
list hpfc_gen_n_vars_expr(entity(*)(void), int)
bool hpfc_make(const string)
bool hpfc_make(string name)
statement generate_full_copy(reference, reference)
statement generate_full_copy(reference left, reference right)
void set_hpf_number_status(numbers_status)
list updated_control_list(list, control_mapping)
void hpfc_init_run_time_entities(void)
to be seen from outside of this file
bool compile_reduction(statement, statement *, statement *)
bool compile_reduction(initial, phost, pnode)
void error_reset_overlap_status(void)
void store_or_update_hpf_reductions(statement, entities)
entity array_synonym_aligned_as(entity, align)
entity array_synonym_aligned_as(array, a) entity array; align a;
void init_data_status(void)
tag new_declaration_tag(entity, int)
void free_update_common_map(void)
statement messages_handling(list, list)
messages.c
bool alignments_compatible_p(entity, int, entity, int)
bool alignments_compatible_p(entity e1, int dim1, entity e2, int dim2)
statement generate_all_liveness(entity, bool)
statement st_compute_neighbour(int)
call to the runtime support function HPFC_CMPNEIGHBOUR(d)
bool full_define_p(reference, list)
void update_dynamic_hpf(entity, entities)
void create_init_common_param_for_templates(FILE *)
char * sprint_range(string, range)
bool load_statement_only_io(statement)
entity get_ith_region_prime(int)
dynamic_status get_dynamic_status(void)
int number_of_distributed_arrays(void)
declarations.c
entity get_ith_processor_dummy(int)
entity delete_old_node(entity)
void hpfc_print_file(string)
void add_remapping_as_computed(renaming, list)
variables to be declared
Psysteme entity_to_hpf_distribute_constraints(entity)
void generate_update_values_on_computer_and_nodes(reference, reference, list *, list *)
generate_update_values_on_computer_and_nodes
void reset_dynamic_status(void)
void create_common_parameters_h(FILE *)
inits.c
bool bound_new_node_p(entity)
statement loop_nest_guard(statement, reference, list, list)
list lUpdateExpr(entity, list)
bool hpf_pure_p(entity)
??? some intrinsics should also be considered as pure.
range complementary_range(entity, int, range)
range complementary_range(array, dim, r)
bool hpfc_intrinsic_like_function(entity)
void store_new_host_variable(entity, entity)
int template_dimension_of_array_dimension(entity, int)
void store_hpf_number(entity, intptr_t)
entities delete_maybeuseful_mappings(statement)
statement_entities get_hpf_reductions(void)
void close_the_dynamics(void)
entity delete_new_node(entity)
void generate_c1_beta(statement, list *, list *)
generate.c
void generate_parallel_body(statement, list *, list, list)
expression hpfc_buffer_reference(entity, entity)
returns a reference to the typed common hpfc_buffer buffer, that suits array basic type and with inde...
string bound_parameter_name(entity, string, int)
returns a name for the bound of the declaration of array array, side side and dimension dim.
void close_primary_entity(void)
entity get_ith_auxiliary_dummy(int)
expression entity_hpf_number(entity)
returns the hpf_number parameter as a string not really needed ??? ??? never called
void set_hpf_reductions(statement_entities)
bool bound_similar_mapping_p(entity)
void error_reset_old_host(void)
entities load_hpf_reductions(statement)
void store_or_update_hpf_distribution(entity, distribute)
void store_or_update_old_node(entity, entity)
void error_reset_new_node(void)
void generate_update_private_value_from_host(syntax, list *, list *)
generate_update_private_value_from_host
bool old_node_undefined_p(void)
statement st_compute_current_owners(reference)
Pcontrainte full_linearization(entity, entity, int *, entity(*)(int), bool, int)
remapping.c
entity MakeRunTimeSupportSubroutine(string, int)
run-time.c
void reset_old_node(void)
void reset_update_common_map(void)
void free_only_io_map(void)
entity hpfc_new_variable(entity, basic)
entity_mapping get_update_common_map(void)
bool hpfc_install(const string)
bool hpfc_install(string name)
bool hpfc_run(const string)
bool hpfc_run(string name)
list add_to_list_of_ranges_list(list, range)
void update_hpf_alignment(entity, align)
bool entity_processor_p(entity)
statement generate_subarray_shift(statement, entity, list)
statement generate_subarray_shift(s, var, lshift) statement s; entity var; list lshift;
void debug_print_referenced_entities(void *)
distribute delete_hpf_distribution(entity)
void reset_old_host(void)
void FindRefToDistArrayInStatement(statement, list *, list *)
void remove_variables_if_possible(Psysteme *, list *)
void store_overlap_status(entity, list)
align load_hpf_alignment(entity)
void init_primary_entity(void)
bool bound_old_host_p(entity)
statement hpfc_lazy_buffer_packing(entity, entity, entity, entity, entity(*)(void), bool, bool)
overlapsmap get_overlap_status(void)
void fprint_message(FILE *, message)
void update_new_node(entity, entity)
bool call_reduction_p(call)
void GiveToHpfObjectsTheirNumber(void)
give to hpf objects listed in distributedarrays, templates and processors their number for the code g...
list compute_receive_content(entity, list, Pvecteur)
list dup_list_of_Pvecteur(list)
??? the complexity of this function could be improved greatly...
void hpfc_algorithm_row_echelon(Psysteme, list, Psysteme *, Psysteme *)
io-compile.c
entity_entities get_dynamic_hpf(void)
bool entity_update_common_undefined_p(entity)
bool bound_overlap_status_p(entity)
bool make_guard_expression(entity, list, expression *)
bool make_guard_expression(proc, lr, pguard)
entity get_ith_local_dummy(int)
void set_overlap(entity, int, int, int)
set the overlap value for entity ent, on dimension dim, dans side side to width, which must be a posi...
data_status get_data_status(void)
void close_maybeuseful_mappings(void)
entity get_ith_shift_prime(int)
statement st_send_to_host_and_nodes(reference, reference)
bool bound_dynamic_hpf_p(entity)
void init_entity_status(void)
list simplify_deducable_variables(Psysteme, list, list *)
list simplify_deducable_variables(syst, vars, pleftvars) Psysteme syst; list vars,...
statement hpfc_buffer_initialization(bool, bool, bool)
Psysteme generate_system_for_distributed_variable(entity)
Psysteme generate_system_for_variable(v) entity v;.
list alive_arrays(statement, entity)
what: returns the list of alive arrays for statement s and template t.
void reset_new_host(void)
entity load_new_host(entity)
void init_the_dynamics(void)
void set_primary_entity(entitymap)
void close_hpf_number(void)
void store_new_host(entity, entity)
statement define_node_processor_id(entity, entity(*)(int))
generate-util.c
void store_primary_entity(entity, entity)
void set_hpf_number(entity_int)
void debug_host_node_variables(entity)
HPFC module by Fabien COELHO.
void make_hpfc_current_mappings(void)
??? used with a temporary hack to differentiate array and templates
void close_hpf_alignment(void)
entitymap get_primary_entity(void)
bool hpfc_current_statement_undefined_p(void)
align-checker.c
void hpfc_compile_error_handler(void)
Psysteme generate_system_for_equal_variables(int, entity(*)(int), entity(*)(int))
void set_similar_mapping(entitymap)
void hpfc_init_dummy_to_prime(void)
entity get_ith_block_prime(int)
void set_hpf_alignment(alignmap)
void reset_renamings(void)
void add_remapping_as_used(renaming)
list list_of_distributed_arrays(void)
bool hpf_number_undefined_p(void)
void generate_compute_local_indices(reference, list *, list *)
generate_compute_local_indices
void set_renamings(statement_renamings)
void kill_statement_number_and_ordering(statement)
void close_dynamic_locals(void)
bool bound_hpf_alignment_p(entity)
int global_array_cell_to_local_array_cell(entity, int, int)
int global_array_cell_to_local_array_cell(array, dim, acell)
void set_array_as_distributed(entity)
entity delete_similar_mapping(entity)
void get_entity_dimensions(entity, int, int *, int *)
void free_hpf_object_lists(void)
void init_hpf_number(void)
void init_host_and_node_entities(void)
both host and node modules are initialized with the same declarations than the compiled module,...
void store_dynamic_hpf(entity, entities)
void init_dynamic_locals(void)
DYNAMIC LOCAL DATA.
bool new_node_undefined_p(void)
statement st_receive_from(reference, reference)
if ref is replicated: goal = Receive_From_Sender()
void add_pvm_init_and_end(statement *, statement *)
this is for the main.
void hpfc_print_common(FILE *, entity, entity)
void update_old_node(entity, entity)
bool new_host_undefined_p(void)
host_node_entities.c
statement hpfc_packing_of_current__buffer(entity, bool)
CALL (pvmtype) HPFC {,UN}PACK.
void dump_current_remapping_graph(string)
void make_update_common_map(void)
void fprint_lrange(FILE *, list)
string pvm_what_options(basic)
string pvm_what_options(b)
entity load_old_host(entity)
void error_reset_hpfc_current_statement(void)
void delete_entity_update_common(entity)
list hpfc_order_variables(list, bool)
list hpfc_order_variables(list)
void update_primary_entity(entity, entity)
void hpfc_print_code(FILE *, entity, statement)
void reset_primary_entity(void)
entity get_ith_temporary_dummy(int)
void store_renamings(statement, list)
bool hpfc_dynamic_directives(const string)
intptr_t load_hpf_number(entity)
void close_renamings(void)
void set_the_dynamics(list)
bool bound_hpf_distribution_p(entity)
bool hpf_alignment_undefined_p(void)
list lUpdateExpr_but_distributed(entity, list)
used for compiling calls.
void hpfcompile(const char *)
Compiler call, obsole.
bool bound_primary_entity_p(entity)
void store_maybeuseful_mappings(statement, entities)
void update_hpf_number(entity, intptr_t)
bool primary_entity_undefined_p(void)
bool message_larger_p(message, message)
bool message_larger_p(m1, m2)
void update_object_for_module(void *, entity)
void handle_hpf_directives(statement, bool)
void handle_hpf_directives(s) statement s;
expression pvm_what_option_expression(entity)
list AddOnceToIndicesList(list, list)
void store_hpf_reductions(statement, entities)
bool lrange_larger_p(list, list)
bool hpfc_integer_constant_expression_p(expression, int *)
char * sprint_lrange(string, list)
bool array_distributed_p(entity)
bool array_distribution_similar_p(entity, entity)
void store_new_node_variable(entity, entity)
void init_dynamic_hpf(void)
void update_statement_only_io(statement, bool)
void hpfc_io_util_error_handler(void)
??? neglect expression side effects...
void only_io_mapping_initialize(statement)
bool hpfc_entity_reduction_p(entity)
special_cases.c
bool local_integer_constant_expression(expression)
true is the expression is locally constant, that is in the whole loop nest, the reference is not writ...
Psysteme compute_entity_to_declaration_constraints(entity, string, string)
Psysteme compute_entity_to_constraints(ent, suffix, prefix) entity ent: variable the constraints of w...
void put_generated_resources_for_common(entity)
entities load_maybeuseful_mappings(statement)
void hpfc_check_for_similarities(list)
check all dynamic arrays for some similars...
bool references_aligned_p(reference, reference)
statement hpfc_add_2(expression)
expr = expr + 2
align delete_hpf_alignment(entity)
void generate_read_of_ref_for_computer(syntax, list *, list *)
generate_read_of_ref_for_computer
void extract_lattice(Psysteme, list, list *, list *)
lattice_extraction.c
void AddEntityToHostAndNodeModules(entity)
AddEntityToHostAndNodeModules.
expression make_reference_expression(entity, entity(*)(void))
statement st_send_to_computer_if_necessary(reference)
list FindRefToDistArrayFromList(list)
FindRefToDistArrayFromList.
statement st_generate_packing(entity, list, bool)
statement st_generate_packing_and_passing(array, content, bsend)
Psysteme entity_to_declaration_constraints(entity, tag)
gives back the constraints due to the declarations.
list lIndicesOfRef(list)
computes the list of indices of the list of ref that are variables...
alignment FindAlignmentOfTemplateDim(list, int)
void set_processor(entity)
void add_as_a_used_dynamic_to_statement(statement, entity)
bool hpfc_io_like_function(entity)
bool hpfc_common(const string)
bool hpfc_common(string name)
statement st_compute_ith_local_index(entity, int, expression, syntax *)
the returned expression is translated into variables of the node module.
entity get_ith_auxiliary_prime(int)
int DistributionParameterOfArrayDim(entity, int, int *)
effect entity_to_region(statement, entity, tag)
effect entity_to_region(stat, ent, act) statement stat; entity ent; tag act;
void error_reset_hpf_reductions(void)
void free_hpfc_current_mappings(void)
statement simple_statement(statement)
bool ith_dim_replicated_p(entity, int, list, distribution)
entity_int get_hpf_number(void)
entity NewVariableForModule(entity, entity)
int bool
we cannot use an enum or stdbool because we need to be compatible with newgen, thus boolean need to h...
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.