-
Notifications
You must be signed in to change notification settings - Fork 16
Installation
Jon Drobny edited this page Oct 21, 2020
·
42 revisions
Without optional features, rustBCA should compile with one command using rustup/cargo on Windows, MacOS, and Linux systems. HDF5 and rcpr
, the Adaptive Chebyshev Proxy Rootfinder with Automatic Subdivision and Polynomial Rootfinder package, work on Linux with some dependencies, listed below. HDF5 has been tested on Windows, but HDF5 1.10.6 must be used. rcpr
has not yet been successfully compiled on Windows. However, it can be compiled on Windows Subsystem for Linux (WSL) and likely on Ubuntu for Windows or Cygwin.
Manual Dependences:
- rustup, the Rust toolchain (includes cargo, the Rust package manager, rustc, the Rust compiler, and more).
Automatic Dependencies:
- see Cargo.toml for a complete list
Optional Dependencies:
- HDF5 libraries
-
rcpr
: https://github.com/drobnyjt/rcpr the CPR and polynomial rootfinder, required for using attractive-repulsive interaction potentials such as Lennard-Jones or Morse, may require the following to be installed, depending on the system:- gcc
- build-essential
- cmake
- gfortran
- liblapack-dev
- libblas-dev
- liblapacke-dev
- Python 3.6+
- Numpy, Matplotlib, toml, Shapely, scipy
Ubuntu 18.04 LTS:
- Optional: install Python 3.6+ (this comes natively in Ubuntu 18.04)
- Install curl,
apt-get install curl
- Install rustup, the Rust toolchain (includes rustc, the compiler, and cargo, the package manager) from https://rustup.rs/
- Optional: Install pip for Python-3,
apt-get install python3-pip
- Optional: Install Python libraries for making input files,
python3 -m pip install numpy matplotlib shapely scipy
- Optional: Install Python toml library from source:
git clone https://github.com/uiri/toml.git
cd toml
python3 setup.py install
- Install Cargo,
apt install cargo
- Build RustBCA
git clone https://github.com/lcpp-org/rustBCA
cd rustBCA
cargo build --release
- Optional: Build RustBCA with optional dependencies, hdf5 and/or rcpr (with your choice of backed: openblas, netlib, or intel-mkl):
cargo build --release --features cpr_rootfinder_netlib,hdf5_input
cargo build --release --features cpr_rootfinder_openblas,hdf5_input
cargo build --release --features cpr_rootfinder_intel_mkl,hdf5_input
- input.toml is the input file -- see Usage for more information
-
cargo test
will run all required tests - Optional:
cargo test --features cpr_rootfinder_*
will run all required and optional tests for desired backend *