-
Notifications
You must be signed in to change notification settings - Fork 0
A storage optimization tool for regular loop nests
License
MIT, MIT licenses found
Licenses found
MIT
LICENSE
MIT
COPYING
bondhugula/smo
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# # SMO README # # Somashekaracharya G B # [email protected] # [email protected] # # Uday Bondhugula # [email protected] # SMO is a storage/memory optimizer for affine loop nests based on the polyhedral framework. Affine loop nests are nests where the array subscript expressions are affine function of loop iterators and program parameters (symbols that are not modified). LICENSE SMO is available under the MIT license. Please see file LICENSE for details. INSTALLING SMO Requirements: A Linux distribution. Pluto has been tested on x86 and x86-64 machines running Fedora Core {4,5,7,8,9}, Ubuntu, and RedHat Enterprise Server 5.x. Solaris should also be fine if you have GNU utilities. In order to use the development version from Pluto's git repository, automatic build system tools including autoconf, automake, and libtool are needed. GMP (GNU multi precision arithmetic library) is needed by ISL (one of the included libraries). If it's not already on your system, it can be installed easily with, for eg., 'sudo yum -y install gmp gmp-devel' on a Fedora, or 'sudo apt-get install libgmp3-dev' on an Ubuntu. SMO includes all libraries that it depends on. autoconf/automake system will take care of automatically building everything. Nothing else needs to be downloaded and installed separately. To use the Python wrapper for SMO, make sure that the following are installed. python-dev (sudo apt-get/yum/dnf install python-dev) islpy (via Python PIP) python-glpk (sudo apt-get/yum/dnf install python-glpk) If you are unable to build/install Python wrappers for glpk via Python's PIP due to a more recent version of glpk on your system, use the pyglpk available here: https://github.com/bradfordboyle/pyglpk BUILDING SMO Stable release $ tar zxvf smo-1.0.tar.gz $ cd smo-1.0/ $ ./configure $ make $ make test configure can be provided --with-isl-prefix=<isl install location> to build with another isl, otherwise the bundled isl is used. Development version from Git $ git clone git://github.com/bondhugula/smo.git $ cd smo/ $ git submodule init $ git submodule update $ ./autogen.sh $ ./configure [--enable-debug] [--with-isl-prefix=<isl install location>] $ make $ make test * --with-isl-prefix=<location> to compile and link with an already installed isl. By default, the version of isl bundled with Pluto will be used. EXAMPLES The examples/ directory contains conflict set specifications for various examples. Each of these files can be provided as an input to the prototype through the command line options CONTACT Please send all bugs reports and comments to S. Bhaskaracharya <[email protected]>
About
A storage optimization tool for regular loop nests
Resources
License
MIT, MIT licenses found
Licenses found
MIT
LICENSE
MIT
COPYING
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published