llvm-project/polly/test/polybench
Tobias Grosser b5f92892d1 Remove unneeded RegionSimplify pass.
We now support regions with multiple entries and multiple exits natively.
Regions are not needed to be simplified to single entry and single exit.

We need to XFAIL two test cases as this change increases the scop coverage
and uncoveres two failures in the independent blocks pass. The first failure
will be fixed in a subsequent commit, the second one is in the non-default
-polly-codegen-scev mode and still needs to be fixed.

Contributed-by: Star Tan <tanmx_star@yeah.net>
llvm-svn: 179673
2013-04-17 07:20:30 +00:00
..
datamining Remove last uses of canoncial induction variable when scev code generating 2013-03-21 16:14:50 +00:00
linear-algebra Remove unneeded RegionSimplify pass. 2013-04-17 07:20:30 +00:00
scripts
stencils Remove unneeded RegionSimplify pass. 2013-04-17 07:20:30 +00:00
utilities clang-format: Many more files 2013-03-23 01:05:07 +00:00
README

README

* * * * * * * * * *
* PolyBenchs 1.0  *
* * * * * * * * * *


* Available benchmarks:

::linear-algebra::
linear-algebra/kernels:
linear-algebra/kernels/atax/2mm.c
linear-algebra/kernels/atax/3mm.c
linear-algebra/kernels/atax/atax.c
linear-algebra/kernels/bicg/bicg.c
linear-algebra/kernels/doitgen/doitgen.c
linear-algebra/kernels/gemm/gemm.c
linear-algebra/kernels/gemver/gemver.c
linear-algebra/kernels/gesummv/gesummv.c

linear-algebra/solvers:
linear-algebra/solvers/gramschmidt/gramschmidt.c
linear-algebra/solvers/lu/lu.c
linear-algebra/solvers/ludcmp/ludcmp.c

::datamining::
datamining/correlation/correlation.c
datamining/covariance/covariance.c

::stencils::
stencils/adi/adi.c
stencils/jacobi-2d-imper/jacobi-2d-imper.c
stencils/seidel/seidel.c


* To compile a benchmark without any monitoring:

$> gcc -I utilities utilities/instrument.c linear-algebra/kernels/atax/atax.c



* To compile a benchmark with execution time reporting:

$> gcc -I utilities utilities/instrument.c linear-algebra/kernels/atax/atax.c -DPOLYBENCH_TIME


* Available options

They are all passed as macro definitions during compilation time. The
current list is:
- POLYBENCH_TIME: output execution time (gettimeofday) [default: off]
- POLYBENCH_NO_FLUSH_CACHE: don't flush the cache before calling the
  timer [default: flush the cache]
- POLYBENCH_LINUX_FIFO_SCHEDULER: use FIFO real-time scheduler for the
  kernel execution, the program must be run as root, under linux only,
  and compiled with -lc [default: off]
- POLYBENCH_CACHE_SIZE_KB: cache size to flush, in kB [default: 8192]
- POLYBENCH_TEST_MALLOC: use malloc instead of stack allocation [default: off]
- POLYBENCH_DUMP_ARRAYS: dump all live-out arrays on stderr [default: off]

- Nxx: override the default dataset values


* Collecting the execution time of all files

$> scripts/runall.sh <machine-name>

Note: the script runall must be run from the root directory of the archive.


** Specifying different dataset size for one file in particular

- Create a compiler.opts file under the directory of the benchmark
- Specify a set of options, e.g. -DX=1024 -DY=1024 (see gemm for an example)


** To specify another compiler

- Simplest is to edit scripts/runall.sh, and change the
  COMPILER_COMMAND variable. One can also export the adequate
  COMPILER_COMMAND variable in the shell environment.



* Author
Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>

* Contributors
Uday Bondhugula <ubondhug@us.ibm.com>