Skip to content

File ns_pmu_accumulator.c

FileList > apollo330 > ns_pmu_accumulator.c

Go to the source code of this file

  • #include "ns_pmu_utils.h"
  • #include "ns_pmu_map.h"
  • #include <string.h>
  • #include "ns_pmu_accumulator.h"

Classes

Type Name
struct acc_t
struct tag_map_t

Public Static Attributes

Type Name
acc_t g_acc = {0}

Public Functions

Type Name
bool ns_pmu_accm_complete (ns_pmu_accm_t h)
ns_pmu_accm_t ns_pmu_accm_create (uint16_t ops, uint16_t events, void * backing_buf)
void ns_pmu_accm_destroy (ns_pmu_accm_t h)
uint16_t ns_pmu_accm_find_tag (ns_pmu_accm_t h, const char * tag)
void ns_pmu_accm_get (ns_pmu_accm_t h, uint32_t ** matrix)
void ns_pmu_accm_get_layer (ns_pmu_accm_t h, uint16_t layer, uint32_t * out, uint16_t caller_capacity)
void ns_pmu_accm_inference_begin (ns_pmu_accm_t h)
void ns_pmu_accm_inference_end (ns_pmu_accm_t h)
void ns_pmu_accm_op_begin (ns_pmu_accm_t h, uint16_t op_idx)
void ns_pmu_accm_op_end (ns_pmu_accm_t h, uint16_t op_idx)
uint16_t ns_pmu_accm_resolve_tag (ns_pmu_accm_t h, const char * tag)
void ns_pmu_accmprint_matrix (ns_pmu_accm_t h, uint32_t * matrix, uint16_t ops, uint16_t events)

Public Static Functions

Type Name
void cfg_select_events (acc_t * a)
acc_t * handle_to_acc (ns_pmu_accm_t h)
uint16_t tag_lookup (acc_t * a, const char * tag, bool create_if_missing)

Macros

Type Name
define EVENTS_PER_RUN 4 /\* Apollo5B can sample four 32‑bit counters \*/

Public Static Attributes Documentation

variable g_acc

acc_t g_acc[NS_PMU_MAX_ACTIVE_MATRICES];

Public Functions Documentation

function ns_pmu_accm_complete

bool ns_pmu_accm_complete (
    ns_pmu_accm_t h
) 

function ns_pmu_accm_create

ns_pmu_accm_t ns_pmu_accm_create (
    uint16_t ops,
    uint16_t events,
    void * backing_buf
) 

function ns_pmu_accm_destroy

void ns_pmu_accm_destroy (
    ns_pmu_accm_t h
) 

function ns_pmu_accm_find_tag

uint16_t ns_pmu_accm_find_tag (
    ns_pmu_accm_t h,
    const char * tag
) 

function ns_pmu_accm_get

void ns_pmu_accm_get (
    ns_pmu_accm_t h,
    uint32_t ** matrix
) 

function ns_pmu_accm_get_layer

void ns_pmu_accm_get_layer (
    ns_pmu_accm_t h,
    uint16_t layer,
    uint32_t * out,
    uint16_t caller_capacity
) 

function ns_pmu_accm_inference_begin

void ns_pmu_accm_inference_begin (
    ns_pmu_accm_t h
) 

function ns_pmu_accm_inference_end

void ns_pmu_accm_inference_end (
    ns_pmu_accm_t h
) 

function ns_pmu_accm_op_begin

void ns_pmu_accm_op_begin (
    ns_pmu_accm_t h,
    uint16_t op_idx
) 

function ns_pmu_accm_op_end

void ns_pmu_accm_op_end (
    ns_pmu_accm_t h,
    uint16_t op_idx
) 

function ns_pmu_accm_resolve_tag

uint16_t ns_pmu_accm_resolve_tag (
    ns_pmu_accm_t h,
    const char * tag
) 

function ns_pmu_accmprint_matrix

void ns_pmu_accmprint_matrix (
    ns_pmu_accm_t h,
    uint32_t * matrix,
    uint16_t ops,
    uint16_t events
) 

Public Static Functions Documentation

function cfg_select_events

static void cfg_select_events (
    acc_t * a
) 

function handle_to_acc

static acc_t * handle_to_acc (
    ns_pmu_accm_t h
) 

function tag_lookup

static uint16_t tag_lookup (
    acc_t * a,
    const char * tag,
    bool create_if_missing
) 

Macro Definition Documentation

define EVENTS_PER_RUN

#define EVENTS_PER_RUN `4           /* Apollo5B can sample four 32‑bit counters */`


The documentation for this class was generated from the following file neuralspot/neuralspot/ns-utils/src/apollo330/ns_pmu_accumulator.c