Lowlevel videocard control


Is there any way to manage CUDA programm’s execution?
For example - restricting programm with using only SMs\restricting memory usage. Or blocking few SM for some period of time.Can it be done with editing ptx code?
Where to find this kind of information? Every advice will be good - just need direction.


Can’t be done. Neither of the APIs, nor PTX expose any hardware level controls you could use to achieve that sort of execution control. Compute capability 2.0 devices (ie. Fermi) will permit multiple kernels (up to four IIRC) to be launched and executed simultaneously, but even then execution scheduling is completely at the whim of the driver and card. There are no programmer controls over how it happens, and no guarantees about execution behaviour, other than an implicit guarantee that it will execute.