-
Notifications
You must be signed in to change notification settings - Fork 10
jtalbot/riposte
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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 0
No packages published