aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-12Update serialization lib to v0.80 releasev0.80.0Eric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ia581eeeb1b1b9cc4db3b2a5992d26238b3d1b4fb
2023-09-12Update to handle unsigned attributes for RESCALEEric Kunze
Check the operand data types to determine whether the RESCALE is operating on signed or unsigned values for the signless type. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I0e1fcf6ee1551afbc911df63a6423f545e672fef
2023-08-28[tosa_mlir_translator] Support dynamic tensorsTai Ly
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
2023-08-16Add DIM operator and its serialization/deserialization to TOSA MLIR translatorWon Jeon
Signed-off-by: Won Jeon <won.jeon@arm.com> Change-Id: Idf45f0a68f551039cc40a69d90aa5c53098bc238
2023-08-01[tosa_mlir_translator] Rename Div Op to IntDivTai Ly
Rename Tosa Div Op to IntDiv Op in serialization and deserialization Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: Iec2d1c4f91a77485f2a61984962872a386f131cb
2023-07-26Add pre-commit config file for running clang-format checkJerry Ge
Signed-off-by: Jerry Ge <jerry.ge@arm.com> Change-Id: Ice6bf731b4a6892e2b721bc8f8074a5f4e4f10fa
2023-07-24Add Erf to tosa_mlir_translatorJerry Ge
Signed-off-by: Jerry Ge <jerry.ge@arm.com> Change-Id: I5d173daf4330d4c4761175a7bd2362cd0bf4b420
2023-07-20Update to fix build issues with clangEric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Iae97d2827b697fb900a5f9ca8e47bc6904509ce7
2023-07-18Add deserialization of AccumTypeTai Ly
Added deserialize accum_type attribute for AvgPool2D Op also fixed serialization of accum_type attribute for AvgPool2D Op also updated third_party/serialization_lib hash LLVM_REFSPEC: refs/changes/23/532123/2 TF_REFSPEC: refs/changes/34/699334/5 Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: I2084f33e60d1bf8f76958b320a96fc1f3a94d95c
2023-07-14Fix PadOp serialization for input_zpTai Ly
This fixes previously introduced bug where the input_zp was dropped from the PadOp serialization. Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: I42fec4a2cdad0ab1ea3cc2f188c4f4c4467583b0
2023-07-12[tosa_mlir_translator] Fix Pad const attr typeTai Ly
This fixes serialization and deserialization of Pad Operator's constant value attributes that is integer data types other than I32 also fixed serialization of F16 constants to not crash, found in testing Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: Ic3987aad0e11b612de591eaeecd308d599d174e1
2023-07-12[tosa_mlir_translator] Fix Rescale shift data typeTai Ly
Changed to support new data type of Rescale shift attr: DenseI8ArrayAttr (instead of DenseI32ArrayAttr) LLVM_REFSPEC: refs/changes/55/532955/1 TF_REFSPEC: refs/changes/50/700450/3 Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: I8f176ab95e167a8c4a0d3da605384509cf083d5e
2023-07-10[tosa_mlir_translator] Change axis to I32AttrTai Ly
Fix deserialization issues due to Axis attribute type changing from I64Attr to I32Attr to match the TOSA spec. Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: I16b6e4ef8c7e0db988f1ccec814face70302efa1
2023-07-10Fix deserialization of Table const typeTai Ly
Fixed dDeserialization of Table const to have either I8 or I16 element types based on input element type eventhough table const is always serialized as int16_t values. Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: I5d9972ba6a97a709003d73741c91bab31be06cf7
2023-06-20Add INT4 support for ConstOp deserializationJerry Ge
Signed-off-by: Jerry Ge <jerry.ge@arm.com> Change-Id: Ie5687f9eda2208e86a5d1d50d073d59edf434524
2023-06-20Run clang-format for TosaDeserialize.cpp and TosaSerialize.cppJerry Ge
Signed-off-by: Jerry Ge <jerry.ge@arm.com> Change-Id: Ia42e457222b1c81732bfcec2b729f295b17d4e81
2023-06-02Update to 0.80.0 draft serialization libraryEric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I82f52fc3da7d6ea873c4822bb7089bf90ce10208
2023-05-25Update serialization library to 0.70 releasev0.70.0v0.70Eric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I5a8df06bc07718e6245bf2b1739bba1e26d54b4a
2023-05-25Update to latest serialization submoduleEric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I7e43e5f967e846ef7a56064e2f1ce5a19939ac26
2023-05-06Add BuildMlirFromTosaFile APITai Ly
This BuildMlirFromTosaFile API deserializes a tosa fbs or json file and returns a mlir module as OwningOpRef<ModuleOp> This also refactors the existing deserialization passes to use the new API, and then copy the deserialized module's main function into the existing function, and copy all attributes of the new function and new module into the existing function and module. This allows testing of the new API by running deserialization passes. Here is an example showing the attributes on the deserialized module and functions: module attributes {tf_saved_model.semantics, tosa.description = "Tosa FBS Converted", tosa.fbs_version = "0.70.0d"} { func.func @main(%arg0: tensor<1x256x256x3xui8> {tf_saved_model.index_path = ["input_0"]}) -> (tensor<1x1x17x3xf32> {tf_saved_model.index_path = ["output_0"]}) attributes {tf.entry_function = {inputs = "tosa_de serialized_input_0:0", outputs = "tosa_deserialized_output_0:0"}, tf_saved_model.exported_names = ["tosa_deserialized"]} { Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: Ia6c0202ef43ce5d37788cd459ed7c3f8424dd619
2023-04-26serialize/deserialize while/if ops using regionsTai Ly
This changes serialization and deserialization of while and if ops to use regions instead of blocks. also changed deserialization to preserve original ordering such that: tosa1->deserialize->serialize->tosa2 => tosa1 == tosa2 most of the time. Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: I539076788bdc466ba1881d955af349e6b4924ed8
2023-04-25Fix deserialization of PadOpTai Ly
Pad constant attribute requires scalar values (instead of 1D tensor) Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: Iae0bf49b1b404c7b93d515a10b182c3906054e70
2023-04-22Support translation of FFT2dLuke Hutton
Signed-off-by: Luke Hutton <luke.hutton@arm.com> Change-Id: I4aae94438380d394b9c13015aa69ac52f9b73f74
2023-03-16Update serialization library to 0.70.0 draft versionEric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ib156f187a034f0d7c485cec755c51ddca773a752
2023-03-08Update serialization library to 0.60 versionv0.60.0Eric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I2919607a4a625dd0fabab176b9452e21e937563b
2023-03-07Added half library to include pathDmitriy Smirnov
Change-Id: Ibd6b17cf38ff29ead307d180c45afed199cb525a Signed-off-by: Dmitriy Smirnov <dmitriy.smirnov@arm.com>
2023-03-06Add Tosa DeserializationTai Ly
Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: I8b0220a8465e75b1accf6b0854e911a425730da6
2023-03-02Removed enforcing of C++14 from CMakeLists.txtDmitriy Smirnov
Change-Id: Ifc44e05d90021423dfec1bc53f7a5d8bbc40633d Signed-off-by: Dmitriy Smirnov <dmitriy.smirnov@arm.com>
2023-03-02Added support of unranked tensorsDmitriy Smirnov
Added support of unranked tensors to TosaSerializationBlockBuilder::BuildTosaSerializationTensor method Signed-off-by: Dmitriy Smirnov <dmitriy.smirnov@arm.com> Change-Id: Ia691437b7571f01a4b964a286c6d844eed80af75
2023-02-27Support translation of RFFT2dLuke Hutton
Signed-off-by: Luke Hutton <luke.hutton@arm.com> Change-Id: Ic69e006fb9369414f4174e5bb24adadae531775d
2023-02-24[Fix] Explicit pad const hasn't been read during pad op constructionTatWai Chong
The op builder didn't read the value from operand but only set the pad_const attribute to zero. Change-Id: Ia6f16490c3fad42200884a9d3a5118fa5c152b53 Signed-off-by: TatWai Chong <tatwai.chong@arm.com>
2023-02-14Revert "Align the type of padding and pad_const with the spec"TatWai Chong
This reverts commit e1dcee57d8f89cd192411bbec9e8a97b26833bb7. Change-Id: I7b4c1b12da6530514f9cf09ff7b1e463834fa008
2023-02-08Remove accum-dtype from all but avg_pool2d & remove zero padJames Ward
* Remove zero pad from float attribute serialization * Remove accum-dtype from tensor ops to match specification Signed-off-by: James Ward <james.ward@arm.com> Change-Id: I36e179fa0736f34f2c34309d8372d1cf3ab3c763
2023-02-02Switch ArrayAttr to DenseArrayAttrTatWai Chong
Align with mlir commits: 9e1a344155c0b78be46348b94cae635b7305326c 11030c7d67a7ac0b469e3fbc53dd7a09b47792c9 Change-Id: I5be0fc084fabc1057a39127b67a1ee9a55e5079f Signed-off-by: TatWai Chong <tatwai.chong@arm.com>
2023-01-27Align the type of padding and pad_const with the specTatWai Chong
switch padding and pad_const to attribute type. Signed-off-by: TatWai Chong <tatwai.chong@arm.com> Change-Id: Ic179034d290cca3b3d857a84744da96c485098ba
2023-01-24Update to latest serialization libraryJeremy Johnson
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: I1563147809ec14e45dee759a14ff9b8f1078d865
2023-01-13Add serialization of custom op attributesEric Kunze
Requires updated serialization_lib submodule Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I149680f51242bd45b9a10f7c021f15a59f0ef9c4
2023-01-12Add RegionBuilder to TOSA MLIR TranslatorJerry Ge
Rationale for making this change: - The original design only supports a single basicBlock which is no longer functionaly enough to support Control Flow operators like WhileOp or IFOp - Added another layer of abstraction of Region to support multiple basicBlocks + other corresponding fixes - There are other companion patches to make the above proposal work - Serialization Lib: Add TosaSerializationRegion to serialization_lib - Reference Model: Reference model update for control flow Signed-off-by: Jerry Ge <jerry.ge@arm.com> Change-Id: Ic7eec3c32da87d409819365ba2dc7ef8b9619db4
2022-12-07Update to serialization version 0.51.0 draftEric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ifd50d2b158784ce566ba7c8009842f62e9361628
2022-12-05Update serialization library submodule to 0.50v0.50.0v0.50Eric Kunze
In preparation for 0.50 release Change-Id: I2a66e5c68ba7f23334e5a542e16ee5336a1ae3de
2022-10-24Avoid crash when serializing unranked tensorEric Kunze
Report an error instead during serialization. Change-Id: Ib53b1c76079909aaf84f643655939d024d7eec0c
2022-10-13Rename FLOAT type to FP32Jeremy Johnson
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: I5e45381c8b573d18c2e3241742c663623961c4d6
2022-10-11Updates to work with the new FP16 serialization codeEric Kunze
Adds accumulator data type where needed, and incorporates the new submodule Change-Id: Ice1d5508bd94812b0092e6a6238abb14f1bbc399 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-09-14Update to new serialization libEric Kunze
Also includes fixes for more recent LLVM (verified with LLVM commit 72142fbac496) Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I00a2cc4360731d5e63f129dfff9228e30aeedb36
2022-09-12Update serialization lib version to 0.41 draftEric Kunze
Change-Id: Ia1c627c2f6dc6f7e7d4dc4530bacfdaaf7d058be Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-08-30Update to revision 0.40.0v0.40.0v0.40Eric Kunze
Include the new version of the serialization library Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ibffc81cd20aad50836f574375768ff8777ea280b
2022-08-29Add conv3d supportTatWai Chong
Change-Id: If77423cbdb354a213677139d6cf4641db2bd6fcd
2022-08-04Update TOSA resize to match specificationTatWai Chong
Attribute stride and shift are removed, and has new scale and border. Signed-off-by: TatWai Chong <tatwai.chong@arm.com> Change-Id: Id34072deb46ffce642530cc7499eb777cf9b82fc
2022-07-08Update serialization_library submodule hashEric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I3afe5429b9c5121cd80309e3d55f61c0da9526d9
2022-06-16Update to the latest serialization library for releasev0.30.0v0.30Eric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ia6653d960c8ae5407f098c476fbaf6287a321c82