It requires reorganizing version definitions to facilitate adding new architectures. This is inspired from the cuda package.