26 #ifndef NVNEURAL_PLUGINTYPES_H 
   27 #define NVNEURAL_PLUGINTYPES_H 
  120         virtual const 
LayerDesc* getLayerDesc(std::
size_t layerIndex) const noexcept = 0;
 
  126         virtual std::
size_t getFusingRuleCount() const noexcept = 0;
 
  134         virtual const 
FusingRule* getFusingRule(std::
size_t fusingRuleIndex) const noexcept = 0;
 
  157         virtual const 
ActivationDesc* getActivationDesc(std::
size_t activationIndex) const noexcept = 0;
 
  180         virtual const 
PrototypeDesc* getPrototypeDesc(std::
size_t prototypeIndex) const noexcept = 0;
 
  188         virtual PrototypeRuntimeValidatorFunction getPrototypeRuntimeValidator(std::
size_t prototypeIndex) const noexcept = 0;
 
  231         virtual std::
size_t pluginCount() const noexcept = 0;
 
  238         virtual 
IPlugin* getPluginByIndex(std::
size_t pluginIndex) const noexcept = 0;
 
  246         virtual 
NeuralResult getPluginPath(const 
IPlugin* pPlugin, const 
char** ppPluginPathOut) const noexcept = 0;
 
  251         virtual 
void allowIncompatiblePlugins() noexcept = 0;
 
Fundamental NvNeural data types are declared here.
 
NeuralResult
NeuralResult is a generic success/failure result type similar to COM HRESULT.
Definition: CoreTypes.h:275
 
NeuralResult(*)(IPlugin **ppPluginOut) noexcept NvNeuralCreatePluginV1_Func
Entry point used to create an IPlugin object.
Definition: PluginTypes.h:196
 
IActivationPlugin is an optional interface implemented by IPlugin objects that describes generic (non...
Definition: PluginTypes.h:140
 
virtual std::size_t getActivationDescCount() const noexcept=0
Returns the number of ActivationDesc objects accessible through this interface.
 
ILayerPlugin is an optional interface implemented by IPlugin objects that describes layers implemente...
Definition: PluginTypes.h:103
 
virtual std::size_t getLayerDescCount() const noexcept=0
Returns the number of LayerDesc objects accessible through this interface.
 
Logger interface class.
Definition: CoreTypes.h:414
 
IPlugin is the general factory interface used by NvNeural's plugin system.
Definition: PluginTypes.h:41
 
virtual NeuralResult createObject(IRefObject **ppOut, const char *pObjectClass) const noexcept=0
Creates the designated object using its manifest-specified class name.
 
virtual const char * pluginAuthor() const noexcept=0
Returns a pointer to a UTF-8-encoded author name.
 
static const IRefObject::TypeId typeID
Interface TypeId for InterfaceOf purposes.
Definition: PluginTypes.h:44
 
virtual const char * pluginVersion() const noexcept=0
Returns a pointer to a UTF-8-encoded version string.
 
virtual const char * pluginDescription() const noexcept=0
Returns a pointer to a UTF-8-encoded plugin description.
 
virtual const char * pluginName() const noexcept=0
Returns a pointer to a UTF-8-encoded plugin name.
 
virtual NeuralResult setDefaultLogger(ILogger *pLogger) noexcept=0
Sets the default logger for the plugin to the specified backend.
 
Platform-agnostic plugin loader interface.
Definition: PluginTypes.h:200
 
virtual NeuralResult releasePlugin(IPlugin *pPlugin) noexcept=0
Releases the internal reference to a given plugin object and frees the library.
 
virtual NeuralResult loadLibrary(const char *pFilename, IPlugin **ppPluginOut) noexcept=0
Loads a plugin from a specific shared library file.
 
virtual NeuralResult loadDirectory(const char *pPathname, std::uint32_t *pNumberLoadedOut) noexcept=0
Loads all compatible plugins from the provided directory.
 
virtual NeuralResult releaseAllPlugins() noexcept=0
Releases all plugins tracked by this object.
 
IPrototypePlugin is an optional interface implemented by IPlugin objects that describes generic proto...
Definition: PluginTypes.h:163
 
virtual std::size_t getPrototypeDescCount() const noexcept=0
Returns the number of PrototypeDesc objects accessible through this interface.
 
Base class for all objects, similar to COM's IUnknown.
Definition: CoreTypes.h:343
 
std::uint64_t TypeId
Every interface must define a unique TypeId. This should be randomized.
Definition: CoreTypes.h:349
 
Structure describing an activation function (IActivationFunction) for tool interfaces and network bui...
Definition: CoreTypes.h:1584
 
Defines a fusing rule that can be applied during model loading.
Definition: CoreTypes.h:1731
 
This structure describes an ILayer for tools and network builders.
Definition: CoreTypes.h:1504
 
This structure represent a prototype layer version (backend, tensor format and kernel type),...
Definition: CoreTypes.h:1647