[docs]defquery_cuda_info(query_key):globalNVSMI_REPORT# get cuda info using "nvidia-smi" command in MBtry:nvidia_smi_output=subprocess.check_output(['nvidia-smi',f'--query-gpu={query_key}','--format=csv,noheader,nounits']).decode('utf-8')exceptExceptionase:if'non-zero exit status 2'instr(e):err_msg=f'The specified query_key [{query_key}] might not be ' \
f'supported by command nvidia-smi. Please check and ' \
f'retry!'elif'No such file or directory'instr(e):err_msg='Command nvidia-smi is not found. There might be no ' \
'GPUs on this machine.'else:err_msg=str(e)ifNVSMI_REPORT:logger.warning(err_msg)NVSMI_REPORT=FalsereturnNonecuda_info_list=[]forlineinnvidia_smi_output.strip().split('\n'):cuda_info_list.append(int(line))returncuda_info_list
[docs]defquery_mem_info(query_key):mem=psutil.virtual_memory()ifquery_keynotinmem._fields:logger.warning(f'No such query key [{query_key}] for memory info. 'f'Should be one of {mem._fields}')returnNoneval=round(mem.__getattribute__(query_key)/(2**20),2)# in MBreturnval