I am trying to make a CUDA tool and I have to make it scalable. I need to give number of GPU a system have as an argument to my tool. Please tell me if there is any command for getting number of GPUs directly??
Asked
Active
Viewed 2.5k times
4 Answers
15
This command gets the number of GPUs directly, assuming you have nvidia-smi.
nvidia-smi --query-gpu=name --format=csv,noheader | wc -l
It prints the names of the GPUs, one per line, and then counts the number of lines.
tuzhucheng
- 151
4
You can use sudo lshw -C display to list your video card(s), then google each one to see how many cores it has.
0
If you want to use it in a script, I'd suggest to using it like this:
nvidia-smi --query-gpu=name --format=csv,noheader | head -1
And also validate the number:
GPU_num="$(nvidia-smi --query-gpu=name --format=csv,noheader | head -1)"
! [[ "$GPU_num" =~ ^[0-9]+$ ]] && echo "Not a number)"
It's better to count the number of lines, because the line can also be an error.
Feriman
- 208
- 1
- 4