Thanks for sharing.
Yes different GPU require different low level code. This makes install time and binary very large. So if we know in advance what the code is going to run on, we only compile for this GPU. You will need to update if you add more GPU indeed.