List of CUDA targets

Hello,

I know there is a discussion underway for standardizing how the targets are specified but I wanted to know if there is a list of accepted CUDA target architectures in the current API. For example in the current API tvm.target.cuda(model='unknown', options=None) calls for a model and in the documentation it gives 1080ti as the example. I have tried 2080ti but not sure if it would accept vt100. Looking at the code it seems that the unknown is the default. Is there a sanctioned list of these models?

For the CPU targets I know that the architecture is passed to LLVM through the -mcpu attribute (i.e. llvm -mcpu=cascadelake) Should I do something similar for CUDA or is it better to relay on the above API call?.

Thanks!

1 Like

I am also curious about this. I have searched the code and the only place it mentions these targets is in the doc-string tvm.target.cuda itself.

Is there any benefit to using the right GPU model? Or is it something the CUDA compiler will figure out itself? Could this create issues for remote devices?

The model tag in CUDA target now is just a tag. You can basically put anything you like there. Even when performing the tuning, TVM extracts the required information directly from CUDA context, so it doesn’t rely on the tag either.

2 Likes