The detailed instructions from Nvidia are here They offer both a DEBian based install package as well as a *.run package. They recommend using the Debian package as it makes future updates easier. I was able to use the DEBian package until I went to 8.0, at which point I decided to start to use the *.run package.

In my case, I want to use the CUDA GPU card exclusively for cuda computations. Ie, I do NOT want it to be used for X11 video display duties. The reasoning is that I want to keep the CUDA processing completely separate from X11 code and drivers. To accomplish this I use an AMD EyeFinity 6 video card for X11. Unfortunately Nvidia goes out of their way to make this difficult. Specifically they replace many X11 files and/or configuration items with versions that ONLY work with the Nvidia cards. The bottom line is that after installing the NVIDIA drivers and SDK your X11 system will be bricked!

When installing CUDA 6.0 thru 7.5 I used the DEBian package and methods described in the 7.0 link below. My first attempt to install 8.0 with those same methods was a disaster, so I punted and went with the *.run method, described in the 8.0 link. Its not near as scary as it looks on first blush...
There were just too many Nvidia centric files in the DEBian package to track down and "undo". Using the *.run method avoids the damage to you X11 setup.

I am currently using CUDA 8.0, CUDA 9.0 was just released, but I have NOT tried it yet.