When I Used VMExecutor to run a CNN model, it threw an error 
```
RuntimeError: Check failed: VerifyMemory(func): Direct host side access to 
device memory is detected. Did you forget to bind?
PrimFunc([placeholder, transform_weight]) attrs={"global_symbol": 
"fused_nn_contrib_conv2d_winograd_weight_transform_6", "tir.noalias": (bool)1, 
"target": cuda} {
...
```
This is because `contrib_conv2d_winograd_weight_transform` doesn't have a CUDA 
schedule. It's expected to work fine because this op is generated in 
AlterOpLayout which will be evaluated later on CPU during compilation.

To reproduce,  apply the below patch to 
https://github.com/apache/incubator-tvm/blob/master/tests/python/relay/benchmarking/benchmark_vm.py
```
diff --git a/tests/python/relay/benchmarking/benchmark_vm.py 
b/tests/python/relay/benchmarking/benchmark_vm.py
index a6e05bee5..215a90974 100644
--- a/tests/python/relay/benchmarking/benchmark_vm.py
+++ b/tests/python/relay/benchmarking/benchmark_vm.py
@@ -60,10 +60,13 @@ def benchmark_execution(mod,
     def get_vm_output(mod, data, params, target, ctx, dtype='float32',
                       number=2, repeat=20):
         with tvm.transform.PassContext(opt_level=3):
-            exe = vm.compile(mod, target, params=params)
-            rly_vm = vm_rt.VirtualMachine(exe)
-            rly_vm.init(ctx)
-            result = rly_vm.run(data)
+            #exe = vm.compile(mod, target, params=params)
+            #rly_vm = vm_rt.VirtualMachine(exe)
+            #rly_vm.init(ctx)
+            #result = rly_vm.run(data)
+
+            interp = relay.create_executor('vm', mod=mod, target=target)
+            interp.evaluate()(**params)
 
         if measure:
             print("Evaluate vm inference cost of {} on {}".format(model,
@@ -79,8 +82,8 @@ def benchmark_execution(mod,
 
     # random input
     data = np.random.uniform(size=data_shape).astype(dtype)
-    target = "llvm"
-    ctx = tvm.cpu(0)
+    target = "cuda"
+    ctx = tvm.gpu(0)
 
     tvm_out = get_graph_runtime_output(mod, tvm.nd.array(data.astype(dtype)),
                                        params, target, ctx, dtype)
```

My tvm version: 7a9346a019d1e





---
[Visit Topic](https://discuss.tvm.ai/t/vm-executor-alteroplayout-broken/7087/1) 
to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.ai/email/unsubscribe/92ed009518fc589158dda320a8d576c0c0bc5cc8844ab94f2a013d88521535f1).

Reply via email to