18class CClusterStatsCollection;
22#ifndef MAX_BN_ERROR_STRING
23#define MAX_BN_ERROR_STRING 1000
91 void BackendRelease();
94 CSGXManager* m_SGXManager;
95 std::vector<CNanoBackend*> m_NanoBackends;
96 std::vector<bool> m_BackendInUse;
97 uint16_t m_NumKernels, m_KernelsPerDevice;
99 char m_ErrorBuffer[MAX_BN_ERROR_STRING];
125 void Reset(
bool BackendReset =
true);
135 bool Serialize(
const char* ArchivePath,
bool IsLoading);
148 bool Serialize(
const char* VarPath,
const char* ThisVarName,
struct archive* Archive,
bool IsLoading);
247 uint32_t
ClusterData(
float* PatternBuffer, uint32_t NumPatterns,
int* ResultBuffer, uint32_t StepCount,
CClusterStats* AdvancedAnalyticsBuffer =
nullptr);
265 void ClusterData(int16_t* PatternBuffer, uint32_t NumPatterns,
int* ResultBuffer,
CClusterStats* AdvancedAnalyticsBuffer =
nullptr);
281 uint32_t
ClusterData(int16_t* PatternBuffer, uint32_t NumPatterns,
int* ResultBuffer, uint32_t StepCount,
CClusterStats* AdvancedAnalyticsBuffer =
nullptr);
299 void ClusterData(uint16_t* PatternBuffer, uint32_t NumPatterns,
int* ResultBuffer,
CClusterStats* AdvancedAnalyticsBuffer =
nullptr);
315 uint32_t
ClusterData(uint16_t* PatternBuffer, uint32_t NumPatterns,
int* ResultBuffer, uint32_t StepCount,
CClusterStats* AdvancedAnalyticsBuffer =
nullptr);
327 uint16_t
ProbeClusterCount(uint16_t* PatternBuffer, uint32_t NumPatterns, uint32_t MaxClusters);
426 void GetPCA(
int ID, uint32_t& X, uint32_t& Y, uint32_t& Z);
587 bool GetRootCause(uint8_t* Pattern, uint32_t PatternSizeInElements,
float* RootCause);
608#ifdef BOON_DIAGNOSTIC
609#include "boondiagnostic.h"
614 CNanoBackend* m_NanoBackend;
615 bool m_IsNanoBackend;
617 CClusterStatsCollection* m_ClusterStatsCollection;
618 char m_ErrorMsg[MAX_BN_ERROR_STRING];
620 bool m_NanoClippingEnabled;
int ClusterData(int16_t *Pattern, CClusterStats *AdvancedAnalytics=nullptr)
Cluster int16 pattern.
bool GetGhostClusterEnabled() const
Whether or not new clusters can be created.
void GetPCA(int ID, uint32_t &X, uint32_t &Y, uint32_t &Z)
Get PCA representation of cluster.
uint64_t GetClusterSize(int ID) const
Get number of patterns in the cluster.
uint64_t GetNumOfPatternsClustered() const
Get number of patterns processed.
uint32_t ClusterData(float *PatternBuffer, uint32_t NumPatterns, int *ResultBuffer, uint32_t StepCount, CClusterStats *AdvancedAnalyticsBuffer=nullptr)
Cluster overlapping float patterns.
uint32_t GetProbabilityIndex(int ID)
Get cluster probability.
void SetMaxClusters(uint16_t MaxClusters)
Set the cluster count limit.
uint16_t ProbeClusterCount(float *PatternBuffer, uint32_t NumPatterns, uint32_t MaxClusters)
Get number of clusters for float data.
void ClusterData(int16_t *PatternBuffer, uint32_t NumPatterns, int *ResultBuffer, CClusterStats *AdvancedAnalyticsBuffer=nullptr)
Cluster int16 patterns.
bool Serialize(const char *ArchivePath, bool IsLoading)
Write/read object into/from a binary file.
void ClusterData(uint16_t *PatternBuffer, uint32_t NumPatterns, int *ResultBuffer, CClusterStats *AdvancedAnalyticsBuffer=nullptr)
Cluster uint16 patterns.
bool Setup(CNanoConfigParameters &NanoConfig)
Set configuration parameters for model clustering.
uint64_t GetInferenceCountWhenClusterWasCreated(int ID) const
Get the start index of the cluster.
uint16_t GetMaxClusters() const
Get maximum number of clusters allowed.
void SetGhostClusterEnabled(bool GhostClustersEnabled)
Enable/disable ghost cluster creation.
bool MaxClusterCountReached()
Determine if clusters were maxed out.
bool GetRootCause(int ID, float *RootCause)
Get root cause array from cluster.
void ClusterData(float *PatternBuffer, uint32_t NumPatterns, int *ResultBuffer, CClusterStats *AdvancedAnalyticsBuffer=nullptr)
Cluster float patterns.
bool Serialize(const char *VarPath, const char *ThisVarName, struct archive *Archive, bool IsLoading)
bool GetRootCause(uint8_t *Pattern, uint32_t PatternSizeInElements, float *RootCause)
Get root cause array from pattern.
bool InitComplete() const
Get backend initialization status.
bool GetNanoClippingDetection() const
Whether or not a new cluster can trigger on out of bounds.
int GetNearestNeighbor(int16_t *Pattern, float &Confidence)
Get closest cluster to the pattern (int16)
void SetLearningMode(bool LearningOn)
Enable/disable new cluster creation.
bool PruneClusterIDs(const uint32_t *IDArray, uint32_t NumIDs)
Remove cluster ID(s)
std::string GetStatusString(int CurrentIndent=0, int AdditionalIndent=4)
Print string of object variables.
int ClusterData(uint16_t *Pattern, CClusterStats *AdvancedAnalytics=nullptr)
Cluster uint16 pattern.
uint32_t GetFrequencyIndex(int ID)
Get cluster frequency.
uint16_t GetPatternLength()
Length of a pattern.
float GetPercentVariation() const
Get configured percent variation.
uint16_t GetStreamingWindowSize() const
Get configured streaming window size.
void SetNanoClippingDetection(bool ClippingOn)
Turn on/off value out of bounds anomalies.
float GetInterClusterDistance(int ID1, int ID2)
Get distance between two clusters.
uint32_t GetDistanceIndex(int ID)
Get the distance index for the cluster.
CBoonNano(CNanoBackend *NanoBackend=nullptr)
Initialize nano.
uint16_t GetNoveltyIndex(int ID)
Get novelty index for cluster.
bool GetLearningMode() const
Whether or not new clusters can be created.
void ResetClusters()
Resets the model's clusters.
int GetNearestNeighbor(float *Pattern, float &Confidence)
Get closest cluster to the pattern (float)
int ClusterData(float *Pattern, CClusterStats *AdvancedAnalytics=nullptr)
Cluster float pattern.
uint16_t ProbeClusterCount(uint16_t *PatternBuffer, uint32_t NumPatterns, uint32_t MaxClusters)
Get number of clusters for uint16 data.
uint32_t ClusterData(int16_t *PatternBuffer, uint32_t NumPatterns, int *ResultBuffer, uint32_t StepCount, CClusterStats *AdvancedAnalyticsBuffer=nullptr)
Cluster overlapping int16 patterns.
void Reset(bool BackendReset=true)
Clear object variables.
int GetNearestNeighbor(uint16_t *Pattern, float &Confidence)
Get closest cluster to the pattern (uint16)
uint16_t GetCurrentClusterCount() const
Get last error message.
int GetNearestNeighbor(int ID)
Get nearest cluster.
uint16_t ProbeClusterCount(int16_t *PatternBuffer, uint32_t NumPatterns, uint32_t MaxClusters)
Get number of clusters for int16 data.
uint32_t ClusterData(uint16_t *PatternBuffer, uint32_t NumPatterns, int *ResultBuffer, uint32_t StepCount, CClusterStats *AdvancedAnalyticsBuffer=nullptr)
Cluster overlapping uint16 patterns.
uint32_t GetAnomalyIndex(int ID)
Get anomaly index for cluster.
CNanoConfigParameters & GetNanoConfig()
Get configuration.
Main class of processing data.
Definition boonnano.h:110
CTypeConverter * m_TypeConverter
Object for managing data type and conversions.
Definition boonnano.h:606
Cluster specific statistics.
Definition clusterstats.h:17
std::string GetStatusString(int CurrentIndent=0, int AdditionalIndent=4)
Print string of object.
uint16_t GetNBKernels()
Get the number of backends allocated.
void GetErrorMessage(char *Message)
Get last error message.
bool InitBackend(uint16_t NBKernels=1)
Create number of backends.
CNanoBackend * GetBackendPointer(uint16_t KernelIndex=0)
Get reference to indexed backend.
void ReleaseBackendPointer(uint16_t KernelIndex)
Free backend from memory.
int GetNextAvailableBackendIndex()
Get next unused backend.
Simple class to create and provide nano back ends.
Definition boonnano.h:30
Main object for configuration.
Definition boonconfig.h:86