specifying more than 2 architectures seems to fail

CUDA 8.0 + VS2012 SP1 + Intel VF2013 on 64 Win7

We upgrade to CUDA 8 (from CUDA 7) and try to remove the message “obsolete compute_20 and sm_20”. Our solution did not set the architecture. I am trying to specify 30, 40 and 50 and I have experienced few issues. Here is one (others are on different topics).

  1. I cannot get three architectures be accepted (similar to http://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html#building-for-maximum-compatibility):
    -gencode=arch=compute_30,code=sm_30
    -gencode=arch=compute_40,code=sm_40
    -gencode=arch=compute_50,code=sm_50
    On VS, this is compute_30,sm_30;compute_40,sm_40;compute_50,sm_50. Compiling with compute_30,sm_30;compute_50,sm_50 seems to work. Have I done something wrong?

No such architecture as 4.0, NVIDIA skipped that number: