Skip to content
/ Orio Public
forked from brnorris03/Orio

Orio is an open-source extensible framework for the definition of domain-specific languages and generation of optimized code for multiple architecture targets, including support for empirical autotuning of the generated code.

License

Notifications You must be signed in to change notification settings

pbalapra/Orio

This branch is 270 commits behind brnorris03/Orio:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e2c125d · Jan 29, 2014
Dec 19, 2013
Nov 2, 2013
Jan 29, 2014
Oct 21, 2013
Oct 31, 2013
Aug 9, 2011
Jan 21, 2014
Dec 19, 2013
Dec 19, 2013
Feb 5, 2009
Feb 15, 2013
Nov 16, 2013
Jun 17, 2010
Feb 9, 2009
Feb 11, 2009
Mar 8, 2012
Oct 21, 2013
Mar 8, 2012
Mar 8, 2012
Jan 21, 2014

Repository files navigation

Orio

Orio is an open-source extensible framework for the definition of domain-specific languages and generation of optimized code for multiple architecture targets, including support for empirical autotuning of the generated code.

For more detailed documentation, refer to the Orio website, http://brnorris03.github.io/Orio/.

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 straightforward as shown below.

  $ tar -xzf orio.tar.gz
  $ cd orio
  $ python setup.py install

On a Unix platform, the above install command will normally 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. You can install Orio in a different location by specifying the --prefix option to the setup.py script.

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

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

After making sure that the orcc executable is in your path, you can try some of the examples included in the testsuite subdirectory, e.g.:

 $ cd testsuite/sandbox/axpy/simple
 $ orcc -v axpy5.c

If Orio reports problems building the code, adjust the compiler settings in the tuning spec included in the axpy5.c.

Authors and Contact Information

Please send all questions, bugs reports, and comments to: Boyana Norris, brnorris03@gmail.com

Principal Authors:

  • Boyana Norris, University of Oregon
  • Albert Hartono, Intel
  • Azamat Mametjanov, Argonne National Laboratory
  • Prasanna Balaprakash, Argonne National Laboratory
  • Nick Chaimov, University of Oregon

About

Orio is an open-source extensible framework for the definition of domain-specific languages and generation of optimized code for multiple architecture targets, including support for empirical autotuning of the generated code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published