
    bi                      F    d dl  d Zd Zd Zedk(  r e e              yy)    )*c                 h    | t         k(  ry| t        k(  ry| t        k(  ry| t        k(  ry| t        k(  ryy)NNonezPass-ThroughVGPUz	Host VGPUz	Host VSGAUnknown)!NVML_GPU_VIRTUALIZATION_MODE_NONE(NVML_GPU_VIRTUALIZATION_MODE_PASSTHROUGH!NVML_GPU_VIRTUALIZATION_MODE_VGPU&NVML_GPU_VIRTUALIZATION_MODE_HOST_VGPU&NVML_GPU_VIRTUALIZATION_MODE_HOST_VSGA)modes    B/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/example.pyStrVirtr   )   sA    00	9	9	2	2	7	7	7	7    c                 J    | j                   t        k(  ry| j                         S )NzN/A)valueNVML_ERROR_NOT_SUPPORTED__str__)errs    r   handleErrorr   :   s    		--{{}r   c                  f   d} 	 t                | dt        t                     z   dz   z  } t               }| dt        |      z   dz   z  } t	        d|      D ]  }t        |      }t        |      }| d|j                  z  z  } | dt        |      z   d	z   z  } i t        d
t        dt        dt        dt        dt        dt        dt         dt"        dt$        dt&        dt(        dt*        dt,        dt.        dt0        dt2        d}	 |t5        |         }| d|z   dz   z  } 	 t;        |      }| d|z   dz   z  } 	 t=        |      }	| d|	z   d z   z  } | d!z  } 	 t?        tA        |            }
| d"|
z   d#z   z  } | d$z  } 	 tC        |      }|jD                  d%k(  r| d&z  } t	        |jF                        D ]  }|jH                  |   jJ                  dk(  rEtA        |      tL        k(  r| d'z  } | d(z  } <| d)|jH                  |   jN                  z   d*z   z  } | d+z  } d| d)|jH                  |   jN                  z   d*z   z  } | d(z  }  | d,z  } | d-z  }  	 tS                | S # t6        $ r}t9        |      }Y d }~Yd }~ww xY w# t6        $ r}t9        |      }Y d }~dd }~ww xY w# t6        $ r}t9        |      }	Y d }~od }~ww xY w# t6        $ r}t9        |      }
Y d }~ld }~ww xY w# t6        $ r}t9        |      }Y d }~d }~ww xY w# t6        $ r#}| d.|jQ                         z   d/z   z  } Y d }~d }~ww xY w)0N z  <driver_version>z</driver_version>
z  <attached_gpus>z</attached_gpus>
r   z  <gpu id="%s">
z    <product_name>z</product_name>
r   QuadroTeslaNVSGridTitanGeForcezNVIDIA Virtual ApplicationszNVIDIA Virtual PCzNVIDIA Virtual Compute ServerzNVIDIA RTX Virtual WorkstationzNVIDIA Cloud Gamingz
Quadro RTXz
NVIDIA RTXNVIDIAzGeForce RTXz	TITAN RTXz    <product_brand>z</product_brand>
z    <serial>z
</serial>
z
    <uuid>z</uuid>
z    <gpu_virtualization_mode>
z      <virtualization_mode>z</virtualization_mode>
z    </gpu_virtualization_mode>
   z%    <vgpu_software_licensed_product>
zS        <licensed_product_name>NVIDIA Virtual Applications</licensed_product_name>
z2        <license_status>Licensed</license_status>
z        <licensed_product_name>z</licensed_product_name>
z4        <license_status>Unlicensed</license_status>
z&    </vgpu_software_licensed_product>
z	  </gpu>
zexample.py: 
)*nvmlInitstrnvmlSystemGetDriverVersionnvmlDeviceGetCountrangenvmlDeviceGetHandleByIndexnvmlDeviceGetPciInfobusIdnvmlDeviceGetNameNVML_BRAND_UNKNOWNNVML_BRAND_QUADRONVML_BRAND_TESLANVML_BRAND_NVSNVML_BRAND_GRIDNVML_BRAND_TITANNVML_BRAND_GEFORCENVML_BRAND_NVIDIA_VAPPSNVML_BRAND_NVIDIA_VPCNVML_BRAND_NVIDIA_VCSNVML_BRAND_NVIDIA_VWSNVML_BRAND_NVIDIA_CLOUD_GAMINGNVML_BRAND_QUADRO_RTXNVML_BRAND_NVIDIA_RTXNVML_BRAND_NVIDIANVML_BRAND_GEFORCE_RTXNVML_BRAND_TITAN_RTXnvmlDeviceGetBrand	NVMLErrorr   nvmlDeviceGetSerialnvmlDeviceGetUUIDr   nvmlDeviceGetVirtualizationMode#nvmlDeviceGetGridLicensableFeaturesisGridLicenseSupportedlicensableFeaturesCountgridLicensableFeaturesfeatureStater	   productNamer   nvmlShutdown)	strResultdeviceCountihandlepciInfo
brandNames	brandNamer   serialuuidr   rD   s               r   deviceQueryrQ   A   s?   I\; 	
)C0J0L,MMPeee	(*(3{+;;>RRR	q+& N	&A/2F*62G,w}}<<I-0A&0IIL___I,I +H*G )E *F	
 +G -I 2<Y 0<O 0<[ 0<\ 9<Q 0L 0L ,H 1M  /K!J(-&'9&'AB	 .:=QQQI*,V4 &0=@@I((0 ,{::I::I(>vFG 6=@ZZZI;;I:)LV)T&)@@AE!III"#9#Q#QR 
i1HHKXX\]]>vFJrr )  .N  !N	 )-l l	 )-NQgQ~Q~  @A  RB  RN  RN  .N  Qm  .m  !m	 )-n n	%)JMcMzMz{|M}  NJ  NJ  *J  Mi  *i  iI%)hhI
i !JJI %I]N	&f Nk  -',	-  *$S)*  ("3'(  ("3'(*  :)4S)9&:
  ;^ckkm3d::	;s   D	L IL (I=3L ?J
L K/L  CK#L 	I:$I5/L 5I::L =	JJL JL 	J>(J93L 9J>>L 	K 
KL K  L #	L,K<7L <LL 	L0L++L0__main__N)pynvmlr   r   rQ   __name__print r   r   <module>rW      s5   H 
"cL z	+- r   