diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..46039b7 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +TOSA MLIR Translator +========================== + +# Introduction + +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. + +# Dependencies + +##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. + +# Compiling + +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. + +# Usage + +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 + +# License + +The *TOSA MLIR Translator* is licensed under Apache-2.0 with LLVM Exceptions. |