Skip to main content

Table 2 Descriptions of BEAGLE API implementation

From: Extending the BEAGLE library to a multi-FPGA platform

BEAGLE API call

Arrays initialized and coprocessor action

beagleSetEigenDecomposition beagleUpdateTransitionMatrix beagleGetTransitionMatrix

4x4 transition probability matrices for each node (initialize arrays tipL and tipR in Pseudocode 1)

beagleSetTipPartials

Copy an array of partials into an instance buffer (initialize arrays clL and clR in Pseudocode 1)

beagleSetStateFrequencies

Copy a state frequency array into an instance buffer (initialize array bs in Pseudocode 1)

beagleSetPatternWeights

Set the vector of pattern weights for an instance (initialize array numSites in Pseudocode 1)

beagleResetScaleFactor

Reset a cumulative scale buffer

beagleUpdatePartials

Calculate partials for all internal nodes (compute array clP in Pseudocode 1)

beagleCalculateRootLogLike

Calculate log-likelihood of root node. (compute arrays lnScaler and scP in Pseudocode 1, calculate lnL in Pseudocode 1)