Skip to content

v0.4.0

Choose a tag to compare

@minamikik minamikik released this 11 Oct 23:24
· 12 commits to main since this release

Changes

  • tensoracle::cubin::PluginBase accepts a PluginIO declaration as its fourth constructor argument. PluginIO::inputs lists one TensorSpec (TensorRT type and format) per input in network order, PluginIO::output declares the single output's type and format, and shape_input_index selects the input whose shape the output copies. The base class uses the declaration for format negotiation, output types and shapes, and the count, type, and format checks during configuration and shape changes. A plugin can now declare, for example, two fp16 / HWC8 inputs and one fp16 / HWC8 output.
  • Omitting the declaration keeps the previous behavior: one fp32 / LINEAR input and output, with the output shaped like input 0. The three-argument constructor call remains valid.
  • Source change for derived plugins: validate_shape now receives every input's dimensions: validate_shape(nvinfer1::Dims const* inputs, std::int32_t input_count, nvinfer1::Dims const& output) const noexcept. Plugins that override the previous validate_shape(input, output) must update the signature.
  • For configurations the declaration cannot express, such as multiple outputs or computed output shapes, developers can override the virtual V3 methods in a derived class or ask tensoracle's maintainers to extend the declaration.
  • The documentation explains how graph_version covers caller values outside the cache identity.

The Python API is unchanged.

Install

pip install tensoracle==0.4.0

Documentation: https://sync-dev-org.github.io/tensoracle/