# @author Marc A. Suchard
# @author Andrew Rambaut
# @author Daniel L. Ayres

1. General overview of BEAGLE

BEAGLE is a high-performance library that can perform the core calculations at the heart of most Bayesian
and Maximum Likelihood phylogenetics packages. It can make use of highly-parallel processors such as those
in graphics cards (GPUs) found in many PCs.

The project involves an open API and fast implementations of a library for evaluating phylogenetic
likelihoods (continuous time Markov processes) of biomolecular sequence evolution.

The aim is to provide high performance evaluation ‘services’ to a wide range of phylogenetic software,
both Bayesian samplers and Maximum Likelihood optimizers. This allows these packages to make use of
implementations that make use of optimized hardware such as graphics processing units.

2. Compilation instructions

Quick and dirty instructions on how to compile and install the BEAGLE library from the git repository `master`:

      $ git clone --depth=1 https://github.com/beagle-dev/beagle-lib.git
      $ cd beagle-lib
      $ mkdir build; cd build
      $ cmake ..
      $ make
      $ sudo make install

To build the installer package, then execute:

      $ cpack .

Remarks:

* Command-lines `cmake -DBUILD_CUDA=OFF ..`,  `cmake -DBUILD_OPENCL=OFF ..` and `cmake -DBUILD_JNI=OFF`
  turn off automatic building of the CUDA, OpenCL and Java JNI sub-libraries, respectively.

* When compiling in the MacOS Unix environment ("Terminal"), you need to install the CMake build toolset.  We
  suggest using the 'brew' package installer:

      $ brew install cmake

* Compiling and building the installer in a Windows environment requires VisualStudio 2019. From the
  x64 Native Tools Command Prompt for VS 2019:

      $ mkdir build; cd build
      $ cmake ..
      $ devenv BEAGLE.sln /build "Release"
      $ cpack .

3. Contact information

BEAGLE developer group: beagle-dev@googlegroups.com


