ArmNN
 22.05
IRuntime::CreationOptions Struct Reference

#include <IRuntime.hpp>

Classes

struct  ExternalProfilingOptions
 

Public Member Functions

 CreationOptions ()
 

Public Attributes

std::shared_ptr< IGpuAccTunedParametersm_GpuAccTunedParameters
 If set, uses the GpuAcc tuned parameters from the given object when executing GPU workloads. More...
 
bool m_EnableGpuProfiling
 Setting this flag will allow the user to obtain GPU profiling information from the runtime. More...
 
std::string m_DynamicBackendsPath
 Setting this value will override the paths set by the DYNAMIC_BACKEND_PATHS compiler directive Only a single path is allowed for the override It defines the path to search for any dynamic backend libraries. More...
 
bool m_ProtectedMode
 Setting this flag will allow the user to create the Runtime in protected mode. More...
 
std::map< BackendId, std::shared_ptr< ICustomAllocator > > m_CustomAllocatorMap
 A map to define a custom memory allocator for specific backend Ids. More...
 
std::map< BackendId, std::shared_ptr< IMemoryOptimizerStrategy > > m_MemoryOptimizerStrategyMap
 A map to define a custom memory optimizer strategy for specific backend Ids. More...
 
ExternalProfilingOptions m_ProfilingOptions
 
std::vector< BackendOptionsm_BackendOptions
 Pass backend specific options. More...
 

Detailed Description

Constructor & Destructor Documentation

◆ CreationOptions()

CreationOptions ( )
inline

Definition at line 79 of file IRuntime.hpp.

80  : m_GpuAccTunedParameters(nullptr)
81  , m_EnableGpuProfiling(false)
83  , m_ProtectedMode(false)
86  {}
std::map< BackendId, std::shared_ptr< IMemoryOptimizerStrategy > > m_MemoryOptimizerStrategyMap
A map to define a custom memory optimizer strategy for specific backend Ids.
Definition: IRuntime.hpp:122
std::shared_ptr< IGpuAccTunedParameters > m_GpuAccTunedParameters
If set, uses the GpuAcc tuned parameters from the given object when executing GPU workloads...
Definition: IRuntime.hpp:90
std::map< BackendId, std::shared_ptr< ICustomAllocator > > m_CustomAllocatorMap
A map to define a custom memory allocator for specific backend Ids.
Definition: IRuntime.hpp:114
bool m_ProtectedMode
Setting this flag will allow the user to create the Runtime in protected mode.
Definition: IRuntime.hpp:105
std::string m_DynamicBackendsPath
Setting this value will override the paths set by the DYNAMIC_BACKEND_PATHS compiler directive Only a...
Definition: IRuntime.hpp:98
bool m_EnableGpuProfiling
Setting this flag will allow the user to obtain GPU profiling information from the runtime...
Definition: IRuntime.hpp:93

Member Data Documentation

◆ m_BackendOptions

std::vector<BackendOptions> m_BackendOptions

Pass backend specific options.

For example, to enable GpuAcc tuning add the following

m_BackendOption.emplace_back(
BackendOptions{"GpuAcc",
{
{"TuningLevel", 2},
{"TuningFile", filename}
{"MemoryOptimizerStrategy", strategyname}
}
});

Execute representative workloads through the runtime to generate tuning data. The tuning file is written once the runtime is destroyed To execute with the tuning data, start up with just the tuning file specified.

m_BackendOption.emplace_back(
BackendOptions{"GpuAcc",
{
{"TuningFile", filename}
}
});

The following backend options are available: AllBackends: "MemoryOptimizerStrategy" : string [stategynameString] (Existing Memory Optimizer Strategies: ConstantMemoryStrategy) GpuAcc: "TuningLevel" : int [0..3] (0=UseOnly(default) | 1=RapidTuning | 2=NormalTuning | 3=ExhaustiveTuning) "TuningFile" : string [filenameString] "KernelProfilingEnabled" : bool [true | false]

Definition at line 189 of file IRuntime.hpp.

Referenced by DelegateOptions::AddBackendOption(), ClBackendContext::ClBackendContext(), DelegateOptions::GetBackendOptions(), ProgramOptions::ParseOptions(), RuntimeImpl::RuntimeImpl(), and TEST_SUITE().

◆ m_CustomAllocatorMap

std::map<BackendId, std::shared_ptr<ICustomAllocator> > m_CustomAllocatorMap

A map to define a custom memory allocator for specific backend Ids.

A Custom Allocator is used for allocation of working memory in the backends. Set this if you need to take control of how memory is allocated on a backend. Required for Protected Mode in order to correctly allocate Protected Memory

Note
Only supported for GpuAcc
Examples:
CustomMemoryAllocatorSample.cpp.

Definition at line 114 of file IRuntime.hpp.

Referenced by RuntimeImpl::RuntimeImpl(), and TEST_SUITE().

◆ m_DynamicBackendsPath

std::string m_DynamicBackendsPath

Setting this value will override the paths set by the DYNAMIC_BACKEND_PATHS compiler directive Only a single path is allowed for the override It defines the path to search for any dynamic backend libraries.

Definition at line 98 of file IRuntime.hpp.

Referenced by DelegateOptions::GetDynamicBackendsPath(), InferenceModel< IParser, TDataType >::InferenceModel(), main(), ProgramOptions::ParseOptions(), ProgramOptions::ProgramOptions(), RuntimeImpl::RuntimeImpl(), RuntimeInvalidOverridePathTestImpl(), and DelegateOptions::SetDynamicBackendsPath().

◆ m_EnableGpuProfiling

bool m_EnableGpuProfiling

◆ m_GpuAccTunedParameters

std::shared_ptr<IGpuAccTunedParameters> m_GpuAccTunedParameters

If set, uses the GpuAcc tuned parameters from the given object when executing GPU workloads.

It will also be updated with new tuned parameters if it is configured to do so.

Definition at line 90 of file IRuntime.hpp.

Referenced by ClBackendContext::ClBackendContext().

◆ m_MemoryOptimizerStrategyMap

std::map<BackendId, std::shared_ptr<IMemoryOptimizerStrategy> > m_MemoryOptimizerStrategyMap

A map to define a custom memory optimizer strategy for specific backend Ids.

A Memory Optimizer Strategy provides a solution to an abstract representation of a network's memory requirements. This can also be used to return a pre-computed solution for a specific network. Set this if you want to implement a Custom Memory Optimizer Strategy for a given backend.

Definition at line 122 of file IRuntime.hpp.

Referenced by RuntimeImpl::RuntimeImpl(), and TEST_SUITE().

◆ m_ProfilingOptions

◆ m_ProtectedMode

bool m_ProtectedMode

Setting this flag will allow the user to create the Runtime in protected mode.

It will run all the inferences on protected memory and will make sure that INetworkProperties::m_ImportEnabled set to true with MemorySource::DmaBufProtected option This requires that the backend supports Protected Memory and has an allocator capable of allocating Protected Memory associated with it.

Definition at line 105 of file IRuntime.hpp.

Referenced by RuntimeImpl::RuntimeImpl().


The documentation for this struct was generated from the following file: