EMEWS Queues - R implementation
EQ-R is a Swift/T (http://swift-lang.org/Swift-T/) extension that allows Swift/T workflows to communicate with a persistent embedded R interpreter on a worker process via blocking queues. Using the mechanism an R model exploration (ME) algorithm can be used to control and define an ensemble of model runs.
A queue for inter-thread communication.
The main functionality to enable EQ-R- thread and queue control
interfaces for access from Tcl and Swift.
The SWIG interface file for EQ-R.
Contains example compilier settings for compling EQ-R.
settings.mk at configure time. This can be
include by other Makefiles to obtain build settings, for
example, to compile task code that will be called from Swift.
- Install Spack
git clone https://github.com/spack/spack.git
- Set up Spack shell support, e.g., for bash
- Clone the EMEWS Spack repository
git clone https://github.com/emews/spack_emews
- Change directory into the repository
- Add the EMEWS Spack repository to your existing Spack repository or repositories
spack repo add .
- Install EQ/R
spack install eqr
This will install EQ/R along with any dependencies. (Look here for tips for using existing dependencies.) You will then need to point to the install location of EQ/R in your EMEWS workflow launch script. The location can be queried via:
spack location --install-dir eqr
For information on installing Swift/T for EMEWS, look here.
./bootstrap. This runs
autoconf and generates
./configure. You can use
./configure --help. Key
--prefix: EQ.R install location. This defaults to $PWD/.. for compatibility with EMEWS templates (https://github.com/emews/emews-lazybones-templates)
--with-tcl: Point to Tcl installation root (e.g., /usr)
--with-r: Point to R installation root (requires RInside and Rcpp packages)
You can do
make clean or
./configure halts with "checking whether the C++ compiler works... no"
To inspect what went went wrong, you will have to look in the generated config.log . Check that your compiler settings in settings.sh are correct, the library locations in particular.