Can someone help me explain the difference between tvm.device and tvm.target?
I think generally device is hardware (primitives). (codegen) target is software that drives the deivice.
examples of dev v.s. target:
- NVIDIA GPU ~ CUDA (=> NVPTX)
- AMD GPU ~ ROCm
- CPU ~ OPENCL/C/C++ (compiler)
PhD students ~ advisors
But if you look at tvm.runtime — tvm 0.9.dev0 documentation you will find that some naming can basically be the same. (“cuda” can stand for either an NVIDIA GPU or your CUDA code/NVCC compiler).
I understand their purpose through your explanation