Hi! I have been studying how TVM works and I tried out this (https://github.com/apache/incubator-tvm/blob/master/tutorials/autotvm/tune_simple_template.py) tutorial example from the website and it seems like running this example with cuda (or OpenCL) produces errors like:
> Cannot find config for target=cuda -keys=cuda,gpu -max_num_threads=1024 > -thread_warp_size=32, workload=('tutorial/matmul', 512, 512, 512, 'float32'). > A fallback configuration is used, which may bring great performance > regression. > Traceback (most recent call last): > File "tune_simple_template.py", line 321, in <module> > func = tvm.build(s, arg_bufs) > File > "/root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/driver/build_module.py", > line 413, in build > mod_host, mdev = _build_for_device(input_mod, tar, target_host) > File > "/root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/driver/build_module.py", > line 255, in _build_for_device > mod_mixed = tvm.transform.Sequential(opt_mixed)(mod_mixed) > File > "/root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/ir/transform.py", > line 127, in __call__ > return _ffi_transform_api.RunPass(self, mod) > File "tvm/_ffi/_cython/./packed_func.pxi", line 321, in > tvm._ffi._cy3.core.PackedFuncBase.__call__ > File "tvm/_ffi/_cython/./packed_func.pxi", line 256, in > tvm._ffi._cy3.core.FuncCall > File "tvm/_ffi/_cython/./packed_func.pxi", line 245, in > tvm._ffi._cy3.core.FuncCall3 > File "tvm/_ffi/_cython/./base.pxi", line 160, in tvm._ffi._cy3.core.CALL > tvm._ffi.base.TVMError: Traceback (most recent call last): > [bt] (5) > /root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/libtvm.so(TVMFuncCall+0x65) > [0x7f0f613a6035] > [bt] (4) > /root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/libtvm.so(+0x6d4af6) > [0x7f0f6097caf6] > [bt] (3) > /root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/libtvm.so(tvm::transform::SequentialNode::operator()(tvm::IRModule, > tvm::transform::PassContext const&) const+0x2c8) [0x7f0f6097b8f8] > [bt] (2) > /root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/libtvm.so(tvm::transform::ModulePassNode::operator()(tvm::IRModule, > tvm::transform::PassContext const&) const+0x12f) [0x7f0f6097c5af] > [bt] (1) > /root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/libtvm.so(+0x8c352d) > [0x7f0f60b6b52d] > [bt] (0) > /root/.local/lib/python3.6/site-packages/tvm-0.8.dev0-py3.6-linux-x86_64.egg/tvm/libtvm.so(+0x8c00a2) > [0x7f0f60b680a2] > Did you forget to bind? > Variable `B` is directly accessed by host memory (it is not contained in > a thread environment or in the function arguments. > Variable `A` is directly accessed by host memory (it is not contained in > a thread environment or in the function arguments. > Variable `C` is directly accessed by host memory (it is not contained in > a thread environment or in the function arguments. > Variable `C` is directly accessed by host memory (it is not contained in > a thread environment or in the function arguments. > Variable `C` is directly accessed by host memory (it is not contained in > a thread environment or in the function arguments. > File "/local/incubator-tvm/src/tir/analysis/verify_memory.cc", line 202 > RuntimeError: Memory verification failed with the following errors: > PrimFunc([A, B, C]) attrs={"global_symbol": "default_function", > "tir.noalias": (bool)1, "target": cuda -keys=cuda,gpu -max_num_threads=1024 > -thread_warp_size=32} { > for (i.outer, 0, 512) { > for (j.outer, 0, 512) { > C[((i.outer*512) + j.outer)] = 0f > for (k, 0, 512) { > C[((i.outer*512) + j.outer)] = (C[((i.outer*512) + j.outer)] + > (A[((i.outer*512) + k)]*B[((k*512) + j.outer)])) > } > } > } > } Is there any quick fix I can modify to demonstrating GEMM optimization on GPUs? Any pointers are approciated! --- [Visit Topic](https://discuss.tvm.apache.org/t/matrix-multiplication-example-for-cuda/8078/1) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from these emails, [click here](https://discuss.tvm.apache.org/email/unsubscribe/853c06aa2161169cfea056557ee02a01597746f6f40b5e624b4f797577f80922).