No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

34 líneas
945B

  1. import os
  2. import pynvml
  3. pynvml.nvmlInit()
  4. # 安装 pip install nvidia-ml-py3
  5. def usegpu(need_gpu_count=1):
  6. nouse=[]
  7. for index in range(pynvml.nvmlDeviceGetCount()):
  8. # 这里的0是GPU id
  9. handle = pynvml.nvmlDeviceGetHandleByIndex(index)
  10. meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)
  11. used= meminfo.used/meminfo.total
  12. print(meminfo.used)
  13. print(meminfo.total)
  14. if used < 0.8:
  15. nouse.append(index)
  16. if len(nouse) >= need_gpu_count:
  17. os.environ["CUDA_VISIBLE_DEVICES"] = ','.join(map(str, nouse[:need_gpu_count]))
  18. return nouse[:need_gpu_count]
  19. elif len(nouse)>0:
  20. os.environ["CUDA_VISIBLE_DEVICES"] = ','.join(map(str, nouse))
  21. return len(nouse)
  22. else:
  23. return 0
  24. if __name__ == '__main__':
  25. gpus=usegpu(need_gpu_count=2)
  26. print(gpus)
  27. if gpus:
  28. print("use gpu ok")
  29. else:
  30. print("no gpu is valid")