Say goodbye to 32-bit kernels!

It has been a long time coming but CUDA 7.0 makes it pretty clear that 32-bit kernels are unsupported.

The CUDA 7.5RC Release Notes have similar warnings.

I bring it up because I was having problems debugging a 32-bit VS2013 project in NSight 4.6/7.5RC/353.45/Win7x64.

Switching to 64-bit resolved the problem and Nsight zeroed in on the error.

Good bye! You have been loved because of reduced register pressure when dealing with lots of pointers.

Technically, they are supposedly still supported in CUDA 7.0 provided that you are using GeForce and don’t need any of the libraries. I haven’t actually tried it though because my application requires cuFFT.

Personally I think that having to make your application 32-bit in order to be able to use 32-bit pointers in your kernels is a bit annoying too but that limitation seems to have been there since CUDA 3.0. I should think its quite common that you need >4GB of host memory but have <4GB of memory on each device.

I’d like the option of having a non-unified address space (capped at 4GB per device) and using 32-bit pointers in kernels even for 64-bit applications. I don’t see it happening though :-(