Since cuBLAS is along with CUDA, everyone who has installed CUDA should have cuBLAS available as well. It seems not necessary to let user specify USE_CUDA and USE_CUBLAS separately. What happened to me was that I forgot to enable cuBLAS when I was building TVM, and later on I got the following runtime error:
File "tvm/src/runtime/module_util.cc", line 73 TVMError: Check failed: ret == 0 (-1 vs. 0) : Assert fail: (dev_type == 2), device_type need to be 2
I spent some time on figuring out what this error means and re-built TVM with USE_CUBLAS ON. After that the problem was resolved. Accordingly, I’d like to suggest we either automatically turn cuBLAS on when building TVM if USE_CUDA is ON, or at least refine the error message when cuBLAS is unavailable for the TVM runtime.