Skip to content

jtalbot/riposte

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Riposte, a fast interpreter and JIT for R.

Justin Talbot <justintalbot@gmail.com>
Zach Devito 

We only do development on OSX and Linux. It's unlikely that our JIT will work on Windows.

Compiling riposte
-----------------
0. Install dependencies:
	`brew install boost`
   	`brew install eigen`
	`brew install tre`
	`brew install pcre`
    `brew install gettext` (for libintl)
	`brew install xz` (for lzma)
	Note: If you use a different package system, you may need to change the directories in Riposte's Makefiles 

1. Run `make release` in the riposte directory, or `make debug` for the debug version

2. Set RIPOSTE_HOME environment variable to the riposte directory

3. Execute ./riposte to start

4. To load R standard library
    Build R 3.2.1 from sources with
    ./configure --with-aqua=no --with-tcltk=no --with-x=no --with-cairo=no --with-ICU=no --enable-byte-compiled-packages=no --enable-strict-barrier=yes --enable-R-profiling=no
    Copy lib/libRblas.dylib and lib/libRlapack.dylib into Riposte's home directory
    Copy the contents of the library directory into Riposte's library directory

	In R-3.2.1/src/nmath/standalone, delete -DMATHLIB_STANDALONE from Makefile, do make shared
    Copy src/nmath/standalone/libRmath.dylib into Riposte's home directory

Flags
-----
-j # 		: start with # worker threads (defaults to 1, set to the number of cores on your machine)
-f <filename>	: execute R script in <filename>
-v 		: verbose debug output for the vector trace recorder and JIT


Limitations
-----------
Riposte is in heavy development. Many things haven't been implemented and many things have been implemented incorrectly. Use with caution. Fixes welcome.


License
-------
Riposte itself is distributed under the BSD 2-clause license <http://www.opensource.org/licenses/bsd-license.php>.

Riposte depends on the following libraries:
* Eigen (http://eigen.tuxfamily.org) under the MPL2 license (http://www.mozilla.org/MPL/2.0/)
* Linenoise (https://github.com/antirez/linenoise/) under a BSD license
* dyncall (http://dyncall.org) under a very liberal license
* tre (http://laurikari.net/tre/) under a 2-clause BSD license

Riposte uses the following under the LGPL:
* R header files (in the include directory)
* GNU implementation of printf-parser (in library/core/src)

Testing
-------
Riposte comes with a growing set of validation tests that compare the output of Riposte to standard R. Run `make tests` to run all the tests (R must be installed). No output indicates all tests passed. Run `make tests/path/to/test` to execute a single test and print its diff.

About

a fast interpreter and JIT for R

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages