Details about the project

After scop formation in “build_poly_scop()”, scops are optimized through “scop_do_block()”, “scop_do_strip_mine()” and “scop_do_interchange()”. After these optimizations, we export the scop (dump it) to a text file in special standard format (scop format) readable by other standard polyhedral tools (and human readable also). After scop dumping, the tool reads the scop file, applies appropriate polyhedral transformations that are not present in graphite and then dumps the transformed polyhedral structures into a scop file. Graphite will then read the generated file and proceed to code generation through Gloog “scop_to_clast()”.

The current internal scop representation in graphite is actually different from the simple scopLib format. In graphite, a scop is formed of a vector of polyhedral basic blocks (poly_bb or pbb for short), each pbb has its own scattering function, iteration domain, and a vector of polyhedral data references (poly_dr_p) that describe read and write accesses.

ScopLib has the same general structure, but differs in some internal details from the graphite polyhedral representation, in this section, we present a list of differences between scopLib format and the internal Graphite format :

None: ScopLibSupportForGraphiteDetails (last edited 2010-04-26 21:31:57 by 78)