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).