nndeploy C++ API  0.2.0
nndeploy C++ API
Classes | Functions
nndeploy::device Namespace Reference

Classes

class  Architecture
 设备架构类 More...
 
class  Buffer
 
struct  BufferDesc
 TensorDesc. More...
 
class  Device
 设备抽象基类 More...
 
struct  DeviceInfo
 设备信息结构体 More...
 
class  Event
 事件类 More...
 
class  MemoryPool
 
class  Stream
 流类 More...
 
class  Tensor
 Tensor类 More...
 
class  TensorCreator
 
struct  TensorDesc
 TensorDesc. More...
 
class  TypeArchitectureRegister
 类型架构注册器模板类 More...
 
class  TypeTensorCreator
 
class  TypeTensorRegister
 

Functions

base::Status checkDevice (base::DeviceType device_type, std::string library_path)
 检查设备是否可用 More...
 
EventcreateEvent (base::DeviceType device_type)
 创建指定类型的事件 More...
 
base::Status createEvents (base::DeviceType device_type, Event **events, size_t count)
 批量创建事件 More...
 
StreamcreateStream (base::DeviceType device_type)
 创建指定类型的流 More...
 
StreamcreateStream (base::DeviceType device_type, void *stream)
 从现有流创建流对象 More...
 
TensorcreateTensor (base::TensorType type)
 
base::Status destoryArchitecture ()
 销毁架构 More...
 
base::Status destoryArchitecture (base::DeviceTypeCode device_type_code)
 销毁指定类型的架构 More...
 
base::Status destroyEvent (Event *event)
 销毁事件 More...
 
base::Status destroyEvents (base::DeviceType device_type, Event **events, size_t count)
 批量销毁事件 More...
 
base::Status destroyStream (Stream *stream)
 销毁流 More...
 
base::Status disableDevice ()
 禁用设备 More...
 
base::Status enableDevice (base::DeviceType device_type, std::string library_path)
 启用设备 More...
 
ArchitecturegetArchitecture (base::DeviceTypeCode type)
 获取指定类型的架构 More...
 
std::map< base::DeviceTypeCode, std::shared_ptr< Architecture > > & getArchitectureMap ()
 获取架构映射表 More...
 
std::shared_ptr< ArchitecturegetArchitectureSharedPtr (base::DeviceTypeCode type)
 获取指定类型架构的共享指针 More...
 
DevicegetDefaultHostDevice ()
 获取默认主机设备 More...
 
base::DeviceType getDefaultHostDeviceType ()
 获取默认主机设备类型 More...
 
DevicegetDevice (base::DeviceType device_type)
 获取指定类型的设备 More...
 
std::vector< DeviceInfogetDeviceInfo (base::DeviceTypeCode type, std::string library_path)
 获取设备信息 More...
 
std::map< base::TensorType, std::shared_ptr< TensorCreator > > & getGlobalTensorCreatorMap ()
 
template<typename T >
base::Status insertStream (int &index, std::map< int, T > &stream_map, const T &stream)
 
bool isHostDeviceType (base::DeviceType device_type)
 判断是否为主机设备类型 More...
 
template<typename T >
base::Status randnTensor (T &generator, float mean, float std, Tensor *tensor, int64_t seed=-1)
 
template<typename T >
int updateStreamIndex (std::map< int, T > &stream_map)
 

Function Documentation

◆ checkDevice()

base::Status nndeploy::device::checkDevice ( base::DeviceType  device_type,
std::string  library_path 
)

检查设备是否可用

Parameters
device_type设备类型
library_path库文件路径
Returns
base::Status 检查结果状态

◆ createEvent()

Event* nndeploy::device::createEvent ( base::DeviceType  device_type)

创建指定类型的事件

Parameters
device_type设备类型
Returns
Event* 事件指针

◆ createEvents()

base::Status nndeploy::device::createEvents ( base::DeviceType  device_type,
Event **  events,
size_t  count 
)

批量创建事件

Parameters
device_type设备类型
events事件指针数组
count事件数量
Returns
base::Status 创建结果状态

◆ createStream() [1/2]

Stream* nndeploy::device::createStream ( base::DeviceType  device_type)

创建指定类型的流

Parameters
device_type设备类型
Returns
Stream* 流指针

◆ createStream() [2/2]

Stream* nndeploy::device::createStream ( base::DeviceType  device_type,
void *  stream 
)

从现有流创建流对象

