@@ -286,7 +286,9 @@ def get_graph_debug_executor(
286286 graph_json , graph_debug_mod , self .device , dump_root = str (dump_root )
287287 )
288288
289- def get_executor_from_factory (self , module : Union [ExecutorFactoryModule , relax .Executable ]):
289+ def get_executor_from_factory (
290+ self , module : Union [ExecutorFactoryModule , relax .Executable ], hexagon_arch : str = "v68"
291+ ):
290292 """Create a local GraphModule which consumes a remote libmod.
291293
292294 Parameters
@@ -302,7 +304,7 @@ def get_executor_from_factory(self, module: Union[ExecutorFactoryModule, relax.E
302304 if isinstance (module , GraphExecutorFactoryModule ):
303305 return self ._graph_executor_from_factory (module )
304306 if isinstance (module , relax .Executable ):
305- return self ._relax_vm_executable_executor (module )
307+ return self ._relax_vm_executable_executor (module , hexagon_arch = hexagon_arch )
306308
307309 raise TypeError (f"Unsupported executor type: { type (module )} " )
308310
@@ -354,7 +356,7 @@ def _graph_executor_from_factory(
354356 """
355357 return self .get_graph_executor (module .get_graph_json (), module .get_lib ())
356358
357- def _relax_vm_executable_executor (self , vm_exec : relax .Executable ):
359+ def _relax_vm_executable_executor (self , vm_exec : relax .Executable , hexagon_arch : str ):
358360 """Create a local TVM module which consumes a remote vm executable.
359361
360362 Paramters
@@ -377,7 +379,7 @@ def _relax_vm_executable_executor(self, vm_exec: relax.Executable):
377379 vm_exec .mod .export_library (
378380 path_exec ,
379381 fcompile = hexagon .create_aot_shared ,
380- hexagon_arch = "v68" ,
382+ hexagon_arch = hexagon_arch ,
381383 )
382384
383385 path = self .upload (path_exec , "exec.so" )
0 commit comments