blob: 46039b7069486db59aa06fb0894252d568fefec2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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.
|