0.7.dev1 produces a very odd error that doesn’t happen in 0.6.0.
CUDA: Check failed: e == cudaSuccess || e == cudaErrorCudartUnloading: the launch timed out and was terminated
target = 'cuda -libs=cudnn,cublas'
block = model_zoo.get_model('yolo3_mobilenet1.0_coco', pretrained=True)
mod, params = relay.frontend.from_mxnet(block, shape={'data': (1,3,512,512)}, dtype='float32')
net = mod["main"]
net = relay.Function(net.params, net.body, None, net.type_params, net.attrs)
mod = tvm.IRModule.from_expr(net)
with tvm.transform.PassContext(opt_level=3):
graph, lib, params = relay.build_module.build(
mod, target=target, params=params)
module = graph_runtime.create(graph, lib, ctx)
module.set_input(**params)
module.set_input('data', tvm.nd.array(np.random.randn(*(1,3,512,512)).astype('float32')))
module.run()
module.get_output(0)
produces this error
TVMError: Traceback (most recent call last):
[bt] (3) /home/mkrzus/github/tvm-latest/build/libtvm.so(TVMArrayCopyToBytes+0xa) [0x7f7078d5865a]
[bt] (2) /home/mkrzus/github/tvm-latest/build/libtvm.so(tvm::runtime::ArrayCopyToBytes(DLTensor const*, void*, unsigned long)+0x189) [0x7f7078d585f9]
[bt] (1) /home/mkrzus/github/tvm-latest/build/libtvm.so(tvm::runtime::CUDADeviceAPI::CopyDataFromTo(void const*, unsigned long, void*, unsigned long, unsigned long, DLContext, DLContext, DLDataType, void*)+0xee) [0x7f7078dc099e]
[bt] (0) /home/mkrzus/github/tvm-latest/build/libtvm.so(dmlc::LogMessageFatal::~LogMessageFatal()+0x67) [0x7f707834fab7]
File "../src/runtime/cuda/cuda_device_api.cc", line 213
CUDA: Check failed: e == cudaSuccess || e == cudaErrorCudartUnloading: the launch timed out and was terminated
however when reverting back to 0.6.0 there are no issues with this same model
target = 'cuda -libs=cudnn,cublas'
block = model_zoo.get_model('yolo3_mobilenet1.0_coco', pretrained=True)
mod, params = relay.frontend.from_mxnet(block, shape={'data': (1,3,512,512)}, dtype='float32')
with relay.build_config(opt_level=3):
graph, lib, params = relay.build(
mod, target=target, params=params)
module = graph_runtime.create(graph, lib, ctx)
module.set_input(**params)
module.set_input('data', tvm.nd.array(np.random.randn(*(1,3,512,512)).astype('float32')))
module.run()
module.get_output(0)
# no error.
This error happens on both Titan X and Jetson TX2