manupa-arm commented on a change in pull request #9331:
URL: https://github.com/apache/tvm/pull/9331#discussion_r743818992



##########
File path: python/tvm/relay/op/contrib/cmsisnn.py
##########
@@ -52,37 +54,85 @@ def partition_for_cmsisnn(mod, params=None, **opts):
             transform.InferType(),
             transform.MergeComposite(pattern_table()),
             transform.AnnotateTarget("cmsisnn"),
-            transform.MergeCompilerRegions(),

Review comment:
       The way the current BYOC works, this will create a source per operator 
and also additional set of indirection will be there for each call.
   
   i.e.
   main_func <--> ext_func <--> cmsis_func
   main_func <--> ext_func <--> cmsis_func
   main_func <--> ext_func <--> cmsis_func
   
   vs
   
   main_func <--> ext_func <--> cmsis_func1, cmsis_func2, cmsis_func3

##########
File path: python/tvm/relay/op/contrib/cmsisnn.py
##########
@@ -52,37 +54,85 @@ def partition_for_cmsisnn(mod, params=None, **opts):
             transform.InferType(),
             transform.MergeComposite(pattern_table()),
             transform.AnnotateTarget("cmsisnn"),
-            transform.MergeCompilerRegions(),

Review comment:
       The way the current BYOC works, this will create a source per operator 
and also additional set of indirection will be there for each call.
   
   i.e.
   main_func <--> ext_func <--> cmsis_func1
   main_func <--> ext_func <--> cmsis_func2
   main_func <--> ext_func <--> cmsis_func3
   
   vs
   
   main_func <--> ext_func <--> cmsis_func1, cmsis_func2, cmsis_func3

##########
File path: python/tvm/relay/op/contrib/cmsisnn.py
##########
@@ -52,37 +54,85 @@ def partition_for_cmsisnn(mod, params=None, **opts):
             transform.InferType(),
             transform.MergeComposite(pattern_table()),
             transform.AnnotateTarget("cmsisnn"),
-            transform.MergeCompilerRegions(),

Review comment:
       Code size ? and more translation units produced ? each ext function will 
become its own .c file right ?

##########
File path: python/tvm/relay/op/contrib/cmsisnn.py
##########
@@ -52,37 +54,85 @@ def partition_for_cmsisnn(mod, params=None, **opts):
             transform.InferType(),
             transform.MergeComposite(pattern_table()),
             transform.AnnotateTarget("cmsisnn"),
-            transform.MergeCompilerRegions(),

Review comment:
       Code size -- due to additional external function ? and more translation 
units produced ? each ext function will become its own .c file right ?

##########
File path: python/tvm/relay/op/contrib/cmsisnn.py
##########
@@ -52,37 +54,85 @@ def partition_for_cmsisnn(mod, params=None, **opts):
             transform.InferType(),
             transform.MergeComposite(pattern_table()),
             transform.AnnotateTarget("cmsisnn"),
-            transform.MergeCompilerRegions(),

Review comment:
       Code size -- due to additional external functions ? and more translation 
units produced ? each ext function will become its own .c file right ?

##########
File path: python/tvm/relay/op/contrib/cmsisnn.py
##########
@@ -52,37 +54,85 @@ def partition_for_cmsisnn(mod, params=None, **opts):
             transform.InferType(),
             transform.MergeComposite(pattern_table()),
             transform.AnnotateTarget("cmsisnn"),
-            transform.MergeCompilerRegions(),

Review comment:
       The way the current BYOC works, this will create a source per operator 
and also additional set of indirection will be there for each call.
   
   i.e.
   main_func <--> ext_func1 <--> cmsis_func1
   main_func <--> ext_func2 <--> cmsis_func2
   main_func <--> ext_func3 <--> cmsis_func3
   
   vs
   
   main_func <--> ext_func <--> cmsis_func1, cmsis_func2, cmsis_func3




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to