Skip to content

Install

hendrx edited this page Nov 10, 2017 · 8 revisions

Installation

The AllScale runtime uses CMake as underlying build tool, being familiar with the basic usage CMake is recommended.

Requirements

The AllScale Runtime requires C++14 features, if you use GCC you need GCC >= 4.9 (GCC 6.2.0 and Clang are used for development and testing). CMake 3.5 (or later) is required for the build and testing process of the Runtime.

The AllScale runtime is built on HPX. In order to build HPX as the necessary requirement, please refer to either.

HPX Wiki: https://github.com/STEllAR-GROUP/hpx/wiki/HPX-Resource-Guide

HPX Documentation: https://stellar-group.github.io/hpx/docs/html/hpx.html


The AllScale runtime is using the AllScale API as well, please refer to it's wiki:

https://github.com/allscale/allscale_api/wiki

Getting the Source

Fork the AllScale Runtime source on GitHub, or clone/download the sources.

git clone git@github.com:allscale/allscale_sdk.git name-of-your-repo
git remote set-url origin url-to-your-remote-repo

Optionally add the SDK as a remote to receive future updates

git remote add SDK git@github.com:allscale/allscale_sdk.git

Running the Setup

The SDK comes with a setup utility that performs the initial setup of the CMake infrastructure.

cd name-of-your-repo
scripts/setup/run project-name

Afterwards, the following example source files have been generated

./code/app/include/project-name/app/answer.h  # <- header
./code/app/src/answer.cpp                     # <- source
./code/app/src/project-name.cxx               # <- executable source
./code/app/test/answer_test.cc                # <- unit test source

along with a few CMake files for building and testing.

Building and Testing

To test whether the environment is set up properly, build everything and run the tests

mkdir build
cd build
cmake ../code
make -j4
ctest -j4

Optionally change the compiler for cmake if necessary. Note: When changing compilers or compiler flags, we recommend clearing the build directory completely before rebuilding.

CXX="g++-6" CC="gcc-6" cmake ../code

The build directory structure resembles the source directory structure.

build/app/project-name               # <- executable
build/app/ut_answer_test             # <- unit test

Build instructions for AllScale Runtime (MacOS, Linux)

Once HPX has been built, you need to checkout the current master of the AllScale runtime:

git clone https://github.com/allscale/allscale_runtime.git

Then, create a build directory

cd allscale_runtime

mkdir build

cd build

Let CMAKE handle configuration of the build:

Clone this wiki locally