From 818232f689fe82b83646053193b799a3ac7972f8 Mon Sep 17 00:00:00 2001 From: "lukhut01 (generated by with_the_same_user script)" Date: Wed, 22 Dec 2021 11:35:01 +0000 Subject: [PATCH 1/2] [microNPU] Re-enable LayoutOptimizer pass It looks like in #9597 the LayoutOptimizer pass was accidentally removed. Probably due to a race condition in PR's. Re-enabling this feature. Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b --- python/tvm/relay/backend/contrib/ethosu/codegen.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/tvm/relay/backend/contrib/ethosu/codegen.py b/python/tvm/relay/backend/contrib/ethosu/codegen.py index 22f248ba012c..3e96ed7ad84a 100644 --- a/python/tvm/relay/backend/contrib/ethosu/codegen.py +++ b/python/tvm/relay/backend/contrib/ethosu/codegen.py @@ -294,6 +294,7 @@ def relay_to_tir_func(ext_func: relay.Function) -> tvm.tir.PrimFunc: mod = tvm.IRModule() mod["main"] = ext_func mod = LegalizeEthosU()(mod) + mod = LayoutOptimizer()(mod) mod = LUTsOptimizer()(mod) mod = relay.transform.InferType()(mod) # We are currently using copy_constants scheduler In the long run, From b6d8296787cf6530104e8fa7caaf6a39a3395b45 Mon Sep 17 00:00:00 2001 From: Luke Hutton Date: Wed, 22 Dec 2021 13:12:18 +0000 Subject: [PATCH 2/2] change pass ordering Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365 --- python/tvm/relay/backend/contrib/ethosu/codegen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tvm/relay/backend/contrib/ethosu/codegen.py b/python/tvm/relay/backend/contrib/ethosu/codegen.py index 3e96ed7ad84a..0884b249df48 100644 --- a/python/tvm/relay/backend/contrib/ethosu/codegen.py +++ b/python/tvm/relay/backend/contrib/ethosu/codegen.py @@ -294,8 +294,8 @@ def relay_to_tir_func(ext_func: relay.Function) -> tvm.tir.PrimFunc: mod = tvm.IRModule() mod["main"] = ext_func mod = LegalizeEthosU()(mod) - mod = LayoutOptimizer()(mod) mod = LUTsOptimizer()(mod) + mod = LayoutOptimizer()(mod) mod = relay.transform.InferType()(mod) # We are currently using copy_constants scheduler In the long run, # this should be a single intelligent and a composite scheduler