Parameters
device_type设备类型
stream原生流指针
Returns
Stream* 流指针

◆ createTensor()

Tensor* nndeploy::device::createTensor ( base::TensorType  type)

◆ destoryArchitecture() [1/2]

base::Status nndeploy::device::destoryArchitecture ( )

销毁架构

Returns
base::Status 销毁结果状态

◆ destoryArchitecture() [2/2]

base::Status nndeploy::device::destoryArchitecture ( base::DeviceTypeCode  device_type_code)

销毁指定类型的架构

Parameters
device_type_code设备类型代码
Returns
base::Status 销毁结果状态

◆ destroyEvent()

base::Status nndeploy::device::destroyEvent ( Event event)

销毁事件

Parameters
event要销毁的事件
Returns
base::Status 销毁结果状态

◆ destroyEvents()

base::Status nndeploy::device::destroyEvents ( base::DeviceType  device_type,
Event **  events,
size_t  count 
)

批量销毁事件

Parameters
device_type设备类型
events事件指针数组
count事件数量
Returns
base::Status 销毁结果状态

◆ destroyStream()

base::Status nndeploy::device::destroyStream ( Stream stream)

销毁流

Parameters
stream要销毁的流
Returns
base::Status 销毁结果状态

◆ disableDevice()

base::Status nndeploy::device::disableDevice ( )

禁用设备

Returns
base::Status 禁用结果状态

◆ enableDevice()

base::Status nndeploy::device::enableDevice ( base::DeviceType  device_type,
std::string  library_path 
)

启用设备

Parameters
device_type设备类型
library_path库文件路径
Returns
base::Status 启用结果状态

◆ getArchitecture()

Architecture* nndeploy::device::getArchitecture ( base::DeviceTypeCode  type)

获取指定类型的架构

Parameters
type设备类型代码
Returns
Architecture* 架构指针

◆ getArchitectureMap()

std::map<base::DeviceTypeCode, std::shared_ptr<Architecture> >& nndeploy::device::getArchitectureMap ( )

获取架构映射表

Returns
std::map<base::DeviceTypeCode, std::shared_ptr<Architecture>>& 架构映射表的引用

◆ getArchitectureSharedPtr()

std::shared_ptr<Architecture> nndeploy::device::getArchitectureSharedPtr ( base::DeviceTypeCode  type)

获取指定类型架构的共享指针

Parameters
type设备类型代码
Returns
std::shared_ptr<Architecture> 架构共享指针

◆ getDefaultHostDevice()

Device* nndeploy::device::getDefaultHostDevice ( )

获取默认主机设备

Returns
Device* 默认主机设备指针

◆ getDefaultHostDeviceType()

base::DeviceType nndeploy::device::getDefaultHostDeviceType ( )

获取默认主机设备类型

Returns
base::DeviceType 默认主机设备类型

◆ getDevice()

Device* nndeploy::device::getDevice ( base::DeviceType  device_type)

获取指定类型的设备

Parameters
device_type设备类型
Returns
Device* 设备指针

◆ getDeviceInfo()

std::vector<DeviceInfo> nndeploy::device::getDeviceInfo ( base::DeviceTypeCode  type,
std::string  library_path 
)

获取设备信息

Parameters
type设备类型代码
library_path库文件路径
Returns
std::vector<DeviceInfo> 设备信息列表

◆ getGlobalTensorCreatorMap()

std::map<base::TensorType, std::shared_ptr<TensorCreator> >& nndeploy::device::getGlobalTensorCreatorMap ( )

◆ insertStream()

template<typename T >
base::Status nndeploy::device::insertStream ( int &  index,
std::map< int, T > &  stream_map,
const T &  stream 
)

Definition at line 8 of file util.h.

◆ isHostDeviceType()

bool nndeploy::device::isHostDeviceType ( base::DeviceType  device_type)

判断是否为主机设备类型

Parameters
device_type设备类型
Returns
bool 是主机设备类型返回true,否则返回false

◆ randnTensor()

template<typename T >
base::Status nndeploy::device::randnTensor ( T &  generator,
float  mean,
float  std,
Tensor tensor,
int64_t  seed = -1 
)

Definition at line 262 of file tensor.h.

Here is the call graph for this function:

◆ updateStreamIndex()

template<typename T >
int nndeploy::device::updateStreamIndex ( std::map< int, T > &  stream_map)

Definition at line 22 of file util.h.