Version 6 (modified by hartono, 15 years ago) (diff) |
---|
ORIO -- An Annotation-Based Performance Tuning Tool
Overview
Orio is an extensible annotation system, implemented in Python, that aims at improving both performance and productivity by enabling software developers to insert annotations into their source code (in C/C++) that trigger a number of low-level performance optimizations on a specified code fragment. The tool generates many tuned versions of the same operation using different optimization parameters, and performs an empirical search for selecting the best among multiple optimized code variants.
Download
Installation
The Orio installation follows the standard Python Module Distribution Utilities, or Disutils for short.
For users who want to quickly install Orio to the standard locations of third-party Python modules (requiring superuser privileges in a Unix system), the installation is simple as shown below.
% tar -xvzf orio.tar.gz % cd orio % python setup.py install
On a Unix platform, the above install command will put an orcc script in the /usr/bin location, and also create an orio module directory in the /usr/lib/python2.X/site-packages location.
In order to install Orio to an alternate location, users need to supply a base directory for the installation. For instance, the following command will install an orcc script under /home/username/bin, and also put an orio module under /home/username/lib/python/site-packages.
% tar -xvzf orio.tar.gz % cd orio % python setup.py install --prefix=/home/username
It is also important to ensure that the installed Orio module location is included in the PYTHONPATH environment variable. Similarly, users can optionally include the installed orcc script location in the PATH shell variable. To do this for the above example, the following two lines can be added in the .bashrc configuration file (assuming the user uses Bash shell of course).
export PYTHONPATH=$PYTHONPATH:/home/username/lib/python/site-packages export PATH=$PATH:/home/username/bin
To test whether Orio has been properly installed in your system, try to execute orcc command as given below as an example.
% orcc --help description: compile shell for Orio usage: orcc [options] <ifile> <ifile> input file containing the annotated code options: -h, --help display this message -o <file>, --output=<file> place the output to <file> -v, --verbose verbosely show details of the results of the running program
Documentations
Currently under construction
Papers
- Boyana Norris, Albert Hartono, and William Gropp. "Annotations for Productivity and Performance Portability," in Petascale Computing: Algorithms and Applications. Computational Science. Chapman & Hall / CRC Press, Taylor and Francis Group, 2007. Preprint ANL/MCS-P1392-0107. (bib, pdf)
Attachments
- anl_logo.jpg (15.3 KB) - added by hartono 15 years ago.
- osu_logo.png (57.9 KB) - added by hartono 15 years ago.
- orio-framework.jpg (25.1 KB) - added by hartono 15 years ago.
- orio_logo.jpg (15.3 KB) - added by hartono 15 years ago.