[<< home] [news] [description] [documentation] [download] [installation] [user guide] | On development, version 0.2.1 available |
PolyOpt is a polyhedral loop optimization framework, integrated in the ROSE compiler. The main features are:
Please note that the following documents are preliminary. Don't hesitate to contact the author Louis-Noel Pouchet for any question.
Download PolyOpt/C. A working ROSE installation is a pre-requesite.
The installation of PolyOpt/C is packaged in an installer
script install.sh
. It assumes ROSE is built, and will download and install a local copy of PoCC.
$> tar xzf polyopt-c-0.2.1.tar.gz $> cd polyopt-c-0.2.1 $> export ROSE_ROOT=/path/to/rose/install $> export BOOST_ROOT=/path/to/boost/install $> ./install.sh $> export PATH=$PATH:`pwd`/src
For a test run of the compiler:
$> PolyOpt dgemm.c
To inspect the available options:
$> PolyOpt --polyopt-help Available options for PolyOpt: --polyopt-help Verbosity options: --polyopt-verbose --polyopt-quiet Main optimization paths: --polyopt-fixed-tiling --polyopt-parametric-tiling --polyopt-parallel-only Scop extraction related options: --polyopt-generic-scop-extractor --polyopt-approximate-scop-extractor --polyopt-safe-math-func --polyopt-scop-extractor-verbose=1 --polyopt-scop-extractor-verbose=2 --polyopt-scop-extractor-verbose=3 --polyopt-scop-extractor-verbose=4 Main driver related options: --polyopt-annotate-only --polyopt-annotate-inner-loops --polyopt-compute-ddv --polyopt-hullify-ddv --polyopt-generate-pragmas Codegen related options: --polyopt-codegen-use-past --polyopt-codegen-use-clast --polyopt-codegen-use-ptile --polyopt-codegen-insert-ptile-api Dependence analysis options: --polyopt-scalar-privatization PoCC related options: --polyopt-pocc-verbose --polyopt-pluto --polyopt-pluto-tile --polyopt-pluto-parallel --polyopt-pluto-prevector --polyopt-pluto-fuse-<maxfuse,smartfuse,nofuse> --polyopt-pluto-rar --polyopt-pluto-lastwriter