nvcc
O compilador não detecta GPUs disponíveis localmente, ele sempre tem como alvo o SM 1.0 por padrão. Caso contrário, poderá introduzir um comportamento bastante confuso ao construir em diferentes sistemas.
Para compilar o dispositivo disponível, você precisa pedir ao usuário para especificar a versão SM ou executar algum código de detecção durante o tempo de construção. Estou convencido de que é mais fácil colocar o código de detecção de hardware em tempo de execução e, em seguida, configurar o lançamento do kernel conforme desejado.