BEAGLE  3.1.2
An Application Programming Interface and High-Performance Computing Library for Statistical Phylogenetics
beagle.h
Go to the documentation of this file.
1 
108 #ifndef __beagle__
109 #define __beagle__
110 
111 #include "libhmsbeagle/platform.h"
112 
132 };
133 
184 };
185 
186 
199 };
200 
212 };
213 
217 typedef struct {
219  char* resourceName;
221  char* implName;
224  long flags;
227 
231 typedef struct {
232  char* name;
233  char* description;
237 
241 typedef struct {
243  int length;
245 
249 typedef struct {
250  int number;
251  char* name;
252  char* description;
256  char* implName;
263 
267 typedef struct {
269  int length;
271 
272 
273 /* using C calling conventions so that C programs can successfully link the beagle library
274  * (brace is closed at the end of this file)
275  */
276 #ifdef __cplusplus
277 extern "C" {
278 #endif
279 
287 BEAGLE_DLLEXPORT const char* beagleGetVersion(void);
288 
297 BEAGLE_DLLEXPORT const char* beagleGetCitation(void);
298 
307 BEAGLE_DLLEXPORT BeagleResourceList* beagleGetResourceList(void);
308 
341  int compactBufferCount,
342  int stateCount,
343  int patternCount,
344  int categoryCount,
345  int* resourceList,
346  int resourceCount,
347  long preferenceFlags,
348  long requirementFlags,
349  int eigenModelCount,
350  int partitionCount,
351  int calculateDerivatives,
352  long benchmarkFlags);
353 
383 // TODO: if setting your own matrices, might not need eigen buffers allocated, but still need
384 // category weight and state frequency buffers
385 BEAGLE_DLLEXPORT int beagleCreateInstance(int tipCount,
386  int partialsBufferCount,
387  int compactBufferCount,
388  int stateCount,
389  int patternCount,
390  int eigenBufferCount,
391  int matrixBufferCount,
392  int categoryCount,
393  int scaleBufferCount,
394  int* resourceList,
395  int resourceCount,
396  long preferenceFlags,
397  long requirementFlags,
398  BeagleInstanceDetails* returnInfo);
399 
409 BEAGLE_DLLEXPORT int beagleFinalizeInstance(int instance);
410 
419 BEAGLE_DLLEXPORT int beagleFinalize(void);
420 
436 BEAGLE_DLLEXPORT int beagleSetCPUThreadCount(int instance,
437  int threadCount);
438 
453 BEAGLE_DLLEXPORT int beagleSetTipStates(int instance,
454  int tipIndex,
455  const int* inStates);
456 
471 BEAGLE_DLLEXPORT int beagleSetTipPartials(int instance,
472  int tipIndex,
473  const double* inPartials);
474 
487 BEAGLE_DLLEXPORT int beagleSetPartials(int instance,
488  int bufferIndex,
489  const double* inPartials);
490 
504 BEAGLE_DLLEXPORT int beagleGetPartials(int instance,
505  int bufferIndex,
506  int scaleIndex,
507  double* outPartials);
508 
523 BEAGLE_DLLEXPORT int beagleSetEigenDecomposition(int instance,
524  int eigenIndex,
525  const double* inEigenVectors,
526  const double* inInverseEigenVectors,
527  const double* inEigenValues);
528 
540 BEAGLE_DLLEXPORT int beagleSetStateFrequencies(int instance,
541  int stateFrequenciesIndex,
542  const double* inStateFrequencies);
543 
555 BEAGLE_DLLEXPORT int beagleSetCategoryWeights(int instance,
556  int categoryWeightsIndex,
557  const double* inCategoryWeights);
558 
569 BEAGLE_DLLEXPORT int beagleSetCategoryRates(int instance,
570  const double* inCategoryRates);
571 
583 BEAGLE_DLLEXPORT int beagleSetCategoryRatesWithIndex(int instance,
584  int categoryRatesIndex,
585  const double* inCategoryRates);
586 
597 BEAGLE_DLLEXPORT int beagleSetPatternWeights(int instance,
598  const double* inPatternWeights);
599 
612 BEAGLE_DLLEXPORT int beagleSetPatternPartitions(int instance,
613  int partitionCount,
614  const int* inPatternPartitions);
615 
628 // BEAGLE_DLLEXPORT int beagleSetPartitionsByPatternWeights(int instance,
629 // const int** inPartitionPatternWeights,
630 // int partitionCount);
631 
633 //---TODO: Epoch model---//
635 
650 BEAGLE_DLLEXPORT int beagleConvolveTransitionMatrices(int instance,
651  const int* firstIndices,
652  const int* secondIndices,
653  const int* resultIndices,
654  int matrixCount);
655 
675 BEAGLE_DLLEXPORT int beagleUpdateTransitionMatrices(int instance,
676  int eigenIndex,
677  const int* probabilityIndices,
678  const int* firstDerivativeIndices,
679  const int* secondDerivativeIndices,
680  const double* edgeLengths,
681  int count);
682 
703 BEAGLE_DLLEXPORT int beagleUpdateTransitionMatricesWithMultipleModels(int instance,
704  const int* eigenIndices,
705  const int* categoryRateIndices,
706  const int* probabilityIndices,
707  const int* firstDerivativeIndices,
708  const int* secondDerivativeIndices,
709  const double* edgeLengths,
710  int count);
711 
727 BEAGLE_DLLEXPORT int beagleSetTransitionMatrix(int instance,
728  int matrixIndex,
729  const double* inMatrix,
730  double paddedValue);
731 
745 BEAGLE_DLLEXPORT int beagleGetTransitionMatrix(int instance,
746  int matrixIndex,
747  double* outMatrix);
748 
765 BEAGLE_DLLEXPORT int beagleSetTransitionMatrices(int instance,
766  const int* matrixIndices,
767  const double* inMatrices,
768  const double* paddedValues,
769  int count);
770 
771 
775 typedef struct {
784 
799 BEAGLE_DLLEXPORT int beagleUpdatePartials(const int instance,
800  const BeagleOperation* operations,
801  int operationCount,
802  int cumulativeScaleIndex);
803 
807 typedef struct {
815  int partition;
818 
832 BEAGLE_DLLEXPORT int beagleUpdatePartialsByPartition(const int instance,
833  const BeagleOperationByPartition* operations,
834  int operationCount);
835 
852 BEAGLE_DLLEXPORT int beagleWaitForPartials(const int instance,
853  const int* destinationPartials,
854  int destinationPartialsCount);
855 
867 BEAGLE_DLLEXPORT int beagleAccumulateScaleFactors(int instance,
868  const int* scaleIndices,
869  int count,
870  int cumulativeScaleIndex);
871 
884 BEAGLE_DLLEXPORT int beagleAccumulateScaleFactorsByPartition(int instance,
885  const int* scaleIndices,
886  int count,
887  int cumulativeScaleIndex,
888  int partitionIndex);
889 
901 BEAGLE_DLLEXPORT int beagleRemoveScaleFactors(int instance,
902  const int* scaleIndices,
903  int count,
904  int cumulativeScaleIndex);
905 
906 
920 BEAGLE_DLLEXPORT int beagleRemoveScaleFactorsByPartition(int instance,
921  const int* scaleIndices,
922  int count,
923  int cumulativeScaleIndex,
924  int partitionIndex);
925 
926 
935 BEAGLE_DLLEXPORT int beagleResetScaleFactors(int instance,
936  int cumulativeScaleIndex);
937 
948 BEAGLE_DLLEXPORT int beagleResetScaleFactorsByPartition(int instance,
949  int cumulativeScaleIndex,
950  int partitionIndex);
951 
952 
962 BEAGLE_DLLEXPORT int beagleCopyScaleFactors(int instance,
963  int destScalingIndex,
964  int srcScalingIndex);
965 
975 BEAGLE_DLLEXPORT int beagleGetScaleFactors(int instance,
976  int srcScalingIndex,
977  double* outScaleFactors);
978 
1000 // TODO: only need one state frequency index
1001 BEAGLE_DLLEXPORT int beagleCalculateRootLogLikelihoods(int instance,
1002  const int* bufferIndices,
1003  const int* categoryWeightsIndices,
1004  const int* stateFrequenciesIndices,
1005  const int* cumulativeScaleIndices,
1006  int count,
1007  double* outSumLogLikelihood);
1008 
1035 BEAGLE_DLLEXPORT int beagleCalculateRootLogLikelihoodsByPartition(int instance,
1036  const int* bufferIndices,
1037  const int* categoryWeightsIndices,
1038  const int* stateFrequenciesIndices,
1039  const int* cumulativeScaleIndices,
1040  const int* partitionIndices,
1041  int partitionCount,
1042  int count,
1043  double* outSumLogLikelihoodByPartition,
1044  double* outSumLogLikelihood);
1045 
1073 BEAGLE_DLLEXPORT int beagleCalculateEdgeLogLikelihoods(int instance,
1074  const int* parentBufferIndices,
1075  const int* childBufferIndices,
1076  const int* probabilityIndices,
1077  const int* firstDerivativeIndices,
1078  const int* secondDerivativeIndices,
1079  const int* categoryWeightsIndices,
1080  const int* stateFrequenciesIndices,
1081  const int* cumulativeScaleIndices,
1082  int count,
1083  double* outSumLogLikelihood,
1084  double* outSumFirstDerivative,
1085  double* outSumSecondDerivative);
1086 
1123  int instance,
1124  const int* parentBufferIndices,
1125  const int* childBufferIndices,
1126  const int* probabilityIndices,
1127  const int* firstDerivativeIndices,
1128  const int* secondDerivativeIndices,
1129  const int* categoryWeightsIndices,
1130  const int* stateFrequenciesIndices,
1131  const int* cumulativeScaleIndices,
1132  const int* partitionIndices,
1133  int partitionCount,
1134  int count,
1135  double* outSumLogLikelihoodByPartition,
1136  double* outSumLogLikelihood,
1137  double* outSumFirstDerivativeByPartition,
1138  double* outSumFirstDerivative,
1139  double* outSumSecondDerivativeByPartition,
1140  double* outSumSecondDerivative);
1141 
1142 
1158 BEAGLE_DLLEXPORT int beagleGetLogLikelihood(int instance,
1159  double* outSumLogLikelihood);
1160 
1176 BEAGLE_DLLEXPORT int beagleGetDerivatives(int instance,
1177  double* outSumFirstDerivative,
1178  double* outSumSecondDerivative);
1179 
1191 BEAGLE_DLLEXPORT int beagleGetSiteLogLikelihoods(int instance,
1192  double* outLogLikelihoods);
1193 
1205 BEAGLE_DLLEXPORT int beagleGetSiteDerivatives(int instance,
1206  double* outFirstDerivatives,
1207  double* outSecondDerivatives);
1208 
1209 /* using C calling conventions so that C programs can successfully link the beagle library
1210  * (closing brace)
1211  */
1212 #ifdef __cplusplus
1213 }
1214 #endif
1215 
1216 #endif // __beagle__
BeagleOperationByPartition::destinationPartials
int destinationPartials
Definition: beagle.h:808
BeagleOperationByPartition::child1TransitionMatrix
int child1TransitionMatrix
Definition: beagle.h:812
BEAGLE_FLAG_PROCESSOR_FPGA
Definition: beagle.h:173
BEAGLE_FLAG_EIGEN_COMPLEX
Definition: beagle.h:150
beagleUpdateTransitionMatricesWithMultipleModels
BEAGLE_DLLEXPORT int beagleUpdateTransitionMatricesWithMultipleModels(int instance, const int *eigenIndices, const int *categoryRateIndices, const int *probabilityIndices, const int *firstDerivativeIndices, const int *secondDerivativeIndices, const double *edgeLengths, int count)
Calculate a list of transition probability matrices with multiple models.
BeagleOperationByPartition::child2TransitionMatrix
int child2TransitionMatrix
Definition: beagle.h:814
beagleSetCategoryRates
BEAGLE_DLLEXPORT int beagleSetCategoryRates(int instance, const double *inCategoryRates)
Set the default category rates buffer.
BEAGLE_ERROR_OUT_OF_MEMORY
Definition: beagle.h:123
BEAGLE_FLAG_SCALING_DYNAMIC
Definition: beagle.h:155
beagleSetEigenDecomposition
BEAGLE_DLLEXPORT int beagleSetEigenDecomposition(int instance, int eigenIndex, const double *inEigenVectors, const double *inInverseEigenVectors, const double *inEigenValues)
Set an eigen-decomposition buffer.
BEAGLE_FLAG_PARALLELOPS_STREAMS
Definition: beagle.h:182
BEAGLE_FLAG_FRAMEWORK_CPU
Definition: beagle.h:180
BeagleInstanceDetails::implDescription
char * implDescription
Definition: beagle.h:223
beagleSetPartials
BEAGLE_DLLEXPORT int beagleSetPartials(int instance, int bufferIndex, const double *inPartials)
Set an instance partials buffer.
beagleGetVersion
const BEAGLE_DLLEXPORT char * beagleGetVersion(void)
Get version.
BEAGLE_FLAG_PROCESSOR_CPU
Definition: beagle.h:171
BEAGLE_ERROR_UNINITIALIZED_INSTANCE
Definition: beagle.h:125
beagleRemoveScaleFactors
BEAGLE_DLLEXPORT int beagleRemoveScaleFactors(int instance, const int *scaleIndices, int count, int cumulativeScaleIndex)
Remove scale factors.
BEAGLE_FLAG_SCALING_AUTO
Definition: beagle.h:153
BeagleBenchmarkedResource
Description of a benchmarked hardware resource.
Definition: beagle.h:249
beagleResetScaleFactorsByPartition
BEAGLE_DLLEXPORT int beagleResetScaleFactorsByPartition(int instance, int cumulativeScaleIndex, int partitionIndex)
Reset scalefactors by partition.
BeagleBenchmarkedResourceList::list
BeagleBenchmarkedResource * list
Definition: beagle.h:268
BEAGLE_FLAG_THREADING_OPENMP
Definition: beagle.h:168
beagleSetTransitionMatrix
BEAGLE_DLLEXPORT int beagleSetTransitionMatrix(int instance, int matrixIndex, const double *inMatrix, double paddedValue)
Set a finite-time transition probability matrix.
beagleSetTipStates
BEAGLE_DLLEXPORT int beagleSetTipStates(int instance, int tipIndex, const int *inStates)
Set the compact state representation for tip node.
BeagleOperationByPartition::child2Partials
int child2Partials
Definition: beagle.h:813
BeagleFlags
BeagleFlags
Hardware and implementation capability flags.
Definition: beagle.h:142
BeagleOpCodes
BeagleOpCodes
Operation codes.
Definition: beagle.h:208
BeagleOperation::child2Partials
int child2Partials
Definition: beagle.h:781
BEAGLE_ERROR_OUT_OF_RANGE
Definition: beagle.h:127
BeagleBenchmarkedResource::requiredFlags
long requiredFlags
Definition: beagle.h:254
beagleGetDerivatives
BEAGLE_DLLEXPORT int beagleGetDerivatives(int instance, double *outSumFirstDerivative, double *outSumSecondDerivative)
Returns derivative sums subsequent to an asynchronous integration call.
BEAGLE_BENCHFLAG_SCALING_DYNAMIC
Definition: beagle.h:198
beagleGetPartials
BEAGLE_DLLEXPORT int beagleGetPartials(int instance, int bufferIndex, int scaleIndex, double *outPartials)
Get partials from an instance buffer.
BeagleOperationByPartition::partition
int partition
Definition: beagle.h:815
beagleSetPatternPartitions
BEAGLE_DLLEXPORT int beagleSetPatternPartitions(int instance, int partitionCount, const int *inPatternPartitions)
Set pattern partition assignments.
beagleAccumulateScaleFactors
BEAGLE_DLLEXPORT int beagleAccumulateScaleFactors(int instance, const int *scaleIndices, int count, int cumulativeScaleIndex)
Accumulate scale factors.
beagleGetTransitionMatrix
BEAGLE_DLLEXPORT int beagleGetTransitionMatrix(int instance, int matrixIndex, double *outMatrix)
Get a finite-time transition probability matrix.
BeagleOperation::child1Partials
int child1Partials
Definition: beagle.h:779
beagleGetCitation
const BEAGLE_DLLEXPORT char * beagleGetCitation(void)
Get citation.
beagleWaitForPartials
BEAGLE_DLLEXPORT int beagleWaitForPartials(const int instance, const int *destinationPartials, int destinationPartialsCount)
Block until all calculations that write to the specified partials have completed.
beagleGetBenchmarkedResourceList
BEAGLE_DLLEXPORT BeagleBenchmarkedResourceList * beagleGetBenchmarkedResourceList(int tipCount, int compactBufferCount, int stateCount, int patternCount, int categoryCount, int *resourceList, int resourceCount, long preferenceFlags, long requirementFlags, int eigenModelCount, int partitionCount, int calculateDerivatives, long benchmarkFlags)
Get a benchmarked list of hardware resources for the given analysis parameters.
BEAGLE_OP_NONE
Definition: beagle.h:211
BeagleBenchmarkFlags
BeagleBenchmarkFlags
Benchmarking mode flags for resource performance evaluation with beagleGetOrderedResourceList.
Definition: beagle.h:195
BEAGLE_FLAG_INVEVEC_TRANSPOSED
Definition: beagle.h:161
beagleCalculateRootLogLikelihoodsByPartition
BEAGLE_DLLEXPORT int beagleCalculateRootLogLikelihoodsByPartition(int instance, const int *bufferIndices, const int *categoryWeightsIndices, const int *stateFrequenciesIndices, const int *cumulativeScaleIndices, const int *partitionIndices, int partitionCount, int count, double *outSumLogLikelihoodByPartition, double *outSumLogLikelihood)
Calculate site log likelihoods at a root node with per partition buffers.
BeagleOperationByPartition
A list of integer indices which specify a partial likelihoods operation for a partitioned analysis.
Definition: beagle.h:807
BeagleBenchmarkedResourceList
Ordered list of benchmarked hardware resources, from fastest to slowest.
Definition: beagle.h:267
BeagleOperation::child1TransitionMatrix
int child1TransitionMatrix
Definition: beagle.h:780
beagleSetTransitionMatrices
BEAGLE_DLLEXPORT int beagleSetTransitionMatrices(int instance, const int *matrixIndices, const double *inMatrices, const double *paddedValues, int count)
Set multiple transition matrices.
BEAGLE_FLAG_SCALERS_LOG
Definition: beagle.h:158
beagleUpdatePartialsByPartition
BEAGLE_DLLEXPORT int beagleUpdatePartialsByPartition(const int instance, const BeagleOperationByPartition *operations, int operationCount)
Calculate or queue for calculation partials using a list of partition operations.
BEAGLE_FLAG_THREADING_NONE
Definition: beagle.h:169
BEAGLE_FLAG_PRECISION_SINGLE
Definition: beagle.h:143
BeagleBenchmarkedResource::name
char * name
Definition: beagle.h:251
BEAGLE_ERROR_GENERAL
Definition: beagle.h:122
BEAGLE_FLAG_PARALLELOPS_GRID
Definition: beagle.h:183
beagleGetSiteLogLikelihoods
BEAGLE_DLLEXPORT int beagleGetSiteLogLikelihoods(int instance, double *outLogLikelihoods)
Get site log likelihoods for last beagleCalculateRootLogLikelihoods or beagleCalculateEdgeLogLikeliho...
BEAGLE_ERROR_FLOATING_POINT
Definition: beagle.h:131
beagleCalculateEdgeLogLikelihoodsByPartition
BEAGLE_DLLEXPORT int beagleCalculateEdgeLogLikelihoodsByPartition(int instance, const int *parentBufferIndices, const int *childBufferIndices, const int *probabilityIndices, const int *firstDerivativeIndices, const int *secondDerivativeIndices, const int *categoryWeightsIndices, const int *stateFrequenciesIndices, const int *cumulativeScaleIndices, const int *partitionIndices, int partitionCount, int count, double *outSumLogLikelihoodByPartition, double *outSumLogLikelihood, double *outSumFirstDerivativeByPartition, double *outSumFirstDerivative, double *outSumSecondDerivativeByPartition, double *outSumSecondDerivative)
Calculate multiple site log likelihoods and derivatives along an edge with per partition buffers.
BEAGLE_SUCCESS
Definition: beagle.h:121
beagleSetCategoryRatesWithIndex
BEAGLE_DLLEXPORT int beagleSetCategoryRatesWithIndex(int instance, int categoryRatesIndex, const double *inCategoryRates)
Set a category rates buffer.
BEAGLE_FLAG_COMPUTATION_ASYNCH
Definition: beagle.h:147
beagleSetPatternWeights
BEAGLE_DLLEXPORT int beagleSetPatternWeights(int instance, const double *inPatternWeights)
Set pattern weights.
beagleSetStateFrequencies
BEAGLE_DLLEXPORT int beagleSetStateFrequencies(int instance, int stateFrequenciesIndex, const double *inStateFrequencies)
Set a state frequency buffer.
BEAGLE_ERROR_NO_RESOURCE
Definition: beagle.h:129
BEAGLE_FLAG_PROCESSOR_GPU
Definition: beagle.h:172
BeagleOperation::destinationPartials
int destinationPartials
Definition: beagle.h:776
BeagleBenchmarkedResource::implName
char * implName
Definition: beagle.h:256
BeagleOperation::destinationScaleWrite
int destinationScaleWrite
Definition: beagle.h:777
BeagleResource::description
char * description
Definition: beagle.h:233
beagleSetCategoryWeights
BEAGLE_DLLEXPORT int beagleSetCategoryWeights(int instance, int categoryWeightsIndex, const double *inCategoryWeights)
Set a category weights buffer.
beagleCopyScaleFactors
BEAGLE_DLLEXPORT int beagleCopyScaleFactors(int instance, int destScalingIndex, int srcScalingIndex)
Copy scale factors.
BEAGLE_ERROR_NO_IMPLEMENTATION
Definition: beagle.h:130
BEAGLE_FLAG_INVEVEC_STANDARD
Definition: beagle.h:160
beagleCalculateEdgeLogLikelihoods
BEAGLE_DLLEXPORT int beagleCalculateEdgeLogLikelihoods(int instance, const int *parentBufferIndices, const int *childBufferIndices, const int *probabilityIndices, const int *firstDerivativeIndices, const int *secondDerivativeIndices, const int *categoryWeightsIndices, const int *stateFrequenciesIndices, const int *cumulativeScaleIndices, int count, double *outSumLogLikelihood, double *outSumFirstDerivative, double *outSumSecondDerivative)
Calculate site log likelihoods and derivatives along an edge.
beagleGetLogLikelihood
BEAGLE_DLLEXPORT int beagleGetLogLikelihood(int instance, double *outSumLogLikelihood)
Returns log likelihood sum and subsequent to an asynchronous integration call.
beagleFinalize
BEAGLE_DLLEXPORT int beagleFinalize(void)
Finalize the library.
BeagleInstanceDetails::resourceName
char * resourceName
Definition: beagle.h:219
beagleAccumulateScaleFactorsByPartition
BEAGLE_DLLEXPORT int beagleAccumulateScaleFactorsByPartition(int instance, const int *scaleIndices, int count, int cumulativeScaleIndex, int partitionIndex)
Accumulate scale factors by partition.
BEAGLE_FLAG_SCALERS_RAW
Definition: beagle.h:157
BEAGLE_FLAG_PRECISION_DOUBLE
Definition: beagle.h:144
BEAGLE_FLAG_PROCESSOR_PHI
Definition: beagle.h:175
BeagleOperation::destinationScaleRead
int destinationScaleRead
Definition: beagle.h:778
BEAGLE_PARTITION_OP_COUNT
Definition: beagle.h:210
BeagleOperation::child2TransitionMatrix
int child2TransitionMatrix
Definition: beagle.h:782
BeagleResourceList
List of hardware resources.
Definition: beagle.h:241
BEAGLE_FLAG_PROCESSOR_OTHER
Definition: beagle.h:176
beagleFinalizeInstance
BEAGLE_DLLEXPORT int beagleFinalizeInstance(int instance)
Finalize this instance.
BeagleResourceList::length
int length
Definition: beagle.h:243
beagleCalculateRootLogLikelihoods
BEAGLE_DLLEXPORT int beagleCalculateRootLogLikelihoods(int instance, const int *bufferIndices, const int *categoryWeightsIndices, const int *stateFrequenciesIndices, const int *cumulativeScaleIndices, int count, double *outSumLogLikelihood)
Calculate site log likelihoods at a root node.
beagleUpdateTransitionMatrices
BEAGLE_DLLEXPORT int beagleUpdateTransitionMatrices(int instance, int eigenIndex, const int *probabilityIndices, const int *firstDerivativeIndices, const int *secondDerivativeIndices, const double *edgeLengths, int count)
Calculate a list of transition probability matrices.
beagleUpdatePartials
BEAGLE_DLLEXPORT int beagleUpdatePartials(const int instance, const BeagleOperation *operations, int operationCount, int cumulativeScaleIndex)
Calculate or queue for calculation partials using a list of operations.
BeagleBenchmarkedResource::returnCode
int returnCode
Definition: beagle.h:255
BeagleInstanceDetails::flags
long flags
Definition: beagle.h:224
beagleRemoveScaleFactorsByPartition
BEAGLE_DLLEXPORT int beagleRemoveScaleFactorsByPartition(int instance, const int *scaleIndices, int count, int cumulativeScaleIndex, int partitionIndex)
Remove scale factors by partition.
BeagleBenchmarkedResourceList::length
int length
Definition: beagle.h:269
BEAGLE_FLAG_FRAMEWORK_OPENCL
Definition: beagle.h:179
BEAGLE_FLAG_FRAMEWORK_CUDA
Definition: beagle.h:178
BeagleBenchmarkedResource::description
char * description
Definition: beagle.h:252
BEAGLE_FLAG_THREADING_CPP
Definition: beagle.h:167
BeagleBenchmarkedResource::benchedFlags
long benchedFlags
Definition: beagle.h:257
BeagleBenchmarkedResource::number
int number
Definition: beagle.h:250
BeagleOperation
A list of integer indices which specify a partial likelihoods operation.
Definition: beagle.h:775
BeagleBenchmarkedResource::performanceRatio
double performanceRatio
Definition: beagle.h:260
BEAGLE_OP_COUNT
Definition: beagle.h:209
BeagleOperationByPartition::cumulativeScaleIndex
int cumulativeScaleIndex
Definition: beagle.h:816
BEAGLE_ERROR_UNIDENTIFIED_EXCEPTION
Definition: beagle.h:124
BEAGLE_FLAG_SCALING_ALWAYS
Definition: beagle.h:154
beagleCreateInstance
BEAGLE_DLLEXPORT int beagleCreateInstance(int tipCount, int partialsBufferCount, int compactBufferCount, int stateCount, int patternCount, int eigenBufferCount, int matrixBufferCount, int categoryCount, int scaleBufferCount, int *resourceList, int resourceCount, long preferenceFlags, long requirementFlags, BeagleInstanceDetails *returnInfo)
Create a single instance.
BEAGLE_FLAG_SCALING_MANUAL
Definition: beagle.h:152
BEAGLE_FLAG_VECTOR_NONE
Definition: beagle.h:165
BEAGLE_FLAG_VECTOR_SSE
Definition: beagle.h:163
BeagleOperationByPartition::destinationScaleWrite
int destinationScaleWrite
Definition: beagle.h:809
BEAGLE_BENCHFLAG_SCALING_ALWAYS
Definition: beagle.h:197
BeagleInstanceDetails::implName
char * implName
Definition: beagle.h:221
beagleGetScaleFactors
BEAGLE_DLLEXPORT int beagleGetScaleFactors(int instance, int srcScalingIndex, double *outScaleFactors)
Get scale factors.
BEAGLE_FLAG_PROCESSOR_CELL
Definition: beagle.h:174
BeagleOperationByPartition::child1Partials
int child1Partials
Definition: beagle.h:811
beagleResetScaleFactors
BEAGLE_DLLEXPORT int beagleResetScaleFactors(int instance, int cumulativeScaleIndex)
Reset scalefactors.
BEAGLE_FLAG_VECTOR_AVX
Definition: beagle.h:164
BEAGLE_BENCHFLAG_SCALING_NONE
Definition: beagle.h:196
BEAGLE_FLAG_EIGEN_REAL
Definition: beagle.h:149
BeagleBenchmarkedResource::supportFlags
long supportFlags
Definition: beagle.h:253
BeagleOperationByPartition::destinationScaleRead
int destinationScaleRead
Definition: beagle.h:810
BeagleResource::requiredFlags
long requiredFlags
Definition: beagle.h:235
beagleGetResourceList
BEAGLE_DLLEXPORT BeagleResourceList * beagleGetResourceList(void)
Get list of hardware resources.
BeagleReturnCodes
BeagleReturnCodes
Error return codes.
Definition: beagle.h:120
BeagleInstanceDetails
Information about a specific instance.
Definition: beagle.h:217
BeagleResource::supportFlags
long supportFlags
Definition: beagle.h:234
BeagleResourceList::list
BeagleResource * list
Definition: beagle.h:242
BeagleResource
Description of a hardware resource.
Definition: beagle.h:231
BEAGLE_FLAG_COMPUTATION_SYNCH
Definition: beagle.h:146
BeagleResource::name
char * name
Definition: beagle.h:232
beagleGetSiteDerivatives
BEAGLE_DLLEXPORT int beagleGetSiteDerivatives(int instance, double *outFirstDerivatives, double *outSecondDerivatives)
Get site derivatives for last beagleCalculateEdgeLogLikelihoods call.
beagleConvolveTransitionMatrices
BEAGLE_DLLEXPORT int beagleConvolveTransitionMatrices(int instance, const int *firstIndices, const int *secondIndices, const int *resultIndices, int matrixCount)
Set partitions by pattern weight.
beagleSetCPUThreadCount
BEAGLE_DLLEXPORT int beagleSetCPUThreadCount(int instance, int threadCount)
Set number of threads for native CPU implementation.
BeagleInstanceDetails::resourceNumber
int resourceNumber
Definition: beagle.h:218
beagleSetTipPartials
BEAGLE_DLLEXPORT int beagleSetTipPartials(int instance, int tipIndex, const double *inPartials)
Set an instance partials buffer for tip node.
BeagleBenchmarkedResource::benchmarkResult
double benchmarkResult
Definition: beagle.h:259