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.
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 4This guide assumes you have a recent version of the Xcode command line tools and Homebrew. Install the following dependencies:
brew install cmake
brew install libompThen, 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 4If 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-devmacOS
brew install boost eigen fmt range-v3 zlibThen, 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