This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, This is the patches for the Graphite-OpenCL code described in our GCC Summit paper. The largest patch, 'graphite-opencl.patch' is the combined patch relative to the current Graphite branch. It is split into three separate chunks as follows: 1. graphite-opencl-1.patch is just trivial code motion to make some of the graphite functions from graphite-clast-to-gimple.c exposed for the new files. 2. graphite-opencl-2.patch exports one more function from graphite-dependences.c and adds a new function that conservatively estimates upper subscript bound from the loop iteration domain. 3. graphite-opencl-3.patch adds new files with the implementation and makes all necessary adjustments to Makefile.in, common.opt and other files. The combined patch and the broken-out parts are attached to this message. Sebastian, Tobias: can the changes in these patches be incorporated into the graphite branch in some form? Some implementation details and performance results can be found in our paper, available on the GCC Wiki ( http://gcc.gnu.org/wiki/summit2010 ). I'd like to compliment Alexey (Cc'ed) for the hard work in producing these patches. Happy holidays! ChangeLogs: [1] 2010-12-24 Alexey Kravets <kayrick@ispras.ru> * graphite-clast-to-gimple.c (struct clast_name_index): Move definition to graphite-clast-to-gimple.h. (clast_name_to_index): Ditto. (clast_name_index_elt_info): Ditto. (eq_clast_name_indexes): Ditto. (save_clast_name_index): Export. (clast_name_to_gcc): Ditto. (clast_to_gcc_expression): Ditto. (gcc_type_for_clast_expr): Ditto. (graphite_create_new_guard): Ditto. (gcc_type_for_iv_of_clast_loop): Ditto. (graphite_create_new_loop): Ditto. (build_iv_mapping): Ditto. (graphite_create_new_loop_guard): Ditto. (debug_clast_name_index): New. (debug_clast_name_indices): New debug function. [2] 2010-12-24 Alexander Monakov <amonakov@ispras.ru> * graphite-dependences.c (graphite_outer_subscript_bound): New. (graphite_carried_dependence_level_k): Export. * graphite-dependences.h (graphite_outer_subscript_bound): Declare. (graphite_carried_dependence_level_k): Ditto. [3] 2010-12-24 Alexey Kravets <kayrick@ispras.ru> * Makefile.in (OBJS-common): Add graphite-opencl-codegen.o, graphite-opencl-meta-clast.o and graphite-opencl.o. (graphite-opencl-codegen.o): New. (graphite-opencl-meta-clast.o): New. (graphite-opencl.o): New. (GTFILES): Add graphite-opencl.c. * common.opt (fgraphite-opencl): New. (fgraphite-opencl-cpu): New. (fgraphite-opencl-ignore-depth-heuristic): New. (fgraphite-opencl-ignore-mem-heuristic): New. (fgraphite-opencl-ignore-dep): New. (fgraphite-opencl-ignore-types): New. (fgraphite-opencl-depth-base): New. (fgraphite-opencl-debug): New. * graphite-opencl-codegen.c: New file. * graphite-opencl-meta-clast.c: New file. * graphite-opencl.c: New file. * graphite-opencl.h: New file. * graphite.c (graphite_transform_loops): Call graphite_opencl_init and graphite_opencl_finalize. * tree-ssa-loop.c (gate_graphite_transforms): Handle flag_graphite_opencl. * graphite-clast-to-gimple.c (gloog): Call opencl_transform_clast. * dbgcnt.def (opencl_scop_cnt): New counter.
Attachment:
graphite-opencl.patch.gz
Description: Binary data
Attachment:
graphite-opencl-1.patch.gz
Description: Binary data
Attachment:
graphite-opencl-2.patch.gz
Description: Binary data
Attachment:
graphite-opencl-3.patch.gz
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |