Class BenchmarkIn

Inheritance Relationships

Base Types

Class Documentation

class BenchmarkIn : public dai::DeviceNodeCRTP<DeviceNode, BenchmarkIn, BenchmarkInProperties>, public dai::HostRunnable

Public Functions

void sendReportEveryNMessages(uint32_t n)

Specify how many messages to measure for each report

void setRunOnHost(bool runOnHost)

Specify whether to run on host or device By default, the node will run on device.

virtual bool runOnHost() const override

Check if the node is set to run on host

void logReportsAsWarnings(bool logReportsAsWarnings)

Log the reports as warnings

void measureIndividualLatencies(bool attachLatencies)

Attach latencies to the report

virtual void run() override
inline DeviceNodeCRTP()
inline DeviceNodeCRTP(const std::shared_ptr<Device> &device)
inline DeviceNodeCRTP(std::unique_ptr<Properties> props)
inline DeviceNodeCRTP(std::unique_ptr<Properties> props, bool confMode)
inline DeviceNodeCRTP(const std::shared_ptr<Device> &device, std::unique_ptr<Properties> props, bool confMode)

Public Members

Input input = {*this, {"input", DEFAULT_GROUP, false, 4, {{{DatatypeEnum::Buffer, true}}}, DEFAULT_WAIT_FOR_MESSAGE}}

Receive messages as fast as possible

Output passthrough = {*this, {"passthrough", DEFAULT_GROUP, {{{DatatypeEnum::Buffer, true}}}}}

Passthrough for input messages (so the node can be placed between other nodes)

Output report = {*this, {"report", DEFAULT_GROUP, {{{DatatypeEnum::BenchmarkReport, false}}}}}

Send a benchmark report when the set number of messages are received

Public Static Attributes

static constexpr const char *NAME = "BenchmarkIn"