I just have a question about isolating my GPU.
i need to isolate it so i can utilize it fully.
is locking - How to prevent two CUDA programs from interfering - Stack Overflow that i found in the developer.nividia forums (nvidia-smi utility) work for NVIDIA GeForce GTX 1050 Ti with Max-Q Design?
I just need to know if it’s really the right way or should create a new Operating System on a usb-stick to be able to utilize fully.
I also need to know how it can happen programmatically in c-lang and asm-lang.
also is there a Driver Development Kit (DDK) or something i use to create a driver for my OS?
thanks and regards,
Hello @rownasser, welcome to the NVIDIA developer forums!
nvidia-smiwill work on any NVIDIA GPU, including Mobile versions, if you installed the respective driver. And yes, the tool allows to control GPU device affinity among many other things.
But to better answer your questions it would help if you could describe in a bit more detail what you want to achieve when you say “i need to isolate it so i can utilize it fully.” Compute workloads? Deep Learning? Rendering? Gaming? Video editing?
Before that it is difficult to point you to the correct SDKs. For example CUDA allows you to programmatically select GPU devices to be used. But I don#t know if you even want to use CUDA.
On the driver side there is no public DDK. Some of the Linux kernel modules are open source, but we don’t supply sources or tools to create your own drivers.
Compute workloads and deep learning…
I know of CUDA, OpenCL and Vulkan. Just checked out CUDA for a bit but not the other two… i saw the CUDA C++ it had some driver API or something… for c or c++ I don’t remember which…
And so no programmatic(APIs) ways for nvidia-smi? Also is it unrecomended to run it from a script or c-lang system command by any chance?
Also i presume CUDA can have asm? Also c instead of c++?
For compute I would recommend CUDA (see also our dedicated forums for a lot more information). It does allow programmatically controlling the GPU. In terms of disabling the render functionality of the GPU for the operating system, that needs to happen on the OS side since it involves at least restarting the Display Manager, if not a rebootI am not certain if this can be achieved by code, but probably by scripting.
Anyways, CUDA can be programmed with a diverse set of languages, check out the CUDA C++ Programming Guide for more detail.