commit | 7566d1235cb646e46531c2eb34757cb4b3efa933 | [log] [tgz] |
---|---|---|
author | Tai Ly <tai.ly@arm.com> | Mon Aug 21 23:00:40 2023 +0000 |
committer | Tai Ly <tai.ly@arm.com> | Mon Aug 28 21:09:07 2023 +0000 |
tree | 670dc54644ab8e3c38ab9359604efc4ec171ad17 | |
parent | ea49f62f7ab81750f19bef011683164fe9bd4080 [diff] |
[tosa_mlir_translator] Support dynamic tensors This adds serialization and deserialization support for: - unranked tensors (eg, *xi32) and - tensors with dynamic shapes (eg, ?x?xi32) Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: Ib2943333d8e3a199cf8a909b6db7197150666700
The TOSA MLIR Translator repository implements translators between the TOSA MLIR dialect and serialized representations.
The current implementation supports serialization from MLIR form to flatbuffers. A deserializer from flatbuffers to MLIR form is in development.
##TOSA serialization library https://review.mlplatform.org/plugins/gitiles/tosa/serialization_lib The library includes a FlatBuffers schema and a C++ API for reading and writing a TOSA graph as a flatbuffer.
This repository does not currently build standalone. It must be included within another MLIR repository with a pass manager registering the passes implemented within this repository.
The included CMake rules can be used to add this repository as a submodule. The include/SerializationPasses.h enables MLIR pass registration inclusion.
If target "tosa_serialize" is linked correctly, you should able to see "--tosa-serialize" and "--tosa-serialize-json" options available in your MLIR pass manager/MLIR optimizer.
To serialize a TOSA MLIR graph to TOSA flatbuffer binary file:
<YOUR_MLIR_OPTIMIZER> --tosa-serialize <TOSA_MLIR_GRAPH>
--tosa-flatbuffer-filename <TOSA_FLATBUFFER_FILENAME>
To serialize a TOSA MLIR graph to TOSA flatbuffer JSON file:
<YOUR_MLIR_OPTIMIZER> --tosa-serialize <TOSA_MLIR_GRAPH>
--tosa-flatbuffer-schema <PATH_TO_TOSA_FLATBUFFER_SCHEMA>
--tosa-flatbuffer-filename <TOSA_FLATBUFFER_FILENAME>
where <PATH_TO_TOSA_FLATBUFFER_SCHEMA> is provided within the serialization library submodule in third_party/serialization_lib/schema/tosa.fbs
The TOSA MLIR Translator is licensed under Apache-2.0 with LLVM Exceptions.