Skip to content

Latest commit

 

History

History
92 lines (66 loc) · 2.38 KB

File metadata and controls

92 lines (66 loc) · 2.38 KB

Quickstart guide for users

Python bindings

If you want to use ASMC or FastSMC via their Python interface, you can simply install ASMC using pip:

pip install asmc-asmc

For examples, see the ASMC python documentation and FastSMC python documentation.

If you want to compile the C++ executables, read on.

Linux

This guide assumes you have a C++17 compatible compiler (e.g. gcc >= 8.3 or clang >= 7) and CMake >= 3.15. Then, follow these steps to build the ASMC, FastSMC and binary conversion executables:

# Get the source
git clone --recurse-submodules https://github.com/PalamaraLab/ASMC
cd ASMC

# Create a build directory
mkdir build && cd build

# Configure and build
# On first run, CMake will build the required dependencies
cmake -DASMC_NO_PYTHON=TRUE ..
cmake --build . --parallel 4

macOS

This guide assumes you have a recent version of the Xcode command line tools and Homebrew. Install the following dependencies:

brew install cmake
brew install libomp

Then, follow these steps to build the ASMC, FastSMC and binary conversion executables:

# Get the source
git clone --recurse-submodules https://github.com/PalamaraLab/ASMC
cd ASMC

# Create a build directory
mkdir build && cd build

# Configure and build
# On first run, CMake will build the required dependencies
cmake -DASMC_NO_PYTHON=TRUE ..
cmake --build . --parallel 4

Without vcpkg

If you would like to compile ASMC without using vcpkg to handle dependencies, you should first ensure all dependencies are installed:

Ubuntu

sudo apt install libboost-iostreams-dev libboost-math-dev libboost-program-options-dev libeigen3-dev libfmt-dev librange-v3-dev zlib1g-dev

macOS

brew install boost eigen fmt range-v3 zlib

Then, when you run CMake, add the following definition:

cmake -DASMC_AVOID_VCPKG=true ..

You may additionally choose to not recursively clone all submodules, as long as you still obtain the DataModule submodule. From the ASMC directory:

git clone https://github.com/PalamaraLab/ASMC
cd ASMC
git submodule update --init DataModule