github oneapi-src/oneDNN graph-v0.6

latest releases: v3.6-pc, v3.5.3, v3.5.2...
pre-release23 months ago

This is the Beta release for oneDNN Graph based on oneDNN v2.7 release.

Functionality

  • Introduced FP32, BF16, FP16, and INT8 inference support on GPU.
  • Introduced FP32 and BF16 training support on GPU.
  • Introduced support for floating point math mode at graph construction phase. The mode allows the implementation to use low precision datatype for computations when possible.
  • Added graph::finalize() function to indicate that the user has finished adding operations into the graph and the graph is ready for partitioning.
  • Added operations AbsBackprop, Mish, MishBackprop, and LeakyReLU.
  • Updated API and operation definitions to comply with oneDNN Graph Specification 1.0-beta.

Usability

  • Integrated Graph component headers, source and build system into oneDNN:
    • Headers moved to include/oneapi/dnnl.
    • Source moved to src/graph.
    • Graph functionality is included into single shared object or dynamic library produced by the build system.
  • Aligned API with oneDNN:
    • Shared common dnnl::engine and dnnl::stream. The original dnnl::graph::engine and dnnl::graph::stream API were removed.
    • Added a new make_engine_with_allocator() API to create dnnl::engine with dnnl::graph::allocator.
    • A few common basic types were shared between oneDNN and oneDNN Graph, including dnnl_status_t, dnnl_data_type_t, and dnnl_dims_t, etc.
  • Introduced ONEDNN_BUILD_GRAPH build option to manage Graph component build.

Validation

  • Introduced ONEDNN_GRAPH_DUMP environment variable that serialized library graph and subgraph into JSON files.
  • Added the initial version of benchdnn graph driver which can be used to benchmark the performance with a dumped graph JSON file.

Breaking changes

  • Removed operations HardTanh, Index, Pow, etc. Please check the operation kind list for details.

Known Issues and Limitations

  • Graph Compiler component is not included with this release. It will be reinstated in oneDNN Graph Beta Update release.
  • The weight’s opaque layout can be queried only from a compiled partition, which requires that input tensor shapes must be known at compilation time.
  • Build option ONEDNN_BUILD_GRAPH is not compatible with some of the build options supported by the build system including ONEDNN_GPU_RUNTIME=OCL, ONEDNN_ENABLE_WORKLOAD=INFERENCE, ONEDNN_ENABLE_PRIMITIVE, and others.

Thanks to the Contributors

This release contains contributions from the project core teams as well as Jiong Gong, Chunyuan Wu, Sanchit Jain, Yiqiang Li, Yunfei Mao, Kiefer Kuah and others.

Don't miss a new oneDNN release

NewReleases is sending notifications on new releases.