How to limit number of cores in GPU to be used for processing

Hi all,

I am setting up couple of GPU servers for educational proposes in our university.
The problem is, how I can share this resource among users with prioritises.
I would like to somehow limit the number of cores (or SMTs) per user that are going to be used, so that 50% goes for students, 30% for faculties and 20% for researchers at the same time.
I am aware of SunGrid for multiple servers but for only 4 GPU cards that would be overkill.
Is there anyway to achieve this?
I was thinking to limit the number of cores per user but is this possible?

Any comments are appreciated!

Kind regards,

Sharing a single GPU among multiple linux processes is probably not worth the trouble to service multiple users. Better to just schedule the resource as a unit using an ordinary job scheduler, such as Torque/Moab. If you have 4 GPUs, it’s certainly possible to schedule those individually to 4 different jobs, but I wouldn’t try to break up a single GPU amongst disparate users/jobs.

And there is no way to limit the number of SMs that will be available to a single kernel, so dividing up a single gpu this way is not possible.

Dale Southard, NVIDIA Solution Architect, gave a couple presentations at the GPU Technology Conference that you may find helpful:
http://on-demand-gtc.gputechconf.com/gtcnew/on-demand-gtc.php?searchByKeyword=southard&searchItems=&sessionTopic=68&sessionEvent=&sessionYear=2012&sessionFormat=&submit=&select=+

More info on cluster management & job scheduling solutions at:
https://developer.nvidia.com/job-scheduling
https://developer.nvidia.com/cluster-management