I am designing a server that will run student's cuda/c++ code. The server will have multiple GPU cards so that multiple programs can run at once. I would like to break up the computer in to sandboxes that only contain one GPU each (such as using virtual machines or chroot or something else). I have read that virtual machines only emulate the GPUs so you can't run cuda on the real hardware. Is there a different way I can do this. I would like to also be able to limit other things within the sandbox but will try to figure that out after I figure out an approach that works well with the GPU.

In general I am trying to limit the student to only access one GPU and to only access a GPU that is currently not running someone else's code. I'll have a queue set up to only run their program when a GPU is free.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.