diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 194 |
1 files changed, 0 insertions, 194 deletions
@@ -1,194 +0,0 @@ -# -# /**-------------------------------------------------------------------** -# ** CLooG ** -# **-------------------------------------------------------------------** -# ** The Chunky Loop Generator ** -# **-------------------------------------------------------------------** -# ** First version of this file: january 22th 2002 ** -# **-------------------------------------------------------------------**/ -# - -For complete informations about this software, how to build and use it, -please see the postscript file in the ./doc subdirectory (a pdf version -is available in the web site). - -Overview : -I. Description -II. Building CLooG -III. Options -IV. Running CLooG -V. General Questions - -# **-------------------------------------------------------------------** -# ** I. Description ** -# **-------------------------------------------------------------------**/ - -CLooG is a software which generates loops for scanning Z-polyhedra. That is, -CLooG finds the code or pseudo-code where each integral point of one or more -parametrized polyhedron or parametrized polyhedra union is reached. CLooG is -designed to avoid control overhead and to produce a very efficient code. - -Its input is some data on the polyhedra to scan, basically the system of -affine inequalities that define them, and a context that defines some -properties known on the parameters if any. The output is the pseudo scanning -code. Many facilities are provided to generate a near-to-be-compileable code, -and every useful functions to generate the code may be called from the CLooG -library. - - INPUT | OUTPUT -(fortunately not exactly the input, | (the real one, with default options) - check test/readme.cloog for the | - real input for that problem !) | - | - j^ i>=2 | - | | j<=n+2-i | - | |\ | i<=n | - | | \ | | - m-+-****---+-j<=m | for (i=2;i<=n;i++) { - | ***** | | for (j=2;j<=min(m,-i+n+2);j++) { - | ****** | ==> S1 ; - | *******| | } - 2-+-********-j>=2 | } - | | |\ | - 0-+-+------+--->i | - | | | | - 0 2 n | - | - Context : n>=2 | - m>=2 | - System : 2<=i<=n | - 2<=j<=m | - j<=n+2-i | - -# **-------------------------------------------------------------------** -# ** II. Building CLooG ** -# **-------------------------------------------------------------------**/ - -The configure shell script attempts to guess correct values for various -system-dependent variables used during compilation. It uses those values to -create a Makefile. The file configure.in is used to create configure by a -program called autoconf. You only need configure.in if you want to change -it or regenerate configure using a newer version of autoconf. - -The simplest way to compile this package is: -cd to the directory containing the package's source code and type - - ./configure - -to configure the package for your system (while running, configure prints -some messages telling which features it is checking for) (in the strange case -where ./configure do not exists, you can build it by typing -"autoconf -l autoconf autoconf/configure.in > configure"). To compile the -package, type - - make - - -to install the program and/or the library, type - - make install - -you can remove the program binaries and object files from the source code -directory by typing - - make clean - -To also remove the files that configure created (so you can compile the -package for a different kind of computer) type - - make distclean - -# **-------------------------------------------------------------------** -# ** III. Options ** -# **-------------------------------------------------------------------**/ - -By default, make will install the package's files in /usr/local/bin, -/usr/local/lib, etc. You can specify an installation prefix other than -/usr/local by giving onfigure the option --prefix=PATH. - -By default, configure will seek the PolyLib in standard locations. -If necessary, you can specify the PolyLib's path by giving configure the -option --with-polylib=PATH. - -By default, configure will seek the GMP library in standard locations. -If necessary, you can specify the GMP's path by giving configure the -option --with-gmp=PATH. - -By default, both CLooG and the CloogLib are compiled and installed. -By giving configure the option --without-cloog you disable the -compilation and installation of CLooG. By giving configure the option ---without-lib you disable the compilation and installation of the CloogLib. - -By default, CLooG and it's library are builded using 64 bits integer -representation. You can choose to specify explicitly others integer -representations by using: ---with-bits=32 for 32 bits integers, ---with-bits=64 for 64 bits integers (default), ---with-bits=gmp for multiple precision integers. - -# **-------------------------------------------------------------------** -# ** IV. Running CLooG ** -# **-------------------------------------------------------------------**/ - -To run CLooG, simply type 'cloog', optionally followed by the name of an -input file. You can type 'cloog -h' or 'cloog --help' for some help. -For more informations, please check the ./doc subdirectory. - -# **-------------------------------------------------------------------** -# ** V. General Questions ** -# **-------------------------------------------------------------------**/ - -1. What does CLooG means ? - -CLooG is the Chunky LOOp Generator, Chunky is an automatic loop optimizer for -data locality. CLooG is a completely independent part of the Chunky project. -Pronounce 'CLooG' as 'klug', which means 'sly' in german :-). - -2. CLooG do not compile, what should I do ? - -CLooG should compile everywhere (assuming that PolyLib is still there), thus -there is a problem or the documentation is not clear, in both case it is -necessary to ask the author(s) ! - -3. I need a feature that CLooG do not implement, what should I do ? - -There are two ways. First, CLooG is a GPL software and library. So you -are welcome to improve it yourself ;-) ! Many project have been successful, it -is -maybe- a sign that this is not too hard to put your hands inside the -source. Second, just ask the author(s) :-) ! Maybe a lot of people would be -interessed by such feature, maybe many people asked for it before, maybe it's -trivial to implement (and even)... Please just never hesitate to ask the -author(s) ! - -4. I implemented a cool feature, can I commit it ? - -Obviously you are welcome to send the author(s) any improvement. But obviously -we are quite careful with readability, correctness and stability, and the -author(s) will read, check and check again any contribution before including it. -Thus, it can take time... There are few basic rules to write contributions: -- (1) Do never change the indentation of any part of the code that is not yours. -- (2) Do never send codes that use more than 80 columns. -- (3) Do never send codes without a lot of comments in (bad or good) english. -- (4) Do never send codes with obscure and/or non-english variable names. -- (5) Use C, just C, only C (note: "//" comments are not C, variable declaration - elsewhere than at the beginning of a block -better: a function-, is not C). -Please understand that in order to live for a long time, and to be used in many -projects the very first priority for CLooG is to be readable and documented. - -5. Is CLooG bug free ? - -No, who can ? ClooG is a complex program, and we do not pretend it to be bug -free. Nevertheless because it has been tested and tested, we are fairly sure -that CLooG results with default options have good chances to be satisfactory. -If you find a result that looks strange, inadequate or incorrect, please send: -- (1) The input file to the author(s). -- (2) The output. -- (3) The first line given by typing 'cloog -v'. -- (4) All your command line options to achieve the result. -We will try to explain the result or to fix the problem as soon as possible. - -6. How can I ask the author(s) ? - -Just send a mail to cedric.bastoul@inria.fr ! Or better, leave a message in the -forum of http://www.CLooG.org - |