ONE - On-device Neural Engine
Loading...
Searching...
No Matches
onert::backend::trix::ops::BulkPipelineLayer Class Reference

#include <BulkPipelineLayer.h>

Collaboration diagram for onert::backend::trix::ops::BulkPipelineLayer:

Public Member Functions

 BulkPipelineLayer ()
 
 ~BulkPipelineLayer () override
 
void configure (const std::vector< const IPortableTensor * > &inputs, std::vector< IPortableTensor * > &outputs, const std::vector< std::string > &binary_path)
 
void run () override
 
void prepare () override
 
- Public Member Functions inherited from onert::exec::IFunction
virtual ~IFunction ()=default
 

Detailed Description

Definition at line 28 of file BulkPipelineLayer.h.

Constructor & Destructor Documentation

◆ BulkPipelineLayer()

onert::backend::trix::ops::BulkPipelineLayer::BulkPipelineLayer ( )

Definition at line 25 of file BulkPipelineLayer.cc.

25 : _inputs(), _outputs()
26{
27 // DO NOTHING
28}

◆ ~BulkPipelineLayer()

onert::backend::trix::ops::BulkPipelineLayer::~BulkPipelineLayer ( )
override

Definition at line 30 of file BulkPipelineLayer.cc.

31{
32 // DO NOTHING - _pipeline_manager will be automatically cleaned up by unique_ptr
33}

Member Function Documentation

◆ configure()

void onert::backend::trix::ops::BulkPipelineLayer::configure ( const std::vector< const IPortableTensor * > &  inputs,
std::vector< IPortableTensor * > &  outputs,
const std::vector< std::string > &  binary_path 
)

Definition at line 35 of file BulkPipelineLayer.cc.

38{
39 _inputs = inputs;
40 _outputs = outputs;
41
42 // Configure BulkPipeLineManager
43 BulkPipelineManager::PipelineConfig config;
44 config.model_paths = binary_path;
45 config.device_id = 0; // default device id = 0
46 config.n_owner_models = 2; // Use 2 owner models for buffer sharing
47 config.n_inputs = inputs.size();
48 config.n_outputs = outputs.size();
49
50 _pipeline_manager = std::make_unique<BulkPipelineManager>(config);
51
52 if (!_pipeline_manager->initialize())
53 {
54 throw std::runtime_error("Failed to initialize BulkPipelineManager");
55 }
56}

◆ prepare()

void onert::backend::trix::ops::BulkPipelineLayer::prepare ( )
overridevirtual

Reimplemented from onert::exec::IFunction.

Definition at line 72 of file BulkPipelineLayer.cc.

73{
74 // DO NOTHING
75}

◆ run()

void onert::backend::trix::ops::BulkPipelineLayer::run ( )
overridevirtual

Implements onert::exec::IFunction.

Definition at line 58 of file BulkPipelineLayer.cc.

59{
60 try
61 {
62 _pipeline_manager->execute(_inputs, _outputs);
63 }
64 catch (const std::exception &e)
65 {
66 _pipeline_manager->shutdown();
67 std::cerr << "BulkPipelineLayer execution failed: " << e.what() << std::endl;
68 throw;
69 }
70}

The documentation for this class was generated from the following files: