ó
    ‰“,j§x ã                   ó€M  • S SK 7  S SKJr  S SKJr  S SKrS SKrS SKrS SKr\	r
S rSr\	rS rSrSrSrSrS	rS
rSrSrSrSrSr\rSrSrSrSrSrSr \	r!S r"Sr#Sr$Sr%Sr&S	r'S
r(Sr)Sr*\	r+S r,Sr-\	r.S r/Sr0Sr1Sr2Sr3\	r4S r5Sr6Sr7Sr8Sr9Sr:S	r;S
r<Sr=Sr>Sr?\?r@\	rAS rBSrCSrDSrESrFS	rG\	rHS rISrJSrKSrLS	rM\	rNS rOSrPSrQSrRSrSS	rTS
rU\	rVSrWSrXSrYSrZSr[Sr\Sr]Sr^Sr_\	r`S raSrbSrcSrdSre\	rfS rgSrhSriSrj\	rkS rlSrmSrn\	roS rpSrqSrr\	rsS rtSruSrv\	rwS rxSrySrzSr{Sr|\	r}S r~SrSr€Sr�Sr‚\	rƒS r„Sr…Sr†Sr‡\	rˆS r‰SrŠSr‹SrŒSr�S	rŽS
r�Sr�Sr‘Sr’Sr“Sr”Sr•Sr–Sr—Sr˜Sr™\	ršS r›SrœSr�SržSrŸ\	r S r¡Sr¢Sr£Sr¤Sr¥S	r¦S
r§Sr¨Sr©SrªSr«Sr¬Sr­Sr®Sr¯Sr°Sr±Sr²Sr³Sr´SrµSr¶Sr·S r¸S!r¹S"rºS#r»S$r¼S%r½S&r¾S'r¿S(rÀ\	rÁS rÂSrÃ\	rÄS rÅSrÆ\	rÇS rÈSrÉ\	rÊS rËSrÌSrÍ\	rÎS rÏSrÐSrÑ\	rÒS rÓSrÔSrÕ\	rÖS r×SrØSrÙ\	rÚS rÛSrÜSrÝSrÞSrßS	ràS
ráSrâ\	rãS räSråSræSrçSrèS	réS
rêSrëSrì\	ríS rîSrïSrðSrñSròS	róSrôSrõSrö\	r÷S røSrùSrúSrû\	rüS rýSrþSrÿSGr SGr\	GrS GrSGr\	GrS GrSGr\	GrS Gr	SGr
SGrSGrSGrS	GrS
GrSGrSGrSGrSGr\	GrS GrSGrSGr\	GrS GrSGrSGrS'GrS)GrG\GrS*Gr\	Gr S+Gr!SGr"SGr#SGr$SGr%SGr&S	Gr'\	Gr(S Gr)SGr*G\*Gr+SGr,SGr-SGr.S	Gr/S
Gr0\	Gr1SGr2SGr3SGr4S	Gr5S
Gr6SGr7SGr8SGr9SGr:SGr;S,Gr<\	Gr=S Gr>SGr?SGr@SGrASGrB\	GrCS GrDSGrESGrF\	GrGS GrHSGrI\	GrJS-GrKS.GrLS/GrM\	GrNS GrOSGrPSGrQSGrRSGrSS	GrTS
GrU\	GrVSGrWSGrXSGrYSGrZSGr[SGr\SGr]SGr^\	Gr_S Gr`SGra\	GrbS GrcSGrdSGreSGrfSGrgS	GrhS GriSGrjSGrkSGrlSGrmSGrnSGroS0GrpS1GrqS0GrrS0GrsSGrtS1GruS'GrvS0GrwS0GrxSGrySGrzSGr{SGr|SGr}SGr~G\" \	5      S2-   Gr€S2Gr�SGr‚S3GrƒS4Gr„S5Gr…G\†" S65      Gr‡\	" S65      Grˆ SGr‰SGrŠSGr‹SGrŒS	Gr�S
GrŽSGr�SGr�SGr‘SGr’SGr“SGr”SGr•SGr–SGr—SGr˜SGr™SGršSGr›SGrœSGr�SGržS GrŸS!Gr S"Gr¡S#Gr¢S$Gr£S%Gr¤S&Gr¥S'Gr¦S7Gr§SGr¨S8Gr©S9GrªS:Gr«SGr¬S;Gr­S<Gr®S=Gr¯S)Gr°S>Gr±S?Gr²S@Gr³SAGr´SBGrµSCGr¶SDGr·SEGr¸SFGr¹S*GrºSGGr»SHGr¼SIGr½SJGr¾SKGr¿SLGrÀSMGrÁSNGrÂSOGrÃSPGrÄSQGrÅSRGrÆSSGrÇSGrÈSTGrÉSUGrÊSVGrËSWGrÌSXGrÍSYGrÎSZGrÏS[GrÐS\GrÑS]GrÒS^GrÓS_GrÔS`GrÕSaGrÖSbGr×S0GrØScGrÙSdGrÚSeGrÛSfGrÜSgGrÝShGrÞSiGrßSjGràSkGráSlGrâSmGrãSnGräSoGråSpGræSqGrçS1GrèSrGréSsGrêStGrëSuGrìSvGríSwGrîSxGrïSyGrðSzGrñS{GròS|GróS}GrôS~GrõSGröS€Gr÷S�GrøS‚GrùSƒGrúS„GrûS…GrüS†GrýS‡GrþSˆGrÿS‰Gr SŠGrS‹GrSŒGrS�GrSŽGrS�GrS�GrSGrS‘Gr	S’Gr
S“GrS”GrS•GrS–GrS—GrS˜GrS™GrSšGrS›GrSœGrS�GrSžGrSŸGrS GrS¡GrS¢GrS£GrS¤GrS¥GrS¦GrS§GrS¨Gr S©Gr!SªGr"S«Gr#S¬Gr$S­Gr%S®Gr&S¯Gr'S°Gr(S±Gr)S²Gr*S³Gr+S´Gr,SµGr-S¶Gr.S·Gr/S¸Gr0S¹Gr1SºGr2S»Gr3S¼Gr4S½Gr5S¾Gr6S¿Gr7SÀGr8SÁGr9SÂGr:SÃGr;SÄGr<SÅGr=SÆGr>SÇGr?SÈGr@SÉGrASÊGrBSËGrCSÌGrDSÍGrESÎGrFSÏGrGSÐGrHSÑGrISÒGrJSÓGrKSÔGrLSÕGrMSÖGrNS×GrOSØGrPSÙGrQSÚGrRSÛGrSSÜGrTSÝGrUSÞGrVSßGrWSàGrXSáGrYSâGrZSãGr[SäGr\SåGr]SæGr^SçGr_SèGr`SéGraSêGrbSëGrcSìGrdSíGreSîGrfSïGrgSðGrhSñGriSòGrjSóGrkSôGrlSõGrmSöGrnS÷GroSøGrpSùGrqSúGrrSûGrsSüGrtSýGruSþGrvSÿGrwGS GrxGSGryGSGrzGSGr{GSGr|GSGr}GSGr~GSGrGSGr€GS	Gr�GS
Gr‚GSGrƒGSGr„GSGr…GSGr†SGr‡S2GrˆGSGr‰GSGrŠGSGr‹GSGrŒGSGr�GSGrŽGSGr�GSGr�GSGr‘GSGr’GSGr“GSGr”G\ÒGr•G\ÔGr–GSGr—GSGr˜GSGr™GSGršGSGr›GS GrœGS!Gr�GS"GržGS#GrŸGS$Gr GS%Gr¡GS&Gr¢GS'Gr£GS(Gr¤GS)Gr¥GS*Gr¦GS+Gr§GS,Gr¨GS-Gr©GS.GrªGS/Gr«GS0Gr¬GS1Gr­GS2Gr®GS3Gr¯GS4Gr°GS5Gr±GS6Gr²GS7Gr³GS8Gr´GS9GrµGS:Gr¶GS;Gr·GS<Gr¸GS=Gr¹S GrºSGr»SGr¼S Gr½SGr¾SGr¿S GrÀSGrÁS GrÂSGrÃS GrÄSGrÅSGrÆSGrÇSGrÈSGqÉ\GR”                  " 5       GrËS GqÌ\	GrÍ\	GrÎ\	GrÏS GrÐSGrÑ\	GrÒS GrÓSGrÔSGrÕSGrÖSGr×SGrØG\ÙGrÚS+GrÛGS>GrÜGS?GrÝGS@GrÞGSAGrß\	GràS GráSGrâSGrãSGräSGråS	Græ\	GrçS GrèSGréSGrê\	GrëS GrìSGríSGrîSGrïSGrðS	GrñS
GròSGróSGrôSGrõSGröSGr÷SGrø\	GrùS GrúSGrû\	GrüS GrýSGrþSGrÿSGr SGr\	GrS GrSGrSGrSGrGSBGr\	GrS Gr	SGr
\	GrS GrSGr\	GrS GrSGr\	GrS GrSGrSGrSGrSGr\	GrS GrSGrS GrSGrSGrS GrSGrSGr\	Gr S Gr!SGr"\	Gr#S*Gr$STGr%SGr& " GSC GSDG\'5      Gr( " GSE GSFG\'5      Gr)GSG Gr*GSH Gr+G\+" 5         GSI Gr,G\-" 5       Gr.GSJ Gr/ " GSK GSLG\05      Gr1GSM Gr2GSN Gr3 " GSO GSPG\45      Gr5G\6" G\55      Gr7 " GSQ GSRG\45      Gr8 " GSS GSTG\85      Gr9 " GSU GSVG\85      Gr:GSWGr; " GSX GSYG\85      Gr< " GSZ GS[G\85      Gr= " GS\ GS]G\85      Gr> " GS^ GS_G\85      Gr? " GS` GSaG\45      Gr@G\6" G\@5      GrA " GSb GScG\85      GrBGSdGrC " GSe GSfG\85      GrD " GSg GShG\85      GrE " GSi GSjG\85      GrFGSkGrG " GSl GSmG\85      GrHSGrIS GrJ " GSn GSoG\85      GrK " GSp GSqG\85      GrL " GSr GSsG\85      GrM " GSt GSuG\85      GrN " GSv GSwG\85      GrOGSxGrP " GSy GSzG\85      GrQ " GS{ GS|G\45      GrRSGrS " GS} GS~G\45      GrT " GS GS€G\85      GrUG\UGrVG\VGrW\	GrXS GrYSGrZSGr[SGr\SGr] " GS� GS‚G\45      Gr^ " GSƒ GS„G\85      Gr_G\_Gr`GS…Gra " GS† GS‡G\85      Grb " GSˆ GS‰G\85      Grc " GSŠ GS‹G\85      Grd " GSŒ GS�G\85      Gre " GSŽ GS�G\85      Grf " GS� GS‘G\g5      Grh " GS’ GS“G\85      Gri " GS” GS•G\85      Grj " GS– GS—G\85      GrkS GrlGS˜Grm " GS™ GSšG\85      GrnGS›Gro " GSœ GS�G\85      GrpGS›Grq " GSž GSŸG\85      Grr " GS  GS¡G\85      GrsGSWGrt " GS¢ GS£G\85      GruGSWGrv " GS¤ GS¥G\85      GrwGS…GrxS GrySGrz " GS¦ GS§G\85      Gr{GS¨Gr| " GS© GSªG\85      Gr}GS«Gr~ " GS¬ GS­G\85      Gr " GS® GS¯G\85      Gr€ " GS° GS±G\85      Gr�GS²Gr‚ " GS³ GS´G\85      Grƒ " GSµ GS¶G\85      Gr„ " GS· GS¸G\85      Gr…GS…Gr† " GS¹ GSºG\85      Gr‡GS«Grˆ " GS» GS¼G\85      Gr‰S GrŠSGr‹SGrŒSGr�SGrŽS	Gr� " GS½ GS¾G\85      Gr� " GS¿ GSÀG\85      Gr‘ " GSÁ GSÂG\85      Gr’ " GSÃ GSÄG\85      Gr“ " GSÅ GSÆG\85      Gr”GS…Gr• " GSÇ GSÈG\85      Gr– " GSÉ GSÊG\85      Gr— " GSË GSÌG\85      Gr˜ " GSÍ GSÎG\85      Gr™ " GSÏ GSÐG\85      Grš " GSÑ GSÒG\85      Gr› " GSÓ GSÔG\85      Grœ " GSÕ GSÖG\85      Gr� " GS× GSØG\85      Grž " GSÙ GSÚG\85      GrŸGSWGr S>Gr¡SGr¢S Gr£SGr¤SGr¥ " GSÛ GSÜG\g5      Gr¦GSÝGr§ " GSÞ GSßG\85      Gr¨GS«Gr© " GSà GSáG\85      GrªGS›Gr« " GSâ GSãG\85      Gr¬GSWGr­ " GSä GSåG\85      Gr®SGr¯SGr°SGr±SGr²S	Gr³SuGr´ " GSæ GSçG\85      Grµ " GSè GSéG\85      Gr¶GSêGr· " GSë GSìG\85      Gr¸GSíGr¹ " GSî GSïG\85      GrºGSð Gr»S Gr¼SGr½SGr¾GSWGr¿ " GSñ GSòG\85      GrÀGSWGrÁ " GSó GSôG\85      GrÂS GrÃSGrÄSGrÅSvGrÆSwGrÇSxGrÈSÙGrÉGS;GrÊGS<GrËGS=GrÌGSõGrÍGSöGrÎGS÷GrÏGSøGrÐGSùGrÑ " GSú GSûG\85      GrÒ " GSü GSýG\85      GrÓ " GSþ GSÿG\85      GrÔ " GS  GSG\85      GrÕGS GrÖ " GS GSG\85      Gr×GS GrØ " GS GSG\45      GrÙG\6" G\Ù5      GrÚSGrÛSGrÜSGrÝSGrÞSGrßSGràS2GráGSGrâGS	GrãS3GräGS
GråGSGræGSGrçGSGrèS GréG\éG\Û-  G\Ü-  G\Ý-  G\ß-  G\à-  G\Þ-  G\á-  G\â-  G\ã-  G\ä-  G\å-  G\æ-  G\ç-  G\è-  GrêSGrëSGrìG\ìGríSGrîSGrïSGrðSGrñSGròSGróS2GrôS GrõG\õG\ë-  G\ì-  G\î-  G\ï-  G\ð-  G\ñ-  G\ò-  G\ó-  G\ô-  GröSGr÷SGrøG\øGrùSGrúSGrûSGrüSGrýSGrþSGrÿS2Gr S GrG\G\÷-  G\ø-  G\ú-  G\û-  G\ü-  G\ý-  G\þ-  G\ÿ-  G\ -  Gr " GS GSG\85      Gr " GS GSG\45      GrG\6" G\5      GrSGrSGrSGrGS«Gr	 " GS GSG\85      Gr
GS«Gr " GS GSG\85      GrGS…Gr " GS GSG\85      Gr " GS GSG\85      GrGS²Gr " GS GSG\85      GrGS GrGS GrGS GrGS GrGS  GrGS! GrGS" GrGS# Gr " GS$ GS%G\85      Gr " GS& GS'G\85      Gr " GS( GS)G\45      Gr " GS* GS+G\85      Gr " GS, GS-G\85      Gr " GS. GS/G\45      GrS Gr SGr!SGr"SGr#SGr$SØGr%S Gr&SGr'SGr(SGr)SGr*SGr+ " GS0 GS1G\85      Gr, " GS2 GS3G\85      Gr- " GS4 GS5G\g5      Gr. " GS6 GS7G\85      Gr/ " GS8 GS9G\85      Gr0 " GS: GS;G\85      Gr1 " GS< GS=G\85      Gr2 " GS> GS?G\85      Gr3 " GS@ GSAG\g5      Gr4 " GSB GSCG\85      Gr5 " GSD GSEG\85      Gr6 " GSF GSGG\85      Gr7GS«Gr8 " GSH GSIG\85      Gr9GS›Gr: " GSJ GSKG\85      Gr;GS«Gr< " GSL GSMG\85      Gr=GS…Gr> " GSN GSOG\85      Gr?GS…Gr@ " GSP GSQG\85      GrAGSRGrB " GSS GSTG\85      GrCGS²GrD " GSU GSVG\85      GrE " GSW GSXG\85      GrF " GSY GSZG\85      GrG " GS[ GS\G\85      GrH " GS] GS^G\45      GrI " GS_ GS`G\85      GrJS GrKSGrLS GrMSGrNSGrOSGrPSGrQS	GrRS
GrSSGrTSGrUSGrVSGrWSGrXSGrYSGrZSGr[SGr\SGr]SGr^SGr_ " GSa GSbG\45      Gr` " GSc GSdG\45      GraGSeGrb " GSf GSgG\85      Grc " GSh GSiG\45      Grd " GSj GSkG\45      GreG\6" G\e5      GrfS GrgSGrhSGriSGrjSGrkS	GrlS
GrmSGrnSGroSGrpS GrqSGrr " GSl GSmG\45      Grs " GSn GSoG\45      GrtGSpGru " GSq GSrG\85      Grv " GSs GStG\45      GrwSGrxS GrySGrzSGr{SGr| " GSu GSvG\45      Gr} " GSw GSxG\45      Gr~SGrS Gr€SGr�SGr‚SGrƒSGr„SGr…SGr†SGr‡SGrˆS6Gr‰S GrŠSGr‹SGrŒSGr�SGrŽS	Gr�S
Gr�SGr‘SGr’SGr“SGr”SGr•SGr–SGr—SGr˜SGr™SGršSGr›S6Grœ " GSy GSzG\45      Gr� " GS{ GS|G\45      Grž\	GrŸS Gr SGr¡SGr¢SGr£\	Gr¤SGr¥SGr¦SGr§SGr¨G\¦G\§-  G\¨-  Gr© " GS} GS~G\85      GrªGS«Gr«GS Gr¬ " GS€ GS�G\45      Gr­G\6" G\­5      Gr® " GS‚ GSƒG\45      Gr¯ " GS„ GS…G\45      Gr°GS
Gr±GS†Gr²SGr³GSGr´GS
GrµS Gr¶SGr· " GS‡ GSˆG\45      Gr¸GS‰Gr¹ " GSŠ GS‹G\45      Grº " GSŒ GS�G\45      Gr» " GSŽ GS�G\45      Gr¼ " GS� GS‘G\45      Gr½ " GS’ GS“G\45      Gr¾ " GS” GS•G\45      Gr¿GS«GrÀ " GS– GS—G\45      GrÁGS«GrÂGS˜ GrÃGS™ GrÄGSš GrÅGS› GrÆGSœ GrÇGS� GrÈG\ÃGSž 5       GrÉG\ÃGSŸ 5       GrÊGS  GrËGS¡ GrÌG\ÃGS¢ 5       GrÍG\ÃGS£ 5       GrÎGS¤ GrÏGS¥ GrÐGS¦ GrÑGS§ GrÒGS¨ GrÓGS© GrÔGSª GrÕGS« GrÖGS¬ Gr×GS­ GrØGS® GrÙGS¯ GrÚGS° GrÛGS± GrÜG\ÃGS² 5       GrÝG\ÃGS³ 5       GrÞG\ÃGS´ 5       GrßG\ÃGSµ 5       GràG\ÃGS¶ 5       Grá " GS· GS¸G\85      GrâGS¹GrãG\ÃGSº 5       Grä " GS» GS¼G\85      GråGS¹GræG\ÃGS½ 5       GrçGS¾ GrèGS¿ GréGSÀ GrêGSÁ GrëGSÂ GrìG\ÃGSÃ 5       GríG\ÃGSÄ 5       Grî\	" 5       4GSÅ jGrïGSÆ GrðGSÇ GrñGSÈ GròGSÉ GróGSÊ GrôGSË GrõGSÌ GröGSÍ Gr÷G\ÃGSÎ 5       GrøG\ÃGSÏ 5       GrùG\ÃGSÐ 5       GrúGSÑ GrûGSÒ GrüGSÓ GrýGSÔ GrþGSÕ GrÿGSÖ Gr GS× GrGSØ GrGSÙ GrGSÚ GrGSÛ GrGSÜ GrGSÝ GrGSÞ GrGSß Gr	GSà Gr
GSá GrGSâ GrGSã Gr " GSä GSåG\85      GrGS›GrGSæ GrGSç GrGSè GrGSé Gr\	" 5       \	" 5       4GSê jGr\	" 5       4GSë jGrGSì Gr " GSí GSîG\85      GrGS›GrGSï GrG\4GSð jGrGSñ GrGSò GrGSó GrGSô GrGSõ GrGSö Gr GS÷ Gr!GSø Gr"GSù Gr#GSú Gr$GSû Gr%GSü Gr&GSý Gr'GSþ Gr(GSÿ Gr)GS  Gr*GSšGS jGr+GS Gr,GS Gr-GS Gr.GS Gr/GS Gr0GS Gr1GS Gr2GS	 Gr3GS
 Gr4GS Gr5GS Gr6GS Gr7GS Gr8GS Gr9GS Gr:GS Gr;GS Gr<GS Gr=GS Gr>GS Gr?GS Gr@G\ÃGS 5       GrAGS GrBGS GrCG\ÄGS 5       GrDGS GrEGS GrFG\ÄGS 5       GrGG\ÄGS 5       GrHGS GrIGS  GrJGS! GrKGS" GrLGS# GrMGS$ GrNGS% GrOGS& GrPGS' GrQGS( GrRGS) GrSGS* GrTGS+ GrUGS, GrVGS- GrWGS. GrXG\T" 5       4GS/ jGrYGS0 GrZGS1 Gr[GS2 Gr\GS3 Gr]GS4 Gr^GS5 Gr_GS6 Gr`GS7 GraGS8 GrbGS9 GrcGS: GrdGS; GreGS< GrfGS= GrgGS> GrhGS? GriGS@ GrjGSA GrkGSB GrlGSC GrmGSD GrnGSE GroGSF GrpGSG GrqGSH GrrGSI GrsGSJ GrtGSK GruGSL GrvGSM GrwGSN GrxGSO GryGSP GrzGSQ Gr{GSR Gr|GSS Gr}GST Gr~GSU GrGSV Gr€GSW Gr�GSX Gr‚GSY GrƒGSZ Gr„GS[ Gr…GS\ Gr†GS] Gr‡GS^ GrˆGS_ Gr‰GS` GrŠGSa Gr‹GSb GrŒGSc Gr�GSd GrŽGSe Gr�GSf Gr�GSg Gr‘GSh Gr’GSi Gr“GSj Gr”GSk Gr•GSl Gr–GSm Gr—GSn Gr˜GS›GSo jGr™GS>GSp jGršGSq Gr›GSr GrœGSs Gr�GSt GržGSu GrŸGSv Gr GSw Gr¡G\ÃGSx 5       Gr¢G\ÃGSy 5       Gr£GSz Gr¤GS{ Gr¥GS| Gr¦GS} Gr§G\ÃGS~ 5       Gr¨GS Gr©GS€ GrªGS� Gr«GS‚ Gr¬GSƒ Gr­GS„ Gr®GS… Gr¯GS† Gr°G\ÃGS‡ 5       Gr±G\ÃGSˆ 5       Gr²G\ÃGS‰ 5       Gr³G\ÃGSŠ 5       Gr´GS‹ GrµGSŒ Gr¶GS� Gr·GSŽ Gr¸GS� Gr¹GS� GrºGS‘ Gr»GS’ Gr¼GS“ Gr½GS” Gr¾GS• Gr¿G\ÃGS– 5       GrÀGS— GrÁGS˜ GrÂGS™ GrÃGSš GrÄGS› GrÅGSšGSœ jGrÆ\	" 5       \	" 5       4GS� jGrÇGSž GrÈGSŸ GrÉGS  GrÊGS¡ GrËGS¢ GrÌGS£ GrÍGS¤ GrÎGS¥ GrÏGS¦ GrÐGS§ GrÑGS¨ GrÒGS© GrÓGSª GrÔGS« GrÕGS¬ GrÖGS­ Gr×G\ÃGS® 5       GrØGS¯ GrÙGS° GrÚGS± GrÛGS² GrÜGS³ GrÝGSœGS´ jGrÞGSµ GrßGS¶ GràGS· GráGS¸ GrâGS¹ GrãGSº GräGS» GråGS¼ GræGS½ GrçGS¾ GrèGS¿ GréGSÀ GrêGSÁ GrëGSÂ GrìGSÃ GríGSÄ GrîGSÅ GrïGSÆ GrðGSÇ GrñGSÈ GròGSÉ GróGSÊ GrôGSË GrõGSÌ GröGS?GSÍ jGr÷GSÎ GrøG\÷GrùG\øGrúGSÏ GrûGSÐ GrüGSÑ GrýGSÒ GrþGSÓ GrÿGSÔ Gr GSÕ GrGSÖ GrGS?GS× jGrG\GrGSØ GrGSÙ GrGSÚ GrGSÛ GrGSÜ Gr	GSÝ Gr
GSÞ GrGSß GrGSà GrGSá GrGSâ GrGSã GrGSä GrGSå GrGSæ GrGSç GrGSè GrGSé GrGSê GrGSë GrGSì GrGSí GrGSî GrGSï GrGSð GrGSñ GrGSò GrGSó Gr G\~" 5       4GSô jGr!GSõ Gr"G\ž" 5       4GSö jGr#\	" 5       \	" 5       4GS÷ jGr$\	Gr%S Gr&SGr'SGr(SGr) " GSø GSùG\85      Gr*GSú Gr+GSû Gr, " GSü GSýG\85      Gr-GS…Gr.GSþ Gr/GSÿ Gr0GS  Gr1GS Gr2GS Gr3G\4" 5       G\4" 5       4GS jGr5GS Gr6GS Gr7G\4" 5       G\4" 5       4GS jGr8GS Gr9GS Gr:GS	 Gr;GS
 Gr<GS Gr=GS Gr>GS Gr?GS Gr@GS GrAGS GrBGS GrCGS GrDSGrESGrFSGrGSGrHS	GrIS
GrJSGrKSGrLSGrMSGrNSGrOSGrPSGrQSGrRSGrSS'GrTS7GrUSGrVS8GrWS9GrXS:GrYSGrZS;Gr[S)Gr\S>Gr]S?Gr^S@Gr_SAGr`SBGraSCGrbSDGrcS*GrdSGGreSPGrfSQGrgSRGrhSSGriSGrjSTGrkSUGrlSVGrmSWGrnSXGroSYGrpSZGrqS[GrrS\GrsS]GrtS^GruS_GrvS`GrwSaGrxSbGryS0GrzScGr{SdGr|SeGr}SfGr~SgGrShGr€SiGr�SjGr‚SkGrƒSlGr„SmGr…SnGr†SoGr‡SpGrˆSqGr‰S1GrŠSrGr‹SuGrŒSvGr�SwGrŽSxGr�SyGr�SzGr‘S{Gr’S|Gr“S}Gr”S~Gr•SGr–S€Gr—S�Gr˜S‚Gr™SƒGršS„Gr›S…GrœS†Gr�S‡GržSˆGrŸS‰Gr SŠGr¡S‹Gr¢SŒGr£S�Gr¤SŽGr¥S�Gr¦S�Gr§SGr¨S‘Gr©S’GrªS“Gr«S”Gr¬S•Gr­S–Gr®S—Gr¯S˜Gr°S™Gr±SšGr²S›Gr³SœGr´S�GrµSžGr¶SŸGr·S Gr¸S¡Gr¹S¢GrºS£Gr»S¤Gr¼S¥Gr½S¦Gr¾S§Gr¿S¨GrÀS©GrÁSªGrÂS«GrÃS¬GrÄS­GrÅS®GrÆS¯GrÇS°GrÈS±GrÉS²GrÊS³GrËS´GrÌSµGrÍS¶GrÎS·GrÏS¸GrÐS¹GrÑSºGrÒS»GrÓS¼GrÔS½GrÕS¾GrÖS¿Gr×SÀGrØSÁGrÙSÂGrÚSÃGrÛSÄGrÜSÅGrÝSÆGrÞSÇGrßSÈGràSÉGráSÊGrâSËGrãSÌGräSÍGråSÎGræSÏGrçSÐGrèSÑGréSÒGrêSÓGrëSÔGrìSÕGríSÖGrîS×GrïSØGrðSÙGrñSÚGròSÛGróSÜGrôSÝGrõSÞGröSßGr÷SàGrøSáGrùSäGrúSåGrûSæGrüSçGrýSèGrþSéGrÿSêGr SëGrSìGrSíGrSîGrSïGrSðGrSñGrSòGrSóGr	SôGr
SõGrSöGrS÷GrSøGrSùGrSúGrSûGrSüGrSýGrSþGrSÿGrGS GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGS	GrGS
Gr GSGr!GSGr"GSGr#GSGr$SGr%S2Gr&GSGr'GSGr(GSGr)GSGr*GSGr+GSGr,GSGr-GSGr.GSGr/GSGr0GSGr1GSGr2GSGr3GSGr4GSGr5GSGr6GSGr7GS Gr8GS!Gr9GS"Gr:GS#Gr;GS$Gr<GS%Gr=GS&Gr>GS'Gr?GS(Gr@GS)GrAGS*GrBGS+GrCGS,GrDGS-GrEGS.GrFGS/GrGGS0GrHGS1GrIGS2GrJGS3GrKGS4GrLGS5GrMGS6GrNGS7GrOGS8GrPGS9GrQGS:GrRGS;GrSGS<GrTGS=GrUGSõGrVGSöGrWGS÷GrXGSøGrYGSGrZGSGr[GSGr\GSGr]GSGr^GSGr_GSGr`GSGraGSGrbGSGrcGSGrdGSGreGSGrfGS GrgGS!GrhGS"GriGS#GrjGS$GrkGS%GrlGS&GrmGS'GrnGS(GroGS)GrpGS*GrqGS+GrrGS,Grs " GS- GSTG\85      Gr9 " GS. GS/G\45      GrtG\6" G\t5      Gru " GS0 GS1G\45      Grv " GS2 GS3G\85      Grw " GS4 GS5G\85      GrxSGry " GS6 GS7G\85      GrzSGr{GS8 Gr|GS9 Gr}GS: Gr~GS; GrGS< Gr€GS= Gr�GS> Gr‚GS? GrƒS Gr„SGr…SGr†GS@Gr‡S,GrˆG\ˆGr‰ " GSA GSBG\45      GrŠGSC Gr‹SGrŒ\	Gr�S GrŽSGr�SGr�SGr‘ " GSD GSEG\85      Gr’S Gr“SGr”SGr•S Gr–SGr—S Gr˜SGr™SGršSGr›SGrœS Gr�SGržSGrŸSGr SGr¡S Gr¢SGr£SGr¤S
Gr¥SGr¦S Gr§SGr¨SGr©SGrªSGr«S	Gr¬S
Gr­SGr®G\®Gr¯SGr°SGr±SGr²S Gr³SGr´SGrµSGr¶SGr·S Gr¸SGr¹SGrºSGr»GSFGr¼ " GSG GSHG\85      Gr½G\½Gr¾ " GSI GSJG\85      Gr¿GSKGrÀGSL GrÁGSM GrÂS GrÃSGrÄSGrÅSGrÆSGrÇS	GrÈGSN GrÉGSO GrÊ\	GrËS GrÌSGrÍSGrÎSGrÏSGrÐ " GSP GSQG\85      GrÑGSRGrÒG\Ò4GSS jGrÓ " GST GSUG\85      GrÔGSVGrÕGSW GrÖSGr×GSWGrØ " GSX GSYG\85      GrÙGSZ GrÚ " GS[ GS\G\85      GrÛ " GS] GS^G\85      GrÜGS_GrÝGS`GrÞGSa GrßSGrà " GSb GScG\85      Grá " GSd GSeG\85      GrâSGrãS GräSGråSGræSGrçSGrèS	GréS
GrêSGrëSGrìSGríSGrîSGrïSGrðSGrñSGròSGróGS_Grô " GSf GSgG\85      GrõGShGrö " GSi GSjG\85      Gr÷GSkGrø " GSl GSmG\85      GrùGSnGrú " GSo GSpG\85      GrûS GrüSGrýSGrþSGrÿGSnGr  " GSq GSrG\85      GrGSs GrGSt GrGSu GrGSv GrGSw GrGSx GrGSy GrGSz Gr	GSWGr
 " GS{ GS|G\85      GrGS} GrGS~ GrGS GrGS€ GrSGrS	GrS,GrS GrSGrSGrSGrSGrS	GrS
GrSGrGSWGr " GS� GS‚G\85      GrGS…Gr " GSƒ GS„G\85      GrGS… GrGS† Gr GS‡ Gr! " GSˆ GS‰G\85      Gr" " GSŠ GS‹G\85      Gr#GS«Gr$GSŒ Gr%GS� Gr&GSŽ Gr'GS� Gr(G\ÃGS� 5       Gr)GS‘ Gr*GS’ Gr+S Gr,SGr-SGr.SGr/SGr0SGr1SGr2SGr3SGr4GS“Gr5GS«Gr6 " GS” GS•G\85      Gr7GS– Gr8 " GS— GS˜G\85      Gr9GS™ Gr:g(�  é    )Ú*)Úfind_library©ÚwrapsNé   é   é   é   é   é   é   é   é	   é
   é   é   é   é   é   é   é   é$   é    é@   é€   éÿ   é   é   é   é   é   é   é   é   é   é   é   é   é   iç  é(   é2   ©r   l   ÿÿ l    ÿ l   ÿ l   ÿ éP   é`   é   i   z%04X:%02X:%02X.0z%08X:%02X:%02X.0éÿÿÿÿé   é!   é"   é#   é%   é&   é'   é)   é*   é+   é,   é-   é.   é/   é0   é1   é3   é4   é5   é6   é7   é8   é9   é:   é;   é<   é=   é>   é?   éA   éB   éC   éD   éE   éF   éG   éH   éI   éJ   éK   éL   éM   éN   éO   éQ   éR   éS   éT   éU   éV   éW   éX   éY   éZ   é[   é\   é]   é^   é_   éa   éb   éc   éd   ée   éf   ég   éh   éi   éj   ék   él   ém   én   éo   ép   éq   ér   és   ét   éu   év   éw   éx   éy   éz   é{   é|   é}   é~   é   é�   é‚   éƒ   é„   é…   é†   é‡   éˆ   é‰   éŠ   é‹   éŒ   é�   éŽ   é�   é�   é‘   é’   é“   é”   é•   é–   é—   é˜   é™   éš   é›   éœ   é�   éž   éŸ   é    é¡   é¢   é£   é¤   é¥   é¦   é§   é¨   é©   éª   é«   é¬   é­   é®   é¯   é°   é±   é²   é³   é´   éµ   é¶   é·   é¸   é¹   éº   é»   é¼   é½   é¾   é¿   éÀ   éÁ   éÂ   éÃ   éÄ   éÅ   éÆ   éÇ   éÈ   éÉ   éÊ   éË   éÌ   éÍ   éÎ   éÏ   éÐ   éÑ   éÒ   éÓ   éÔ   éÕ   éÖ   é×   éØ   éÙ   éÚ   éÛ   éÜ   éÝ   éÞ   éß   éà   éá   éâ   éã   éä   éå   éæ   éç   éè   éé   éê   éë   éì   éí   éî   éï   éð   éñ   éò   éó   éô   éõ   éö   é÷   éø   éù   éú   éû   éü   éý   éþ   i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  )r   )r   ©r	   )r
   l        c                   ó   • \ rS rSrSrg)ÚNVMLLibraryMismatchErrori÷  © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r  ó    Ú”C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\pynvml.pyr  r  ÷  ó   † Úr  r  c                   ó®   • \ rS rSr\" 5       r0 \S_\S_\S_\	S_\
S_\S_\S_\S	_\S
_\S_\S_\S_\S_\S_\S_\S_\S_\S\S\S0ErS rS rS rSrg)Ú	NVMLErroriû  ÚUninitializedzInvalid ArgumentzNot SupportedzInsufficient PermissionszAlready Initializedz	Not FoundzInsufficient SizezInsufficient External PowerzDriver Not LoadedÚTimeoutzInterrupt Request IssuezNVML Shared Library Not FoundzFunction Not FoundzCorrupted infoROMzGPU is lostzGPU requires restartz-The operating system has blocked the request.z,RM has detected an NVML/RM version mismatch.zInsufficient MemoryzUnknown Errorc                 óŽ   • U [         :X  a  [         R                  R                  X5      n [        R	                  U 5      nXl        U$ )zi
Maps value to a proper subclass of NVMLError.
See _extractNVMLErrorsAsClasses function for more details
)r  Ú_valClassMappingÚgetÚ	ExceptionÚ__new__Úvalue)Útypr  Úobjs      r  r  ÚNVMLError.__new__  s<   € ð
 ”)ÓÜ×,Ñ,×0Ñ0°Ó<ˆCÜ×Ñ Ó$ˆØŒ	Øˆ
r  c                 ó*  •  U R                   [        R                  ;  a9  [        [	        U R                   5      5      [        R                  U R                   '   [        R                  U R                      $ ! [         a    SU R                   -  s $ f = f)NzNVML Error with code %d)r  r  Ú_errcode_to_stringÚstrÚnvmlErrorString©Úselfs    r  Ú__str__ÚNVMLError.__str__  sn   € ð	:Ø�z‰z¤×!=Ñ!=Ó=Ü;>¼ÈtÏzÉzÓ?ZÓ;[”	×,Ñ,¨T¯Z©ZÑ8Ü×/Ñ/°·
±
Ñ;Ð;øÜó 	:Ø,¨t¯z©zÑ9Ò9ð	:ús   ‚A3A6 Á6BÂBc                 ó4   • U R                   UR                   :H  $ ©N)r  )r(  Úothers     r  Ú__eq__ÚNVMLError.__eq__%  s   € Ø�z‰z˜UŸ[™[Ñ(Ð(r  r  N)r  r  r  r  Údictr  ÚNVML_ERROR_UNINITIALIZEDÚNVML_ERROR_INVALID_ARGUMENTÚNVML_ERROR_NOT_SUPPORTEDÚNVML_ERROR_NO_PERMISSIONÚNVML_ERROR_ALREADY_INITIALIZEDÚNVML_ERROR_NOT_FOUNDÚNVML_ERROR_INSUFFICIENT_SIZEÚNVML_ERROR_INSUFFICIENT_POWERÚNVML_ERROR_DRIVER_NOT_LOADEDÚNVML_ERROR_TIMEOUTÚNVML_ERROR_IRQ_ISSUEÚNVML_ERROR_LIBRARY_NOT_FOUNDÚNVML_ERROR_FUNCTION_NOT_FOUNDÚNVML_ERROR_CORRUPTED_INFOROMÚNVML_ERROR_GPU_IS_LOSTÚNVML_ERROR_RESET_REQUIREDÚNVML_ERROR_OPERATING_SYSTEMÚ"NVML_ERROR_LIB_RM_VERSION_MISMATCHÚNVML_ERROR_MEMORYÚNVML_ERROR_UNKNOWNr$  r  r)  r.  r  r  r  r  r  r  û  s  † Ù“vÐð
Ø ¨ð
à#Ð(:ð
ð 	!¨ð
ð 	!Ð(Bð	
ð
 	'Ð(=ð
ð 	¨ð
ð 	%Ð(;ð
ð 	&Ð(Eð
ð 	%Ð(;ð
ð 	¨	ð
ð 	Ð(Að
ð 	%Ð(Gð
ð 	&Ð(<ð
ð 	%Ð(;ð
ð 	¨ð
ð  	"Ð(>ð!
ð" 	$Ð(Wð#
ð$ 	+Ð,ZØÐ(=Ø¨ñ)
Ðò,	ò:õ)r  r  c                 ól   • U [         R                  ;  a  [        SU -  5      e[         R                  U    $ )NznvmlErrorCode %s is not valid)r  r  Ú
ValueError)ÚnvmlErrorCodes    r  ÚnvmlExceptionClassrH  (  s2   € ØœI×6Ñ6Ó6ÜÐ8¸=ÑHÓIÐIÜ×%Ñ% mÑ4Ð4r  c            	      óÊ  • [         R                  [           n [        U 5       Vs/ s H  oR	                  S5      (       d  M  UPM     nnU H�  nS[
        R                  " UR                  SS5      S5      R                  SS5      -   n[        X5      nS n[        U[        4SU" U5      05      n[        Ul        [        XU5        U[        R                  U'   M‘     gs  snf )aT  
Generates a hierarchy of classes on top of NVMLError class.

Each NVML Error gets a new NVMLError subclass. This way try,except blocks can filter appropriate
exceptions more easily.

NVMLError is a parent class. Each NVML_ERROR_* gets it's own subclass.
e.g. NVML_ERROR_ALREADY_INITIALIZED will be turned into NVMLError_AlreadyInitialized
ÚNVML_ERROR_Ú
NVMLError_Ú Ú_c                 ó   ^ • U 4S jnU$ )Nc                 ó4   >• [         R                  U T5      nU$ r,  )r  r  )r   Úargsr!  Úvals      €r  ÚnewÚ9_extractNVMLErrorsAsClasses.<locals>.gen_new.<locals>.new>  s   ø€ Ü×'Ñ'¨¨SÓ1�Ø�
r  r  )rQ  rR  s   ` r  Úgen_newÚ,_extractNVMLErrorsAsClasses.<locals>.gen_new=  s   ø€ õð ˆJr  r  N)ÚsysÚmodulesr  ÚdirÚ
startswithÚstringÚcapwordsÚreplaceÚgetattrÚtyper  r  Úsetattrr  )Úthis_moduleÚxÚnvmlErrorsNamesÚerr_nameÚ
class_nameÚerr_valrT  Únew_error_classs           r  Ú_extractNVMLErrorsAsClassesrg  -  sÆ   € ô —+‘+œhÑ'€KÜ"% kÔ"2ÓRÒ"2˜Q·l±lÀ=×6Q—qÑ"2€OÐRÛ#ˆà!¤F§O¢O°H×4DÑ4DÀ]ÐTVÓ4WÐY\Ó$]×$eÑ$eÐfiÐkmÓ$nÑnˆ
Ü˜+Ó0ˆò	ô
 ˜z¬I¨<¸)ÁWÈWÓEUÐ9VÓWˆÜ%-ˆÔ"Ü�¨Ô9Ø.=Œ	×"Ñ" 7Ó+ò $ùò Ss   ¥C ÁC c                 ó0   • U [         :w  a  [        U 5      eU $ r,  )ÚNVML_SUCCESSr  )Úrets    r  Ú_nvmlCheckReturnrk  H  s   € ØŒ|ÓÜ˜‹nÐØ€Jr  c                 óZ  • U [         ;   a	  [         U    $ [        R                  5          [        S :X  a  [	        [
        5      e [        [        U 5      [         U '   [         U    [        R                  5         $ ! [         a    [	        [        5      ef = f! [        R                  5         f = fr,  )
Ú_nvmlGetFunctionPointer_cacheÚlibLoadLockÚacquireÚnvmlLibr  r1  r]  ÚreleaseÚAttributeErrorr=  )Únames    r  Ú_nvmlGetFunctionPointerrt  O  s•   € ð Ô,Ó,Ü,¨TÑ2Ð2ä×ÑÔðä�t‹OÜÔ4Ó5Ð5ð	;Ü29¼'À4Ó2HÔ)¨$Ñ/Ü0°Ñ6ô
 	×ÑÕøô	 ó 	;ÜÔ9Ó:Ð:ð	;ûô 	×ÑÕús   ©B ÁA7 Á7BÂB ÂB*c                   ó    • \ rS rSrS rS rSrg)ÚnvmlFriendlyObjectig  c                 ó2   • U H  n[        XX   5        M     g r,  )r_  )r(  Ú
dictionaryra  s      r  Ú__init__ÚnvmlFriendlyObject.__init__h  s   € ÛˆAÜ�D˜Z™]Ö+ò r  c                 ó6   • U R                   R                  5       $ r,  )Ú__dict__r)  r'  s    r  r)  ÚnvmlFriendlyObject.__str__k  s   € Ø�}‰}×$Ñ$Ó&Ð&r  r  N)r  r  r  r  ry  r)  r  r  r  r  rv  rv  g  s   † ò,õ'r  rv  c                 ó¸   • 0 nU R                    H<  nUS   n[        X5      n[        U[        5      (       a  UR	                  5       OUX'   M>     [        U5      nU$ ©Nr   )Ú_fields_r]  Ú
isinstanceÚbytesÚdecoderv  )ÚstructÚdra  Úkeyr  r!  s         r  ÚnvmlStructToFriendlyObjectr‡  n  sT   € Ø
€AØ�_Œ_ˆØ�‰dˆÜ˜Ó$ˆä#-¨e´U×#;Ñ#;�—‘”Àˆ‹ñ	 ô
 ˜QÓ
€CØ€Jr  c                 óÌ   • UR                    HS  nUS   nU R                  U   n[        R                  S:¼  a  [	        XUR                  5       5        MG  [	        XU5        MU     U$ )Nr   r	  )r€  r|  rV  Úversion_infor_  Úencode)r!  Úmodelra  r†  r  s        r  ÚnvmlFriendlyObjectToStructrŒ  y  sV   € Ø�^Œ^ˆØ�‰dˆØ—‘˜SÑ!ˆä×Ñ˜tÓ#Ü�E §¡£Ö/ä�E Ö&ñ ð €Lr  c                   ó   • \ rS rSrSrg)Ústruct_c_nvmlUnit_ti…  r  Nr  r  r  r  rŽ  rŽ  …  r  r  rŽ  c                   óB   ^ • \ rS rSrSr0 rS rU 4S jrU 4S jrSr	U =r
$ )Ú_PrintableStructurei‰  aÀ  
Abstract class that produces nicer __str__ output than ctypes.Structure.
e.g. instead of:
  >>> print str(obj)
  <class_name object at 0x7fdf82fef9e0>
this class will print
  class_name(field_name: formatted_value, field_name: formatted_value)

_fmt_ dictionary of <str _field_ name> -> <str format>
e.g. class that has _field_ 'hex_value', c_uint could be formatted with
  _fmt_ = {"hex_value" : "%08X"}
to produce nicer output.
Default fomratting string for all fields can be set with key "<default>" like:
  _fmt_ = {"<default>" : "%d MHz"} # e.g all values are numbers in MHz.
If not set it's assumed to be just "%s"

Exact format of returned str from this class is subject to change in the future.
c                 óX  • / nU R                    Hk  nUS   n[        X5      nSnX0R                  ;   a  U R                  U   nOSU R                  ;   a  U R                  S   nUR                  SU-   X44-  5        Mm     U R                  R
                  S-   SR                  U5      -   S-   $ )Nr   z%sú	<default>z%s: Ú(z, Ú))r€  r]  Ú_fmt_ÚappendÚ	__class__r  Újoin)r(  Úresultra  r†  r  Úfmts         r  r)  Ú_PrintableStructure.__str__�  sŸ   € ØˆØ—”ˆAØ�A‘$ˆCÜ˜DÓ&ˆEØˆCØ—j‘jÓ Ø—j‘j ‘o‘Ø §
¡
Ó*Ø—j‘j Ñ-�Ø�M‰M˜6 C™<¨C¨<Ñ7Ö8ñ ð �~‰~×&Ñ&¨Ñ,°·	±	¸&Ó0AÑAÀCÑGÐGr  c                 ó¦   >• [         [        U ]  U5      n[        U[        5      (       a'  [        U[
        5      (       a  U$ UR                  5       $ U$ r,  )Úsuperr�  Ú__getattribute__r�  r‚  r%  rƒ  )r(  rs  Úresr—  s      €r  rž  Ú$_PrintableStructure.__getattribute__ª  sG   ø€ ÜÔ'¨Ñ?ÀÓEˆô
 �cœ5×!Ñ!Ü˜#œs×#Ñ#Ø�
Ø—:‘:“<ÐØˆ
r  c                 óv   >• [        U[        5      (       a  UR                  5       n[        [        U ]  X5        g r,  )r�  r%  rŠ  r�  r�  Ú__setattr__)r(  rs  r  r—  s      €r  r¢  Ú_PrintableStructure.__setattr__¶  s-   ø€ Ü�eœS×!Ñ!ð —L‘L“NˆEÜÔ! 4Ñ4°TÕAr  r  )r  r  r  r  Ú__doc__r•  r)  rž  r¢  r  Ú__classcell__©r—  s   @r  r�  r�  ‰  s&   ø† ñð$ €EòHõ
÷Bó Br  r�  c                   óH   • \ rS rSrS\S-  4S\S-  4S\S-  4S\S-  4/rSrg)	Úc_nvmlUnitInfo_ti½  rs  r.   ÚidÚserialÚfirmwareVersionr  N©r  r  r  r  Úc_charr€  r  r  r  r  r¨  r¨  ½  ó9   † à	�˜"‘ÐØ	ˆv˜‰{ÐØ	�6˜B‘;ÐØ	˜F R™KÐ(ð	ƒHr  r¨  c                   ó   • \ rS rSrS\4/rSrg)Úc_nvmlC2cModeInfo_v1_tiÅ  ÚisC2cEnabledr  N©r  r  r  r  Úc_uintr€  r  r  r  r  r°  r°  Å  s   † à	˜Ð ðƒHr  r°  i  c                   ó*   • \ rS rSrS\S-  4S\4/rSrg)Úc_nvmlLedState_tiÌ  Úcauser/   Úcolorr  N)r  r  r  r  r­  Ú_nvmlLedColor_tr€  r  r  r  r  rµ  rµ  Ì  s   † à	�&˜3‘,ÐØ	�/Ð"ðƒHr  rµ  c                   ó6   • \ rS rSrS\S-  4S\4S\4S\4/rSrg)	Úc_nvmlPSUInfo_tiÒ  Ústater/   ÚcurrentÚvoltageÚpowerr  N)r  r  r  r  r­  r³  r€  r  r  r  r  rº  rº  Ò  s-   † à	�&˜3‘,ÐØ	�FÐØ	�FÐØ	�&Ðð	ƒHr  rº  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlUnitFanInfo_tiÚ  Úspeedr»  r  N)r  r  r  r  r³  Ú_nvmlFanState_tr€  r  r  r  r  rÀ  rÀ  Ú  s   † à	�&ÐØ	�/Ð"ðƒHr  rÀ  c                   ó*   • \ rS rSrS\S-  4S\4/rSrg)Úc_nvmlUnitFanSpeeds_tià  Úfansr#   Úcountr  N)r  r  r  r  rÀ  r³  r€  r  r  r  r  rÄ  rÄ  à  s   † à	Ð$ rÑ)Ð*Ø	�&ÐðƒHr  rÄ  c                   ó   • \ rS rSrSrg)Ústruct_c_nvmlDevice_tiç  r  Nr  r  r  r  rÈ  rÈ  ç  r  r  rÈ  c                   ój   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\\-  4/	rSSSSSSSSS.rSr	g)ÚnvmlPciInfoExt_v1_tië  ÚversionÚdomainÚbusÚdeviceÚpciDeviceIdÚpciSubSystemIdÚ	baseClassÚsubClassÚbusIdú0x%04Xú0x%02Xú0x%08Xz0x%01X)rË  rÌ  rÍ  rÎ  rÏ  rÐ  rÑ  rÒ  r  N)
r  r  r  r  r³  r­  Ú"NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZEr€  r•  r  r  r  r  rÊ  rÊ  ë  sw   † à	�FÐØ	�6ÐØ	�ˆØ	�6ÐØ	˜ÐØ	˜6Ð"Ø	�fÐØ	�VÐØ	�&Ð=Ñ=Ð>ð
€Hð  (Ø'Ø'Ø'Ø'Ø'Ø'Ø'ñ	ƒEr  rÊ  i@  c                   ój   • \ rS rSrS\\-  4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4/
rSSSSSS.rSr	g)ÚnvmlPciInfo_v2_ti  rÓ  rÌ  rÍ  rÎ  rÏ  rÐ  Ú	reserved0Ú	reserved1Ú	reserved2Ú	reserved3rÔ  rÕ  rÖ  ©rÌ  rÍ  rÎ  rÏ  rÐ  r  N)
r  r  r  r  r­  Ú%NVML_DEVICE_PCI_BUS_ID_BUFFER_V2_SIZEr³  r€  r•  r  r  r  r  rÙ  rÙ    sx   † à	�&Ð@Ñ@ÐAØ	�6ÐØ	�ˆØ	�6ÐØ	˜Ðð 
˜6Ð"Ø	�fÐØ	�fÐØ	�fÐØ	�fÐð€Hð  (Ø'Ø'Ø'Ø'ñƒEr  rÙ  c            	       ó^   • \ rS rSrS\\-  4S\4S\4S\4S\4S\4S\\-  4/rS	S
S
S	S	S.r	Sr
g)ÚnvmlPciInfo_ti  ÚbusIdLegacyrÌ  rÍ  rÎ  rÏ  rÐ  rÓ  rÖ  rÕ  rÞ  r  N)r  r  r  r  r­  rß  r³  r×  r€  r•  r  r  r  r  rá  rá    sj   † ð 
˜Ð!FÑFÐGØ	�6ÐØ	�ˆØ	�6ÐØ	˜Ðð 
˜6Ð"ð 
�&Ð=Ñ=Ð>ð€Hð  (Ø'Ø'Ø'Ø'ñƒEr  rá  c                   ó*   • \ rS rSrS\4S\\-  4/rSrg)Ú!c_nvmlSystemDriverBranchInfo_v1_ti3  rË  Úbranchr  N)	r  r  r  r  r³  r­  Ú&NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZEr€  r  r  r  r  rä  rä  3  s   † à	�FÐØ	�6ÐBÑBÐCðƒHr  rä  iT  c                   ó*   • \ rS rSrS\4S\\-  4/rSrg)Úc_nvmlExcludedDeviceInfo_ti;  ÚpciÚuuidr  N)	r  r  r  r  rá  r­  ÚNVML_DEVICE_UUID_BUFFER_SIZEr€  r  r  r  r  rè  rè  ;  s   † à	�ÐØ	�Ð6Ñ6Ð7ðƒHr  rè  c                   ó0   • \ rS rSrS\4S\\-  4S\4/rSr	g)Úc_nvmlCPERCursor_v1_tiD  ÚcperTypeMaskrê  Úhandler  N)
r  r  r  r  r³  r­  rë  Úc_ulonglongr€  r  r  r  r  rí  rí  D  s'   † à	˜Ð Ø	�Ð6Ñ6Ð7Ø	�;ÐðƒHr  rí  c                   ó6   • \ rS rSrS\4S\" \5      4S\4/rSr	g)Úc_nvmlGetCPER_v1_tiK  ÚcursorÚbufferÚ
bufferSizer  N)
r  r  r  r  rí  ÚPOINTERÚc_ubyter³  r€  r  r  r  r  rò  rò  K  s'   † à	Ð(Ð)Ø	‘7˜7Ó#Ð$Ø	�vÐðƒHr  rò  c                   ó$   • \ rS rSrS\4S\4/rSrg)ÚnvmlNvLinkUtilizationControl_tiR  ÚunitsÚ	pktfilterr  N)r  r  r  r  Ú"_nvmlNvLinkUtilizationCountUnits_tÚ%_nvmlNvLinkUtilizationCountPktTypes_tr€  r  r  r  r  rù  rù  R  s   † à	Ð4Ð5Ø	Ð;Ð<ðƒHr  rù  c                   ó2   • \ rS rSrS\4S\4S\4/rSS0rSrg)	Úc_nvmlMemory_tiX  ÚtotalÚfreeÚusedr’  ú%d Br  N©r  r  r  r  rð  r€  r•  r  r  r  r  rÿ  rÿ  X  s-   † à	�+ÐØ	�ÐØ	�Ðð€Hð
 ˜&Ð!ƒEr  rÿ  c                   ó>   • \ rS rSrS\4S\4S\4S\4S\4/rSS0rS	rg
)Úc_nvmlMemory_v2_ti`  rË  r   Úreservedr  r  r’  r  r  N©	r  r  r  r  r³  rð  r€  r•  r  r  r  r  r  r  `  s=   † à	�FÐØ	�+ÐØ	�[Ð!Ø	�ÐØ	�Ðð€Hð ˜&Ð!ƒEr  r  i(  c                   ó2   • \ rS rSrS\4S\4S\4/rSS0rSrg)	Úc_nvmlBAR1Memory_til  Ú	bar1TotalÚbar1FreeÚbar1Usedr’  r  r  Nr  r  r  r  r
  r
  l  s-   † à	�kÐ"Ø	�[Ð!Ø	�[Ð!ð€Hð
 ˜&Ð!ƒEr  r
  c                   ó$   • \ rS rSrS\4S\4/rSrg)ÚnvmlClkMonFaultInfo_tit  ÚclkApiDomainÚclkDomainFaultMaskr  Nr²  r  r  r  r  r  t  s   † Ø Ð(Ø% vÐ.ðƒHr  r  c                   ó0   • \ rS rSrS\4S\4S\\-  4/rSrg)ÚnvmlClkMonStatus_ti{  ÚbGlobalStatusÚclkMonListSizeÚ
clkMonListr  N)	r  r  r  r  r³  r  ÚMAX_CLK_DOMAINSr€  r  r  r  r  r  r  {  s'   † Ø  &Ð)Ø! 6Ð*ØÐ4°ÑFÐGðƒHr  r  c                   ó8   • \ rS rSrS\4S\4S\4S\4/rSS0rSrg)	Úc_nvmlProcessInfo_v2_tiŒ  ÚpidÚusedGpuMemoryÚgpuInstanceIdÚcomputeInstanceIdr  r  Nr  r  r  r  r  r  Œ  s4   † à	�ˆØ	˜+Ð&Ø	˜&Ð!Ø	˜fÐ%ð	€Hð ˜fÐ%ƒEr  r  c                   ó6   • \ rS rSrS\4S\4S\4S\4S\4/rSrg)	Úc_nvmlProcessDetail_v1_ti   r  r  r  r  ÚusedGpuCcProtectedMemoryr  N©r  r  r  r  r³  rð  r€  r  r  r  r  r  r     s0   † à	�ˆØ	˜+Ð&Ø	˜&Ð!Ø	˜fÐ%Ø	# [Ð1ðƒHr  r  c                   óD   • \ rS rSrS\4S\4S\4S\" \5      4/rSS0r	Sr
g)	Úc_nvmlProcessDetailList_v1_ti©  rË  ÚmodeÚnumProcArrayEntriesÚ	procArrayr  r  N)r  r  r  r  r³  Ú_nvmlProcessMode_trö  r  r€  r•  r  r  r  r  r#  r#  ©  s<   † à	�FÐØ	Ð#Ð$Ø	 Ð'Ø	‘gÐ6Ó7Ð8ð	€Hð # FÐ+ƒEr  r#  i  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlBridgeChipInfo_ti¶  r^  Ú	fwVersionr  N)r  r  r  r  Ú_nvmlBridgeChipType_tr³  r€  r  r  r  r  r)  r)  ¶  s   † à	Ð&Ð'Ø	�fÐðƒHr  r)  c                   ó*   • \ rS rSrS\4S\S-  4/rSrg)Úc_nvmlBridgeChipHierarchy_ti¼  ÚbridgeCountÚbridgeChipInfor   r  N)r  r  r  r  r³  r)  r€  r  r  r  r  r-  r-  ¼  s   † à	˜ÐØ	Ð1°CÑ7Ð8ðƒHr  r-  c                   ó0   • \ rS rSrS\4S\4S\4S\4/rSrg)Úc_nvmlEccErrorCounts_tiÂ  Úl1CacheÚl2CacheÚdeviceMemoryÚregisterFiler  N©r  r  r  r  rð  r€  r  r  r  r  r1  r1  Â  s)   † à	�KÐ Ø	�KÐ Ø	˜Ð%Ø	˜Ð%ð	ƒHr  r1  c                   ó,   • \ rS rSrS\4S\4/rSS0rSrg)Úc_nvmlUtilization_tiÊ  ÚgpuÚmemoryr’  z%d %%r  N©r  r  r  r  r³  r€  r•  r  r  r  r  r8  r8  Ê  s$   † à	�ˆØ	�6Ðð€Hð ˜'Ð"ƒEr  r8  c                   ó*   • \ rS rSrS\4S\S-  4/rSrg)Úc_nvmlHwbcEntry_tiÒ  ÚhwbcIdr«  r   r  N)r  r  r  r  r³  r­  r€  r  r  r  r  r=  r=  Ò  s   † à	�6ÐØ	˜F R™KÐ(ðƒHr  r=  c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\	4S\
4/rS	rg
)Úc_nvmlValue_tiØ  ÚdValÚuiValÚulValÚullValÚsllValÚsiValÚusValr  N)r  r  r  r  Úc_doubler³  Úc_ulongrð  Ú
c_longlongÚc_intÚc_ushortr€  r  r  r  r  r@  r@  Ø  sA   † à	�ÐØ	�&ÐØ	�'ÐØ	�;ÐØ	�:ÐØ	�%ÐØ	�(ÐðƒHr  r@  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlSample_tiã  Ú	timeStampÚsampleValuer  N)r  r  r  r  rð  r@  r€  r  r  r  r  rN  rN  ã  s   † à	�kÐ"Ø	˜Ð&ðƒHr  rN  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlViolationTime_tié  ÚreferenceTimeÚviolationTimer  Nr6  r  r  r  rR  rR  é  s   † à	˜+Ð&Ø	˜+Ð&ðƒHr  rR  c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4/r	S	r
g
)Úc_nvmlFieldValue_tiï  ÚfieldIdÚscopeIdÚ	timestampÚlatencyUsecÚ	valueTypeÚ
nvmlReturnr  r  N)r  r  r  r  Úc_uint32Úc_int64Ú_nvmlValueType_tÚ_nvmlReturn_tr@  r€  r  r  r  r  rV  rV  ï  sB   † à	�HÐØ	�HÐØ	�gÐØ	˜Ð Ø	Ð&Ð'Ø	�}Ð%Ø	�-Ð ðƒHr  rV  i  c                   óD   ^ • \ rS rSrS\4S\\-  4S\4/rU 4S jrSr	U =r
$ )Ú!c_nvmlNvlinkSupportedBwModes_v1_tiý  rË  ÚbwModesÚtotalBwModesc                 ó0   >• [         [        U ]  [        S9  g ©N©rË  )r�  rb  ry  ÚnvmlNvlinkSupportedBwModes_v1©r(  r—  s    €r  ry  Ú*c_nvmlNvlinkSupportedBwModes_v1_t.__init__  ó   ø€ ÜÔ/°Ñ?ÔHeÐ?Òfr  r  )r  r  r  r  r³  Úc_uint8Ú$NVML_NVLINK_TOTAL_SUPPORTED_BW_MODESr€  ry  r  r¥  r¦  s   @r  rb  rb  ý  s4   ø† à	�FÐØ	�GÐBÑBÐCØ	˜Ð!ð€H÷gó gr  rb  i  c                   ó>   ^ • \ rS rSrS\4S\4S\4/rU 4S jrSrU =r	$ )Úc_nvmlNvlinkGetBwMode_v1_ti  rË  ÚbIsBestÚbwModec                 ó0   >• [         [        U ]  [        S9  g rf  )r�  ro  ry  ÚnvmlNvlinkGetBwMode_v1ri  s    €r  ry  Ú#c_nvmlNvlinkGetBwMode_v1_t.__init__  ó   ø€ ÜÔ(¨$Ñ8ÔAWÐ8ÒXr  r  ©
r  r  r  r  r³  rl  r€  ry  r  r¥  r¦  s   @r  ro  ro    s.   ø† à	�FÐØ	�FÐØ	�7Ðð€H÷Yó Yr  ro  c                   ó>   ^ • \ rS rSrS\4S\4S\4/rU 4S jrSrU =r	$ )Úc_nvmlNvlinkSetBwMode_v1_ti  rË  ÚbSetBestrq  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rx  ry  ÚnvmlNvlinkSetBwMode_v1ri  s    €r  ry  Ú#c_nvmlNvlinkSetBwMode_v1_t.__init__  ru  r  r  rv  r¦  s   @r  rx  rx    s.   ø† à	�FÐØ	�VÐØ	�7Ðð€H÷Yó Yr  rx  c                   ó$   • \ rS rSrS\4S\4/rSrg)Ú c_nvmlVgpuHeterogeneousMode_v1_ti  rË  r$  r  Nr²  r  r  r  r~  r~    s   † à	�FÐØ	�ÐðƒHr  r~  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlVgpuPlacementId_v1_ti%  rË  ÚplacementIdr  Nr²  r  r  r  r€  r€  %  s   † à	�FÐØ	˜ÐðƒHr  r€  c                   ó<   • \ rS rSrS\4S\4S\4S\" \5      4/rSrg)Úc_nvmlVgpuPlacementList_v1_ti-  rË  rÆ  ÚplacementSizeÚplacementIdsr  N©r  r  r  r  r³  rö  r€  r  r  r  r  rƒ  rƒ  -  s-   † à	�FÐØ	�&ÐØ	˜&Ð!Ø	™ ›Ð)ð	ƒHr  rƒ  c                   óB   • \ rS rSrS\4S\4S\4S\" \5      4S\4/rSrg)	Úc_nvmlVgpuPlacementList_v2_ti:  rË  r„  rÆ  r…  r$  r  Nr†  r  r  r  rˆ  rˆ  :  s5   † à	�FÐØ	˜&Ð!Ø	�&ÐØ	™ ›Ð)Ø	�ÐðƒHr  rˆ  i   c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlVgpuTypeBar1Info_v1_tiE  rË  Úbar1Sizer  Nr!  r  r  r  rŠ  rŠ  E  s   † à	�FÐØ	�[Ð!ðƒHr  rŠ  i  c                   ó<   • \ rS rSrS\4S\4S\4S\4S\4S\4/rSrg	)
Ú%c_nvmlVgpuInstanceUtilizationSample_tiM  ÚvgpuInstancerO  ÚsmUtilÚmemUtilÚencUtilÚdecUtilr  N)	r  r  r  r  Ú_nvmlVgpuInstance_trð  r@  r€  r  r  r  r  r�  r�  M  s:   † à	Ð,Ð-Ø	�kÐ"Ø	�=Ð!Ø	�MÐ"Ø	�MÐ"Ø	�MÐ"ðƒHr  r�  c            	       óH   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4/rS
rg)Ú&c_nvmlVgpuInstanceUtilizationInfo_v1_tiW  rO  rŽ  r�  r�  r‘  r’  ÚjpgUtilÚofaUtilr  N)	r  r  r  r  rð  r“  r@  r€  r  r  r  r  r•  r•  W  sJ   † à	�kÐ"Ø	Ð,Ð-Ø	�=Ð!Ø	�MÐ"Ø	�MÐ"Ø	�MÐ"Ø	�MÐ"Ø	�MÐ"ð	ƒHr  r•  c                   óB   • \ rS rSrS\4S\4S\4S\4S\" \5      4/r	Sr
g)	Ú'c_nvmlVgpuInstancesUtilizationInfo_v1_tic  rË  ÚsampleValTypeÚvgpuInstanceCountÚlastSeenTimeStampÚvgpuUtilArrayr  N)r  r  r  r  r³  r_  rð  rö  r•  r€  r  r  r  r  r™  r™  c  s8   † à	�FÐØ	Ð*Ð+Ø	˜fÐ%Ø	˜kÐ*Ø	™'Ð"HÓIÐJðƒHr  r™  i   c            	       óN   • \ rS rSrS\4S\4S\\-  4S\4S\4S\4S\4S	\4/r	S
r
g)Ú$c_nvmlVgpuProcessUtilizationSample_tin  rŽ  r  ÚprocessNamerO  r�  r�  r‘  r’  r  N)r  r  r  r  r“  r³  r­  ÚNVML_VGPU_NAME_BUFFER_SIZErð  r€  r  r  r  r  rŸ  rŸ  n  sO   † à	Ð,Ð-Ø	�ˆØ	˜Ð!;Ñ;Ð<Ø	�kÐ"Ø	�6ÐØ	�FÐØ	�FÐØ	�FÐð	ƒHr  rŸ  c                   óZ   • \ rS rSrS\\-  4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4/
r	Sr
g)Ú%c_nvmlVgpuProcessUtilizationInfo_v1_tiz  r   rO  rŽ  r  r�  r�  r‘  r’  r–  r—  r  N)r  r  r  r  r­  r¡  rð  r“  r³  r€  r  r  r  r  r£  r£  z  s_   † à	˜Ð!;Ñ;Ð<Ø	�kÐ"Ø	Ð,Ð-Ø	�ˆØ	�6ÐØ	�FÐØ	�FÐØ	�FÐØ	�FÐØ	�FÐðƒHr  r£  c                   ó<   • \ rS rSrS\4S\4S\4S\" \5      4/rSr	g)Ú'c_nvmlVgpuProcessesUtilizationInfo_v1_tiˆ  rË  ÚvgpuProcessCountrœ  ÚvgpuProcUtilArrayr  N)
r  r  r  r  r³  rð  rö  r£  r€  r  r  r  r  r¥  r¥  ˆ  s/   † à	�FÐØ	˜VÐ$Ø	˜kÐ*Ø	™gÐ&KÓLÐMð	ƒHr  r¥  c                   ó$   • \ rS rSrS\4S\4/rSrg)ÚnvmlVgpuRuntimeState_v1_ti’  rË  Úsizer  Nr!  r  r  r  r©  r©  ’  s   † à	�FÐØ	�ÐðƒHr  r©  c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4/rS	rg
)Úc_nvmlVgpuLicenseExpiry_tiš  ÚyearÚmonthÚdayÚhourÚminÚsecÚstatusr  N©	r  r  r  r  r]  Úc_uint16rl  r€  r  r  r  r  r¬  r¬  š  óA   † à	�HÐØ	�HÐØ	�HÐØ	�HÐØ	�HÐØ	�HÐØ	�GÐðƒHr  r¬  c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_nvmlVgpuLicenseInfo_ti¬  Ú
isLicensedÚlicenseExpiryÚcurrentStater  N)	r  r  r  r  rl  r¬  r³  r€  r  r  r  r  r¸  r¸  ¬  s"   † à	˜GÐ$Ø	Ð5Ð6Ø	˜FÐ#ðƒHr  r¸  c            	       óH   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4/rS
rg)Úc_nvmlEncoderSession_ti³  Ú	sessionIdr  rŽ  Ú	codecTypeÚhResolutionÚvResolutionÚ
averageFpsÚencodeLatencyr  N©r  r  r  r  r³  r“  r€  r  r  r  r  r½  r½  ³  sI   † à	�fÐØ	�ˆØ	Ð,Ð-Ø	�fÐØ	˜ÐØ	˜ÐØ	�vÐØ	˜&Ð!ð	ƒHr  r½  c                   ó<   • \ rS rSrS\4S\4S\4S\4S\4S\4/rSrg	)
Ú c_nvmlProcessUtilizationSample_ti¿  r  rO  r�  r�  r‘  r’  r  Nr!  r  r  r  rÆ  rÆ  ¿  s8   † à	�ˆØ	�kÐ"Ø	�6ÐØ	�FÐØ	�FÐØ	�FÐðƒHr  rÆ  c            	       óH   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4/rS
rg)Ú!c_nvmlProcessUtilizationInfo_v1_tiÉ  rO  r  r�  r�  r‘  r’  r–  r—  r  N©r  r  r  r  rð  r³  r€  r  r  r  r  rÈ  rÈ  É  sH   † à	�kÐ"Ø	�ˆØ	�6ÐØ	�FÐØ	�FÐØ	�FÐØ	�FÐØ	�FÐð	ƒHr  rÈ  c                   ó<   • \ rS rSrS\4S\4S\4S\" \5      4/rSr	g)Ú#c_nvmlProcessesUtilizationInfo_v1_tiÕ  rË  ÚprocessSamplesCountrœ  ÚprocUtilArrayr  N)
r  r  r  r  r³  rð  rö  rÈ  r€  r  r  r  r  rË  rË  Õ  s/   † à	�FÐØ	 Ð'Ø	˜kÐ*Ø	™'Ð"CÓDÐEð	ƒHr  rË  c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4/rS	rg
)Úc_nvmlGridLicenseExpiry_tiß  r­  r®  r¯  r°  r±  r²  r³  r  Nr´  r  r  r  rÏ  rÏ  ß  r¶  r  rÏ  c                   óH   • \ rS rSrS\4S\4S\\-  4S\\-  4S\4S\4/r	Sr
g	)
Ú c_nvmlGridLicensableFeature_v4_tiê  ÚfeatureCodeÚfeatureStateÚlicenseInfoÚproductNameÚfeatureEnabledrº  r  N)r  r  r  r  Ú_nvmlGridLicenseFeatureCode_tr³  r­  ÚNVML_GRID_LICENSE_BUFFER_SIZErÏ  r€  r  r  r  r  rÑ  rÑ  ê  sG   † à	Ð8Ð9Ø	˜6Ð"Ø	˜6Ð$AÑAÐBØ	˜6Ð$AÑAÐBØ	˜6Ð"Ø	Ð4Ð5ðƒHr  rÑ  c                   ó0   • \ rS rSrS\4S\4S\\-  4/rSr	g)Ú!c_nvmlGridLicensableFeatures_v4_tiô  ÚisGridLicenseSupportedÚlicensableFeaturesCountÚgridLicensableFeaturesr  N)
r  r  r  r  rK  r³  rÑ  Ú#NVML_GRID_LICENSE_FEATURE_MAX_COUNTr€  r  r  r  r  rÚ  rÚ  ô  s(   † à	! EÐ*Ø	" FÐ+Ø	!Ð$DÐGjÑ$jÐkðƒHr  rÚ  c                   óB   • \ rS rSrS\4S\4S\\-  4S\\-  4S\4/rSr	g)	Ú c_nvmlGridLicensableFeature_v3_tiû  rÒ  rÓ  rÔ  rÕ  rÖ  r  N©
r  r  r  r  r×  r³  r­  rØ  r€  r  r  r  r  rà  rà  û  s>   † à	Ð5Ð6Ø	˜Ð Ø	˜Ð!>Ñ>Ð?Ø	˜Ð!>Ñ>Ð?Ø	˜6Ð"ðƒHr  rà  c                   ó0   • \ rS rSrS\4S\4S\\-  4/rSr	g)Ú!c_nvmlGridLicensableFeatures_v3_ti  rÛ  rÜ  rÝ  r  N)
r  r  r  r  rK  r³  rà  rÞ  r€  r  r  r  r  rã  rã    ó(   † à	! 5Ð)Ø	" FÐ+Ø	!Ð#CÐFiÑ#iÐjðƒHr  rã  c                   ó<   • \ rS rSrS\4S\4S\\-  4S\\-  4/rSr	g)Ú c_nvmlGridLicensableFeature_v2_ti  rÒ  rÓ  rÔ  rÕ  r  Nrá  r  r  r  ræ  ræ    s6   † à	Ð5Ð6Ø	˜Ð Ø	˜Ð!>Ñ>Ð?Ø	˜Ð!>Ñ>Ð?ð	ƒHr  ræ  c                   ó0   • \ rS rSrS\4S\4S\\-  4/rSr	g)Ú!c_nvmlGridLicensableFeatures_v2_ti  rÛ  rÜ  rÝ  r  N)
r  r  r  r  rK  r³  ræ  rÞ  r€  r  r  r  r  rè  rè    rä  r  rè  c                   ó0   • \ rS rSrS\4S\4S\\-  4/rSr	g)Úc_nvmlGridLicensableFeature_ti  rÒ  rÓ  rÔ  r  Nrá  r  r  r  rê  rê    s(   † à	Ð5Ð6Ø	˜Ð Ø	˜Ð!>Ñ>Ð?ðƒHr  rê  c                   ó0   • \ rS rSrS\4S\4S\\-  4/rSr	g)Úc_nvmlGridLicensableFeatures_ti!  rÛ  rÜ  rÝ  r  N)
r  r  r  r  rK  r³  rê  rÞ  r€  r  r  r  r  rì  rì  !  s(   † à	! 5Ð)Ø	" FÐ+Ø	!Ð#@ÐCfÑ#fÐgðƒHr  rì  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlMarginTemperature_v1_ti(  rË  ÚmarginTemperaturer  N)r  r  r  r  r³  rK  r€  r  r  r  r  rî  rî  (  s   † à	�FÐØ	˜eÐ$ðƒHr  rî  c                   ó0   • \ rS rSrS\\-  4S\\-  4/rSr	g)Úc_nvmlUUIDValue_ti7  r%  r‚  r  N)
r  r  r  r  r­  ÚNVML_DEVICE_UUID_ASCII_LENr÷  ÚNVML_DEVICE_UUID_BINARY_LENr€  r  r  r  r  rñ  rñ  7  s%   † à	�&Ð5Ñ5Ð6Ø	�'Ð7Ñ7Ð8ðƒHr  rñ  i4  c                   ó>   ^ • \ rS rSrS\4S\4S\4/rU 4S jrSrU =r	$ )Úc_nvmlUUID_ti>  rË  r^  r  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rõ  ry  ÚnvmlUUID_v1ri  s    €r  ry  Úc_nvmlUUID_t.__init__E  s   ø€ ÜŒl˜DÑ*´;Ð*Ò?r  r  )
r  r  r  r  r³  rñ  r€  ry  r  r¥  r¦  s   @r  rõ  rõ  >  s/   ø† à	�FÐØ	�ÐØ	Ð#Ð$ð€H÷@ó @r  rõ  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r	$ )Úc_nvmlPdi_tiI  rË  r  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rú  ry  Ú
nvmlPdi_v1ri  s    €r  ry  Úc_nvmlPdi_t.__init__O  s   ø€ ÜŒk˜4Ñ)´*Ð)Ò=r  r  ©
r  r  r  r  r³  rð  r€  ry  r  r¥  r¦  s   @r  rú  rú  I  s$   ø† à	�FÐØ	�+Ðð€H÷
>ó >r  rú  c                   ó>   ^ • \ rS rSrS\4S\4S\4/rU 4S jrSrU =r$ )Úc_nvmlRepairStatus_tiS  rË  ÚbChannelRepairPendingÚbTpcRepairPendingc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r   ry  ÚnvmlRepairStatus_v1ri  s    €r  ry  Úc_nvmlRepairStatus_t.__init__Z  s   ø€ ÜÔ" DÑ2Ô;NÐ2ÒOr  r  ©	r  r  r  r  r³  r€  ry  r  r¥  r¦  s   @r  r   r   S  s.   ø† à	�FÐØ	  &Ð)Ø	˜fÐ%ð€H÷Pó Pr  r   c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r$ )Úc_nvmlNvLinkInfo_v1_ti^  rË  ÚisNvleEnabledc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r  ry  ÚnvmlNvLinkInfo_v1ri  s    €r  ry  Úc_nvmlNvLinkInfo_v1_t.__init__d  ó   ø€ ÜÔ# TÑ3Ô<MÐ3ÒNr  r  r  r¦  s   @r  r  r  ^  s&   ø† à	�FÐØ	˜&Ð!ð€H÷
Oó Or  r  c                   ó0   • \ rS rSrS\4S\4S\4S\4/rSrg)Úc_nvmlNvlinkFirmwareVersion_tin  Ú	ucodeTypeÚmajorÚminorÚsubMinorr  N)r  r  r  r  rl  r³  r€  r  r  r  r  r  r  n  s)   † à	�gÐØ	�&ÐØ	�&ÐØ	�VÐð	ƒHr  r  c                   ó*   • \ rS rSrS\\-  4S\4/rSrg)Úc_nvmlNvlinkFirmwareInfo_tiv  r«  ÚnumValidEntriesr  N)	r  r  r  r  r  Ú#NVML_NVLINK_FIRMWARE_VERSION_LENGTHr³  r€  r  r  r  r  r  r  v  s    † à	Ð9Ð<_Ñ_Ð`Ø	˜FÐ#ðƒHr  r  iL c                   ó>   ^ • \ rS rSrS\4S\4S\4/rU 4S jrSrU =r	$ )Úc_nvmlNvLinkInfo_v2_ti}  rË  r	  ÚfirmwareInfoc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r  ry  ÚnvmlNvLinkInfo_v2ri  s    €r  ry  Úc_nvmlNvLinkInfo_v2_t.__init__„  r  r  r  )
r  r  r  r  r³  r  r€  ry  r  r¥  r¦  s   @r  r  r  }  s/   ø† à	�FÐØ	˜&Ð!Ø	Ð3Ð4ð€H÷Oó Or  r  ið  c                   óH   ^ • \ rS rSrS\4S\4S\\-  4/rSU 4S jjrSr	U =r
$ )Úc_nvmlPRMTLV_v1_ti‰  ÚdataSizer³  Údatac                 ó*   >• [         [        U ]  USS9  g )Nr   )r   r³  )r�  r  ry  )r(  rª  r—  s     €r  ry  Úc_nvmlPRMTLV_v1_t.__init__�  s   ø€ ÜÔ Ñ/¸ÀaÐ/ÒHr  r  r,   )r  r  r  r  r]  r÷  ÚNVML_PRM_DATA_MAX_SIZEr€  ry  r  r¥  r¦  s   @r  r  r  ‰  s4   ø† à	�XÐØ	�8ÐØ	�Ð1Ñ1Ð2ð€H÷
Iõ Ir  r  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceReadWritePRM_v1©rt  Úbyrefrk  ©rï  Úc_infoÚfnrj  s       r  r&  r&  ’  s%   € Ü	 Ð!<Ó	=€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÕr  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r$ )Úc_nvmlDeviceAddressingMode_tiž  rË  r  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r-  ry  ÚnvmlDeviceAddressingMode_v1ri  s    €r  ry  Ú%c_nvmlDeviceAddressingMode_t.__init__¤  s   ø€ ÜÔ*¨DÑ:ÔC^Ð:Ò_r  r  r  r¦  s   @r  r-  r-  ž  s&   ø† à	�FÐØ	�&Ðð€H÷
`ó `r  r-  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r$ )Úc_nvmlUnrepairableMemory_v1_ti¨  rË  ÚunrepairableMemoryc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r2  ry  ÚnvmlUnrepairableMemory_v1ri  s    €r  ry  Ú&c_nvmlUnrepairableMemory_v1_t.__init__­  ó   ø€ ÜÔ+¨TÑ;ÔD]Ð;Ò^r  r  r  r¦  s   @r  r2  r2  ¨  s&   ø† à	�FÐØ	˜vÐ&ð€H÷_ó _r  r2  i0  i1  i2  i3  ié  c                   ó6   ^ • \ rS rSrS\4/rSU 4S jjrSrU =r$ )Úc_nvmlPRMCounterInput_v1_tiÆ  Ú	localPortc                 ó(   >• [         [        U ]  US9  g )N)r:  )r�  r9  ry  )r(  Úportr—  s     €r  ry  Ú#c_nvmlPRMCounterInput_v1_t.__init__Ê  s   ø€ ÜÔ(¨$Ñ8À4Ð8ÒHr  r  r,   )	r  r  r  r  r]  r€  ry  r  r¥  r¦  s   @r  r9  r9  Æ  s   ø† à	�hÐð€H÷Iõ Ir  r9  c                   ó>   ^ • \ rS rSrS\4S\4S\4/rU 4S jrSr	U =r
$ )Úc_nvmlPRMCounterValue_v1_tiÍ  r³  Ú
outputTypeÚoutputValuec                 óD   >• [         [        U ]  [        R                  S9  g )N)r³  )r�  r?  ry  Úpynvmlri  ri  s    €r  ry  Ú#c_nvmlPRMCounterValue_v1_t.__init__Ó  s   ø€ ÜÔ(¨$Ñ8Ä×@SÑ@SÐ8ÒTr  r  )r  r  r  r  r`  r_  r@  r€  ry  r  r¥  r¦  s   @r  r?  r?  Í  s/   ø† à	�=Ð!Ø	Ð'Ð(Ø	˜Ð&ð€H÷
Uó Ur  r?  c                   óF   ^ • \ rS rSrS\4S\4S\4/r\S4U 4S jjr	Sr
U =r$ )Úc_nvmlPRMCounter_v1_tiÖ  Ú	counterIdÚ
inputValuerA  Nc                 ó(   >• [         [        U ]  XS9  g )N)rG  rH  )r�  rF  ry  )r(  ÚctrIdÚinDatar—  s      €r  ry  Úc_nvmlPRMCounter_v1_t.__init__Ü  s   ø€ ÜÔ# TÑ3¸eÐ3ÒWr  r  )r  r  r  r  r]  r9  r?  r€  ÚNVML_PRM_COUNTER_ID_NONEry  r  r¥  r¦  s   @r  rF  rF  Ö  s7   ø† à	�hÐØ	Ð1Ð2Ø	Ð2Ð3ð€Hð
 6¸d÷ Xõ Xr  rF  c                   óH   ^ • \ rS rSrS\4S\" \5      4/rSU 4S jjrSr	U =r
$ )Úc_nvmlPRMCounterList_v1_tiß  ÚnumCountersÚcountersc                 ó(   >• [         [        U ]  XS9  g )N)rP  rQ  )r�  rO  ry  )r(  ÚnumÚctrsr—  s      €r  ry  Ú"c_nvmlPRMCounterList_v1_t.__init__ä  s   ø€ ÜÔ'¨Ñ7ÀCÐ7ÒWr  r  r,  )r  r  r  r  r]  rö  rF  r€  ry  r  r¥  r¦  s   @r  rO  rO  ß  s,   ø† à	˜Ð!Ø	‘WÐ2Ó3Ð4ð€H÷Xõ Xr  rO  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceReadPRMCounters_v1r'  r)  s       r  rW  rW  ç  s%   € Ü	 Ð!?Ó	@€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÕr  c                   ó&   • \ rS rSrS\4/rSS0rSrg)Úc_nvmlBBXTimeData_v1_tiì  ÚtimeRunz
%d secondsr  Nr;  r  r  r  rY  rY  ì  s   † à	�FÐð€Hð ˜Ð%ƒEr  rY  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetBBXTimeData_v1)rY  rt  r(  rk  )rï  Ú
c_timeDatar+  rj  s       r  r\  r\  ò  s4   € Ü'Ó)€JÜ	 Ð!>Ó	?€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØÐr  c                   ó   • \ rS rSrSrg)Ústruct_c_nvmlEventSet_tiú  r  Nr  r  r  r  r_  r_  ú  r  r  r_  i   é   i   i    i @  i €  c                   ó>   • \ rS rSrS\4S\4S\4S\4S\4/rSS0rSr	g	)
Úc_nvmlEventData_tiQ  rÎ  Ú	eventTypeÚ	eventDatar  r  rÖ  r  N)
r  r  r  r  Úc_nvmlDevice_trð  r³  r€  r•  r  r  r  r  rb  rb  Q  s=   † à	�>Ð"Ø	�kÐ"Ø	�kÐ"Ø	˜&Ð!Ø	˜fÐ%ð€Hð ˜(Ð#ƒEr  rb  c                   ó   • \ rS rSrSrg)Ústruct_c_nvmlSystemEventSet_ti[  r  Nr  r  r  r  rg  rg  [  r  r  rg  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r	$ )Ú&c_nvmlSystemEventSetCreateRequest_v1_tie  rË  Úsetc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  ri  ry  Ú"nvmlSystemEventSetCreateRequest_v1ri  s    €r  ry  Ú/c_nvmlSystemEventSetCreateRequest_v1_t.__init__k  s   ø€ ÜÔ4°dÑDÔMoÐDÒpr  r  ©
r  r  r  r  r³  Úc_nvmlSystemEventSet_tr€  ry  r  r¥  r¦  s   @r  ri  ri  e  s'   ø† à	�FÐØ	Ð&Ð'ð€H÷
qó qr  ri  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r	$ )Ú$c_nvmlSystemEventSetFreeRequest_v1_tio  rË  rj  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rq  ry  Ú nvmlSystemEventSetFreeRequest_v1ri  s    €r  ry  Ú-c_nvmlSystemEventSetFreeRequest_v1_t.__init__u  ó   ø€ ÜÔ2°DÑBÔKkÐBÒlr  r  rn  r¦  s   @r  rq  rq  o  s'   ø† à	�FÐØ	Ð&Ð'ð€H÷
mó mr  rq  c                   ó>   ^ • \ rS rSrS\4S\4S\4/rU 4S jrSr	U =r
$ )Ú%c_nvmlSystemRegisterEventRequest_v1_tiy  rË  Ú
eventTypesrj  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rw  ry  Ú!nvmlSystemRegisterEventRequest_v1ri  s    €r  ry  Ú.c_nvmlSystemRegisterEventRequest_v1_t.__init__€  ó   ø€ ÜÔ3°TÑCÔLmÐCÒnr  r  )r  r  r  r  r³  rð  ro  r€  ry  r  r¥  r¦  s   @r  rw  rw  y  s/   ø† à	�FÐØ	�{Ð#Ø	Ð&Ð'ð€H÷oó or  rw  c                   ó,   • \ rS rSrS\4S\4/rSS0rSrg)Úc_nvmlSystemEventData_v1_tiƒ  rc  ÚgpuIdrÖ  r  N)	r  r  r  r  rð  r³  r€  r•  r  r  r  r  r~  r~  ƒ  s%   † à	�kÐ"Ø	�&Ðð€Hð ˜(Ð#ƒEr  r~  c                   ó\   ^ • \ rS rSrS\4S\4S\4S\" \5      4S\4S\4/rU 4S jr	S	r
U =r$ )
Ú$c_nvmlSystemEventSetWaitRequest_v1_ti‹  rË  Ú	timeoutmsrj  r!  r   ÚnumEventc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r�  ry  Ú nvmlSystemEventSetWaitRequest_v1ri  s    €r  ry  Ú-c_nvmlSystemEventSetWaitRequest_v1_t.__init__•  ru  r  r  )r  r  r  r  r³  ro  rö  r~  r€  ry  r  r¥  r¦  s   @r  r�  r�  ‹  sM   ø† à	�FÐØ	�fÐØ	Ð&Ð'Ø	‘Ð3Ó4Ð5Ø	�VÐØ	�VÐð€H÷mó mr  r�  c                 ó@   • [        S5      nU" U 5      n[        U5        g)zl
C API binding for c_nvmlSystemEventSetFree
:param req: reference of c_nvmlSystemEventSetCreateRequest_v1_t
ÚnvmlSystemEventSetCreateN©rt  rk  ©Úreqr+  rj  s      r  Úc_nvmlSystemEventSetCreaterŒ  ™  ó    € ô
 
!Ð!;Ó	<€BÙ
ˆS‹'€CÜ�SÕr  c                 ó@   • [        S5      nU" U 5      n[        U5        g)zj
C API binding for c_nvmlSystemEventSetFree
:param req: reference of c_nvmlSystemEventSetFreeRequest_v1_t
ÚnvmlSystemEventSetFreeNr‰  rŠ  s      r  Úc_nvmlSystemEventSetFreer�  ¢  s    € ô
 
!Ð!9Ó	:€BÙ
ˆS‹'€CÜ�SÕr  c                 ó@   • [        S5      nU" U 5      n[        U5        g)zk
C API binding for nvmlSystemRegisterEvents
:param req: reference of c_nvmlSystemRegisterEventRequest_v1_t
ÚnvmlSystemRegisterEventsNr‰  rŠ  s      r  Úc_nvmlSystemRegisterEventsr“  «  r�  r  c                 óX   • [        S5      nU" U 5      nU[        :X  a  U$ [        U5        g)zh
C API binding for nvmlSystemEventSetWait
:param req: reference of c_nvmlSystemEventSetWaitRequest_v1_t
ÚnvmlSystemEventSetWaitN)rt  r:  rk  rŠ  s      r  Úc_nvmlSystemEventSetWaitr–  ´  s.   € ô
 
!Ð!9Ó	:€BÙ
ˆS‹'€Cà
Ô Ó Øˆ
Ü�SÕr  c                 óâ   • U [         :w  a  [        [        5      e[        5       nXl        SUl        [        [        U5      5        UR
                  (       d  [        [        5      eUR
                  $ )z™
Create an NVML system event set.
:param version: The version of the request.
:return: A ctypes pointer to the created c_nvmlSystemEventSet_t structure.
N)	rl  r  Ú$NVML_ERROR_ARGUMENT_VERSION_MISMATCHri  rË  rj  rŒ  r(  rC  )rË  r‹  s     r  rˆ  rˆ  Ä  sY   € ð Ô4Ó4ÜÔ<Ó=Ð=ô 1Ó
2€CØ„KØ€C„Gäœu S›zÔ*ð �7�7ÜÔ)Ó*Ð*Ø�7‰7€Nr  c                 óŠ   • U [         :w  a  [        [        5      e[        5       nXl        Xl        [        [        U5      5        g)z–
Free an NVML system event set.
:param version: The version of the request.
:param setHandle: A ctypes pointer to a c_nvmlSystemEventSet_t structure.
N)rs  r  r˜  rq  rË  rj  r�  r(  )rË  Ú	setHandler‹  s      r  r�  r�  Ù  s7   € ð Ô2Ó2ÜÔ<Ó=Ð=ä
.Ó
0€CØ„KØ„GäœU 3›ZÕ(r  c                 ó–   • U [         :w  a  [        [        5      e[        5       nXl        Xl        X#l        [        [        U5      5        g)zÞ
Register events for an NVML system event set.
:param version: The version of the request.
:param eventTypes: A bitmask of event types to register.
:param setHandle: A ctypes pointer to a c_nvmlSystemEventSet_t structure.
N)	rz  r  r˜  rw  rË  rx  rj  r“  r(  )rË  rx  rš  r‹  s       r  r’  r’  é  s<   € ð Ô3Ó3ÜÔ<Ó=Ð=ä
/Ó
1€CØ„KØ„NØ„Gäœu S›zÕ*r  c                 ó\  • U [         :w  a  [        [        5      e[        5       nXl        X%l        Xl        X5l        XEl        [        [        U5      5      nU[        :X  a  / $ / n[        UR                  5       H/  nUR                  X8   R                  X8   R                   S.5        M1     U$ )a¤  
Wait for events in an NVML system event set.
:param version: The version of the request.
:param setHandle: A ctypes pointer to a c_nvmlSystemEventSet_t structure.
:param timeoutMs: Timeout in milliseconds.
:param eventData: A ctypes array of c_nvmlSystemEventData_v1_t for event data.
:param eventDataSize: Number of c_nvmlSystemEventData_v1_t in evenData array..
:return: A list of dictionaries containing event data.
)rc  r  )r…  r  r˜  r�  rË  r‚  rj  r!  r   r–  r(  r:  Úrangerƒ  r–  rc  r  )	rË  rš  Ú	timeoutMsrd  ÚeventDataSizer‹  rj  ÚeventsÚis	            r  r•  r•  û  sž   € ð Ô2Ó2ÜÔ<Ó=Ð=ä
.Ó
0€CØ„KØ„MØ„GØ„HØ „Lä
"¤5¨£:Ó
.€CØ
Ô Ó Øˆ	ð €FÜ�3—<‘<Ö ˆØ�‰Ø"™×/Ñ/Ø‘\×'Ñ'ñ
ö 	ñ !ð
 €Mr  c            	       óH   • \ rS rSrS\4S\4S\4S\4S\4S\4S\S	-  4/rS
rg)Úc_nvmlAccountingStats_ti	  ÚgpuUtilizationÚmemoryUtilizationÚmaxMemoryUsageÚtimeÚ	startTimeÚ	isRunningr  r   r  Nr!  r  r  r  r£  r£  	  sE   † à	˜6Ð"Ø	˜fÐ%Ø	˜;Ð'Ø	�ÐØ	�kÐ"Ø	�fÐØ	�V˜a‘ZÐ ðƒHr  r£  c                   óT   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4/
rSrg)Úc_nvmlAccountingStats_v2_ti'	  r  r©  r¤  r¥  r¦  ÚsampleCountÚ
sumGpuUtilÚ	sumFbUtilr§  r¨  r  Nr!  r  r  r  r«  r«  '	  sX   † à	�ˆØ	�fÐØ	˜6Ð"Ø	˜fÐ%Ø	˜;Ð'Ø	˜ÐØ	�{Ð#Ø	�kÐ"Ø	�ÐØ	�kÐ"ðƒHr  r«  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlVgpuVersion_ti5	  Ú
minVersionÚ
maxVersionr  Nr²  r  r  r  r°  r°  5	  s   † Ø˜vÐ&Ø˜vÐ&ðƒHr  r°  c                   ól   • \ rS rSrS\4S\4S\4S\\-  4S\\-  4S\S-  4S	\4S
\4S\4S\\-  4/
r	Sr
g)Úc_nvmlVgpuMetadata_ti:	  rË  ÚrevisionÚguestInfoStateÚguestDriverVersionÚhostDriverVersionr  r   ÚvgpuVirtualizationCapsÚguestVgpuVersionÚopaqueDataSizeÚ
opaqueDatar  N)r  r  r  r  r³  Ú_nvmlVgpuGuestInfoState_tr­  ræ  Ú#NVML_VGPU_METADATA_OPAQUE_DATA_SIZEr€  r  r  r  r  r´  r´  :	  sp   † Ø˜FÐ#Ø˜VÐ$Ø!Ð#<Ð=Ø% vÐ0VÑ'VÐWØ$ fÐ/UÑ&UÐVØ˜V a™ZÐ(Ø)¨6Ð2Ø# VÐ,Ø! 6Ð*Ø˜vÐ(KÑKÐLð
ƒHr  r´  c            
       óZ   • \ rS rSrS\4S\4S\\-  4S\4S\S-  4S\4S	\4S
\\-  4/r	Sr
g)Úc_nvmlVgpuPgpuMetadata_tiG	  rË  rµ  r¸  ÚpgpuVirtualizationCapsr  r   ÚhostSupportedVgpuRanger»  r¼  r  N)r  r  r  r  r³  r­  ræ  r°  Ú(NVML_VGPU_PGPU_METADATA_OPAQUE_DATA_SIZEr€  r  r  r  r  rÀ  rÀ  G	  sZ   † Ø˜FÐ#Ø˜VÐ$Ø$ fÐ/UÑ&UÐVØ)¨6Ð2Ø˜V a™ZÐ(Ø)Ð+>Ð?Ø! 6Ð*Ø˜vÐ(PÑPÐQðƒHr  rÀ  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlVgpuPgpuCompatibility_tiR	  ÚvgpuVmCompatibilityÚcompatibilityLimitCoder  N)r  r  r  r  Ú_nvmlVgpuVmCompatibility_tÚ%_nvmlVgpuPgpuCompatibilityLimitCode_tr€  r  r  r  r  rÅ  rÅ  R	  s   † Ø&Ð(BÐCØ)Ð+PÐQðƒHr  rÅ  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlVgpuSchedDataWithARR_tik	  Ú	avgFactorÚ	timeslicer  Nr²  r  r  r  rË  rË  k	  ó   † à	˜ÐØ	˜ÐðƒHr  rË  c                   ó   • \ rS rSrS\4/rSrg)Úc_nvmlVgpuSchedData_tiq	  rÍ  r  Nr²  r  r  r  rÐ  rÐ  q	  ó   † à	˜ÐðƒHr  rÐ  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlVgpuSchedulerParams_tiv	  ÚvgpuSchedDataWithARRÚvgpuSchedDatar  N)r  r  r  r  rË  rÐ  r€  r  r  r  r  rÓ  rÓ  v	  s   † à	Ð!=Ð>Ø	Ð!6Ð7ðƒHr  rÓ  c                   ó<   • \ rS rSrS\4S\4S\4S\4S\4S\4/rSrg	)
Úc_nvmlVgpuSchedulerLogEntry_ti|	  rY  ÚtimeRunTotalrZ  ÚswRunlistIdÚtargetTimeSliceÚcumulativePreemptionTimer  NrÉ  r  r  r  r×  r×  |	  s9   † à	¨Ð4Ø	¨Ð4Ø	¨Ð4Ø	¨Ð/Ø	¨Ð4Ø	#¨Ð4ðƒHr  r×  c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\\-  4/rSr	g	)
Úc_nvmlVgpuSchedulerLog_ti†	  ÚengineIdÚschedulerPolicyÚarrModeÚschedulerParamsÚentriesCountÚ
logEntriesr  N©
r  r  r  r  r³  rÓ  r×  Ú!NVML_SCHEDULER_SW_MAX_LOG_ENTRIESr€  r  r  r  r  rÝ  rÝ  †	  sA   † à	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	Ð7Ð8Ø	˜FÐ#Ø	Ð9Ð<]Ñ]Ð^ðƒHr  rÝ  c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_nvmlVgpuSchedulerGetState_ti�	  rß  rà  rá  r  N©r  r  r  r  r³  rÓ  r€  r  r  r  r  rç  rç  �	  s"   † à	˜FÐ#Ø	˜FÐ#Ø	Ð7Ð8ðƒHr  rç  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlVgpuSchedSetDataWithARR_ti—	  rÌ  Ú	frequencyr  Nr²  r  r  r  rê  rê  —	  rÎ  r  rê  c                   ó   • \ rS rSrS\4/rSrg)Úc_nvmlVgpuSchedSetData_ti�	  rÍ  r  Nr²  r  r  r  rí  rí  �	  rÑ  r  rí  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlVgpuSchedulerSetParams_ti¢	  rÔ  rÕ  r  N)r  r  r  r  rê  rí  r€  r  r  r  r  rï  rï  ¢	  s   † à	Ð!@ÐAØ	Ð!9Ð:ðƒHr  rï  c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_nvmlVgpuSchedulerSetState_ti¨	  rß  ÚenableARRModerá  r  N©r  r  r  r  r³  rï  r€  r  r  r  r  rñ  rñ  ¨	  s"   † à	˜FÐ#Ø	˜FÐ#Ø	Ð:Ð;ðƒHr  rñ  c            	       óN   • \ rS rSrS\\-  4S\4S\4S\4S\4S\4S\4S	\4/rS
rg)Ú!c_nvmlVgpuSchedulerCapabilities_ti¯	  ÚsupportedSchedulersÚmaxTimesliceÚminTimesliceÚisArrModeSupportedÚmaxFrequencyForARRÚminFrequencyForARRÚmaxAvgFactorForARRÚminAvgFactorForARRr  N)r  r  r  r  r³  Ú*NVML_SUPPORTED_VGPU_SCHEDULER_POLICY_COUNTr€  r  r  r  r  rõ  rõ  ¯	  sO   † à	 Ð)SÑ SÐTØ	 Ð'Ø	 Ð'Ø	 Ð'Ø	 Ð'Ø	 Ð'Ø	 Ð'Ø	 Ð'ð	ƒHr  rõ  c                   ó6   • \ rS rSrS\4S\4S\" \5      4/rSrg)Úc_nvmlVgpuTypeIdInfo_v1_ti»	  rË  Ú	vgpuCountÚvgpuTypeIdsr  Nr†  r  r  r  r   r   »	  s%   † à	�FÐØ	�fÐØ	™ ›Ð(ðƒHr  r   c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_nvmlVgpuTypeMaxInstance_v1_tiÄ	  rË  Ú
vgpuTypeIdÚmaxInstancePerGIr  Nr²  r  r  r  r  r  Ä	  s!   † à	�FÐØ	�vÐØ	˜VÐ$ðƒHr  r  c                   ó6   • \ rS rSrS\4S\4S\" \5      4/rSrg)Ú!c_nvmlActiveVgpuInstanceInfo_v1_tiÍ	  rË  r  ÚvgpuInstancesr  Nr†  r  r  r  r  r  Í	  s%   † à	�FÐØ	�fÐØ	™' &›/Ð*ðƒHr  r  c                   ó6   • \ rS rSrS\4S\4S\4S\4S\4/rSrg)	Úc_nvmlVgpuSchedulerState_v1_tiÖ	  rË  rÞ  rß  rò  rá  r  Nró  r  r  r  r  r  Ö	  s2   † à	�FÐØ	�VÐØ	˜FÐ#Ø	˜&Ð!Ø	Ð:Ð;ðƒHr  r  c                   ó6   • \ rS rSrS\4S\4S\4S\4S\4/rSrg)	Ú!c_nvmlVgpuSchedulerStateInfo_v1_tiá	  rË  rÞ  rß  rà  rá  r  Nrè  r  r  r  r  r  á	  s2   † à	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	Ð7Ð8ðƒHr  r  c            	       óH   • \ rS rSrS\4S\4S\4S\4S\4S\4S\\-  4/rS	r	g
)Úc_nvmlVgpuSchedulerLogInfo_v1_tiì	  rË  rÞ  rß  rà  rá  râ  rã  r  Nrä  r  r  r  r  r  ì	  sI   † à	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	Ð7Ð8Ø	˜FÐ#Ø	Ð9Ð<]Ñ]Ð^ðƒHr  r  i % c                   óB   • \ rS rSrS\4S\4S\4S\" \5      4S\4/rSrg)	Ú%c_nvmlVgpuCreatablePlacementInfo_v1_tiù	  rË  r  rÆ  r…  r„  r  Nr†  r  r  r  r  r  ù	  s5   † à	�FÐØ	�vÐØ	�&ÐØ	™ ›Ð)Ø	˜&Ð!ðƒHr  r  c                   ó0   • \ rS rSrS\4S\4S\4S\4/rSrg)Ú!c_nvmlVgpuSchedulerStateInfo_v2_ti
  rÞ  rß  rÌ  rÍ  r  Nr²  r  r  r  r  r  
  ó)   † à	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#ð	ƒHr  r  c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4/rS	rg
)Ú c_nvmlVgpuSchedulerLogEntry_v2_ti
  rY  rØ  rZ  rÙ  rÚ  rÛ  Úweightr  NrÉ  r  r  r  r  r  
  sA   † à	¨Ð4Ø	¨Ð4Ø	¨Ð4Ø	¨Ð/Ø	¨Ð4Ø	#¨Ð4Ø	¨Ð/ðƒHr  r  c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\\-  4/rSrg	)
Úc_nvmlVgpuSchedulerLogInfo_v2_ti
  rÞ  rß  rÌ  rÍ  râ  rã  r  N)	r  r  r  r  r³  r  rå  r€  r  r  r  r  r  r  
  s@   † à	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	˜FÐ#Ø	Ð<Ð?`Ñ`ÐaðƒHr  r  c                   ó0   • \ rS rSrS\4S\4S\4S\4/rSrg)Úc_nvmlVgpuSchedulerState_v2_ti!
  rÞ  rß  rÌ  rë  r  Nr²  r  r  r  r  r  !
  r  r  r  c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_nvmlFBCStats_ti)
  ÚsessionsCountÚ
averageFPSÚaverageLatencyr  Nr²  r  r  r  r  r  )
  s!   † Ø  &Ð)Ø˜vÐ&Ø! 6Ð*ðƒHr  r  c                   ó`   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4S\4S\4/rSrg)Úc_nvmlFBCSession_ti/
  r¾  r  rŽ  ÚdisplayOrdinalÚsessionTypeÚsessionFlagsÚhMaxResolutionÚvMaxResolutionrÀ  rÁ  r  r   r  NrÄ  r  r  r  r"  r"  /
  si   † à	�fÐØ	�ˆØ	Ð,Ð-Ø	˜6Ð"Ø	˜ÐØ	˜Ð Ø	˜6Ð"Ø	˜6Ð"Ø	˜ÐØ	˜ÐØ	�vÐØ	˜6Ð"ðƒHr  r"  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlGpuInstancePlacement_tiW
  Ústartrª  r  Nr²  r  r  r  r)  r)  W
  ó   † Ø˜&Ð!Ø˜Ð ðƒHr  r)  c                   óZ   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4S\4/rSrg)Úc_nvmlGpuInstanceProfileInfo_ti\
  r©  ÚisP2pSupportedÚ
sliceCountÚinstanceCountÚmultiprocessorCountÚcopyEngineCountÚdecoderCountÚencoderCountÚ	jpegCountÚofaCountÚmemorySizeMBr  Nr!  r  r  r  r-  r-  \
  s`   † Ø�v�Ø! 6Ð*Ø˜vÐ&Ø  &Ð)Ø&¨Ð/Ø" FÐ+Ø Ð(Ø Ð(Ø˜fÐ%Ø˜VÐ$Ø Ð-ðƒHr  r-  i˜  c                   ó€   ^ • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4S\4S\4S\\-  4/rU 4S jr	Sr
U =r$ )Ú!c_nvmlGpuInstanceProfileInfo_v2_til
  rË  r©  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  rs  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r9  ry  ÚnvmlGpuInstanceProfileInfo_v2ri  s    €r  ry  Ú*c_nvmlGpuInstanceProfileInfo_v2_t.__init__|
  rk  r  r  )r  r  r  r  r³  rð  r­  ÚNVML_DEVICE_NAME_V2_BUFFER_SIZEr€  ry  r  r¥  r¦  s   @r  r9  r9  l
  sƒ   ø† Ø˜FÐ#Ø�v�Ø! 6Ð*Ø˜vÐ&Ø  &Ð)Ø&¨Ð/Ø" FÐ+Ø Ð(Ø Ð(Ø˜fÐ%Ø˜VÐ$Ø Ð-Ø˜Ð"AÑAÐBð€H÷gó gr  r9  c                   ó0   • \ rS rSrS\4S\4S\4S\4/rSrg)Úc_nvmlGpuInstanceInfo_ti
  rÎ  r©  Ú	profileIdÚ	placementr  N)	r  r  r  r  re  r³  r)  r€  r  r  r  r  r?  r?  
  s)   † Ø˜>Ð*Ø�v�Ø˜fÐ%ØÐ:Ð;ðƒHr  r?  c                   ó   • \ rS rSrSrg)Ústruct_c_nvmlGpuInstance_ti†
  r  Nr  r  r  r  rC  rC  †
  r  r  rC  c                   ó$   • \ rS rSrS\4S\4/rSrg)Ú c_nvmlComputeInstancePlacement_ti˜
  r*  rª  r  Nr²  r  r  r  rE  rE  ˜
  r+  r  rE  c            
       óN   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4/	rSrg)Ú"c_nvmlComputeInstanceProfileInfo_ti�
  r©  r/  r0  r1  ÚsharedCopyEngineCountÚsharedDecoderCountÚsharedEncoderCountÚsharedJpegCountÚsharedOfaCountr  Nr²  r  r  r  rG  rG  �
  sP   † Ø�v�Ø˜vÐ&Ø  &Ð)Ø&¨Ð/Ø(¨&Ð1Ø% vÐ.Ø% vÐ.Ø" FÐ+Ø! 6Ð*ð	ƒHr  rG  iˆ  c                   ót   ^ • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4S\\-  4/rU 4S jrSr	U =r
$ )Ú%c_nvmlComputeInstanceProfileInfo_v2_ti«
  rË  r©  r/  r0  r1  rH  rI  rJ  rK  rL  rs  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rN  ry  Ú!nvmlComputeInstanceProfileInfo_v2ri  s    €r  ry  Ú.c_nvmlComputeInstanceProfileInfo_v2_t.__init__¹
  r|  r  r  )r  r  r  r  r³  r­  r=  r€  ry  r  r¥  r¦  s   @r  rN  rN  «
  ss   ø† Ø˜FÐ#Ø�v�Ø˜vÐ&Ø  &Ð)Ø&¨Ð/Ø(¨&Ð1Ø% vÐ.Ø% vÐ.Ø" FÐ+Ø! 6Ð*Ø˜Ð"AÑAÐBð€H÷oó or  rN  c                   ó6   • \ rS rSrS\4S\4S\4S\4S\4/rSr	g)	Úc_nvmlComputeInstanceInfo_ti¼
  rÎ  ÚgpuInstancer©  r@  rA  r  N)
r  r  r  r  re  Úc_nvmlGpuInstance_tr³  rE  r€  r  r  r  r  rS  rS  ¼
  s2   † Ø˜>Ð*ØÐ 3Ð4Ø�v�Ø˜fÐ%ØÐ>Ð?ð	ƒHr  rS  c                   ó2   • \ rS rSrS\S4S\4S\4S\4/rSrg)	Ú$c_nvmlGpuDynamicPstatesUtilization_tiÉ
  Ú
bIsPresentr   Ú
percentageÚincThresholdÚdecThresholdr  Nr²  r  r  r  rW  rW  É
  s+   † Ø˜v qÐ)Ø˜vÐ&Ø Ð(Ø Ð(ð*ƒHr  rW  c                   ó*   • \ rS rSrS\4S\\-  4/rSrg)Úc_nvmlGpuDynamicPstatesInfo_tiÎ
  ÚflagsÚutilizationr  N)	r  r  r  r  r³  rW  ÚNVML_MAX_GPU_UTILIZATIONSr€  r  r  r  r  r]  r]  Î
  s!   † Ø˜&Ð!ØÐ DÐG`Ñ `ÐaðcƒHr  r]  c                   ó6   • \ rS rSrS\4S\4S\4S\4S\4/rSrg)	Úc_nvmlGpuThermalSensor_tió
  Ú
controllerÚdefaultMinTempÚdefaultMaxTempÚcurrentTempÚtargetr  N)r  r  r  r  rK  r€  r  r  r  r  rb  rb  ó
  s1   † Ø˜uÐ%Ø! 5Ð)Ø! 5Ð)Ø Ð&Ø˜5Ð!ð	#ƒHr  rb  c                   ó*   • \ rS rSrS\4S\\-  4/rSrg)Úc_nvmlGpuThermalSettings_tiù
  rÆ  Úsensorr  N)	r  r  r  r  r³  rb  Ú NVML_MAX_THERMAL_SENSORS_PER_GPUr€  r  r  r  r  ri  ri  ù
  s!   † Ø˜&Ð!ØÐ3Ð6VÑVÐWðYƒHr  ri  c                   ó0   • \ rS rSrS\4S\4S\4S\4/rSrg)Úc_nvmlCoolerInfo_ti
  rË  ÚindexÚcoolerControlTypeÚcoolerTargetr  N)	r  r  r  r  r³  Ú_nvmlCoolerControl_tÚ_nvmlCoolerTarget_tr€  r  r  r  r  rm  rm  
  s+   † Ø˜FÐ#Ø˜&Ð!Ø$Ð&:Ð;ØÐ!4Ð5ðƒHr  rm  c                 óº   • [        5       n[        Ul        SUl        [	        S5      nU" U [        U5      5      n[        U5        UR                  UR                  /$ )Nr   ÚnvmlDeviceGetCoolerInfo)	rm  ÚnvmlCoolerInfo_v1rË  rn  rt  r(  rk  ro  rp  )rï  Úc_coolerInfor+  rj  s       r  rt  rt    sU   € Ü%Ó'€LÜ,€LÔØ€LÔÜ	 Ð!:Ó	;€BÙ
ˆV”U˜<Ó(Ó
)€CÜ�SÔØ×*Ñ*¨L×,EÑ,EÐFÐFr  c                   ó   • \ rS rSrSrg)Ústruct_c_nvmlComputeInstance_ti  r  Nr  r  r  r  rx  rx    r  r  rx  c            
       óN   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4/	rSrg)Úc_nvmlDeviceAttributesi   r1  rH  rI  rJ  rK  rL  ÚgpuInstanceSliceCountÚcomputeInstanceSliceCountr7  r  Nr!  r  r  r  rz  rz     sQ   † Ø&¨Ð/Ø(¨&Ð1Ø% vÐ.Ø% vÐ.Ø" FÐ+Ø! 6Ð*Ø(¨&Ð1Ø,¨fÐ5Ø Ð-ð	ƒHr  rz  c                   ó6   • \ rS rSrS\4S\4S\4S\4S\4/rSrg)	Ú c_nvmlRowRemapperHistogramValuesi,  ÚmaxÚhighÚpartialÚlowÚnoner  Nr²  r  r  r  r~  r~  ,  s/   † Ø˜�Ø˜Ð Ø˜FÐ#Ø˜�Ø˜Ð ð	ƒHr  r~  i   c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_nvmlConfComputeSystemState_ti<  ÚenvironmentÚ	ccFeatureÚdevToolsModer  Nr²  r  r  r  r…  r…  <  s!   † Ø Ð'Ø˜fÐ%Ø Ð(ðƒHr  r…  i  c                   óJ   ^ • \ rS rSrS\4S\4S\4S\4S\4/rU 4S jrSrU =r$ )	Ú$c_nvmlSystemConfComputeSettings_v1_tiD  rË  r†  r‡  rˆ  ÚmultiGpuModec                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rŠ  ry  Ú nvmlSystemConfComputeSettings_v1ri  s    €r  ry  Ú-c_nvmlSystemConfComputeSettings_v1_t.__init__K  ru  r  r  r  r¦  s   @r  rŠ  rŠ  D  s>   ø† Ø˜FÐ#Ø Ð'Ø˜fÐ%Ø Ð(Ø Ð(ð	€H÷mó mr  rŠ  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlConfComputeSystemCaps_tiN  ÚcpuCapsÚgpusCapsr  Nr²  r  r  r  r�  r�  N  s   † Ø˜FÐ#Ø˜VÐ$ðƒHr  r�  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlConfComputeMemSizeInfo_tiS  ÚprotectedMemSizeKibÚunprotectedMemSizeKibr  Nr6  r  r  r  r”  r”  S  s   † Ø&¨Ð4Ø(¨+Ð6ðƒHr  r”  c                   ó<   • \ rS rSrS\4S\4S\\-  4S\\-  4/rSr	g)Ú!c_nvmlConfComputeGpuCertificate_tiX  ÚcertChainSizeÚattestationCertChainSizeÚ	certChainÚattestationCertChainr  N)
r  r  r  r  r³  rl  ÚNVML_GPU_CERT_CHAIN_SIZEÚ$NVML_GPU_ATTESTATION_CERT_CHAIN_SIZEr€  r  r  r  r  r˜  r˜  X  s5   † Ø  &Ð)Ø+¨VÐ4Ø˜gÐ(@Ñ@ÐAØ'¨Ð3WÑ)WÐXðƒHr  r˜  c                   óN   • \ rS rSrS\4S\4S\4S\\-  4S\\-  4S\\-  4/r	Sr
g	)
Ú'c_nvmlConfComputeGpuAttestationReport_ti_  ÚisCecAttestationReportPresentÚattestationReportSizeÚcecAttestationReportSizeÚnonceÚattestationReportÚcecAttestationReportr  N)r  r  r  r  r³  rl  ÚNVML_CC_GPU_CEC_NONCE_SIZEÚ#NVML_CC_GPU_ATTESTATION_REPORT_SIZEÚ'NVML_CC_GPU_CEC_ATTESTATION_REPORT_SIZEr€  r  r  r  r  r   r   _  sK   † Ø0°&Ð9Ø(¨&Ð1Ø+¨VÐ4Ø˜'Ð$>Ñ>Ð?Ø$ gÐ0SÑ&SÐTØ'¨Ð3ZÑ)ZÐ[ðƒHr  r   c                   ó$   • \ rS rSrS\4S\4/rSrg)Ú.c_nvmlConfComputeSetKeyRotationThresholdInfo_tih  rË  ÚmaxAttackerAdvantager  N©r  r  r  r  r³  rI  r€  r  r  r  r  r«  r«  h  s   † Ø˜FÐ#Ø'¨Ð1ðƒHr  r«  c                   ó$   • \ rS rSrS\4S\4/rSrg)Ú.c_nvmlConfComputeGetKeyRotationThresholdInfo_tin  rË  ÚattackerAdvantager  Nr­  r  r  r  r¯  r¯  n  s   † Ø˜FÐ#Ø$ gÐ.ðƒHr  r¯  c                 ó\   ^ • [        T 5      U 4S j5       n[        R                  S:¼  a  U$ T $ )aH  
In python 3, strings are unicode instead of bytes, and need to be converted for ctypes
Args from caller: (1, 'string', <__main__.c_nvmlDevice_t at 0xFFFFFFFF>)
Args passed to function: (1, b'string', <__main__.c_nvmlDevice_t at 0xFFFFFFFF)>
----
Returned from function: b'returned string'
Returned to caller: 'returned string'
c                  ó  >• U  Vs/ s H*  n[        U[        5      (       a  UR                  5       OUPM,     n nT" U 0 UD6n[        U[        5      (       a'  [        U[        5      (       a  U$ UR	                  5       $ U$ s  snf r,  )r�  r%  rŠ  r‚  rƒ  )rP  ÚkwargsÚargrŸ  Úfuncs       €r  ÚwrapperÚ convertStrBytes.<locals>.wrapper~  sy   ø€ ñ JNÓNÊÀ#¤
¨3´× 4Ñ 4�—
‘
”¸#Ò=ÉˆÐNÙ�DÐ#˜FÑ#ˆô �cœ5×!Ñ!Ü˜#œs×#Ñ#Ø�
Ø—:‘:“<ÐØˆ
ùò Os   †1A?r	  )r   rV  r‰  ©rµ  r¶  s   ` r  ÚconvertStrBytesr¹  u  s5   ø€ ô ˆ4ƒ[ôó ðô ×Ñ˜4ÓØˆØ€Kr  c                 ó0   ^ • [        T 5      U 4S j5       nU$ )Nc                  óh   >•  T" U 0 UD6$ ! [          a    [        STR                  -   S-   5      ef = f)Nz­Unversioned function called and the pyNVML version does not match the NVML lib version. Either use matching pyNVML and NVML lib versions or use a versioned function such as Ú_v2)ÚNVMLError_FunctionNotFoundr  r  )rP  r³  rµ  s     €r  r¶  Ú'throwOnVersionMismatch.<locals>.wrapper‘  s_   ø€ ð	hÙ˜Ð( Ñ(Ð(øÜ)ó 	hÜ*ð ,Oð RV×Q^ÑQ^ñ,_ð bgñ,gó hð hð	hús   ƒ ‹&1r   r¸  s   ` r  ÚthrowOnVersionMismatchr¿  �  s"   ø€ Ü
ˆ4ƒ[ôhó ðhð €Nr  c                 ó¶   • [        5         [        S5      nU" U 5      n[        U5        [        R	                  5         [
        S-  q[        R                  5         g )NÚnvmlInitWithFlagsr   )Ú_LoadNvmlLibraryrt  rk  rn  ro  Ú_nvmlLib_refcountrq  )r^  r+  rj  s      r  rÁ  rÁ  �  sN   € ÜÔô
 
!Ð!4Ó	5€BÙ
ˆU‹)€CÜ�SÔô ×ÑÔÜ˜ÑÐÜ×ÑÔØr  c                  ó   • [        S5        g r  )rÁ  r  r  r  ÚnvmlInitrÅ  ®  s   € Ü�aÔØr  c            	      ó¢  • [         S:X  a±  [        R                  5          [         S:X  a}   [        R                  SS S:X  a@   [        [        R                  R                  [        R                  " SS5      S5      5      q O[        S
5      q  [         S:X  a  [        [        5        [        R                  5         gg! [         aH  n [        [        R                  R                  [        R                  " SS5      S	5      5      q  Sn A N|Sn A ff = f! [         a  n [        [        5         Sn A N¢Sn A ff = f! [        R                  5         f = f)z-
Load the library if it isn't loaded already
Nr	   ÚwinÚWINDIRz
C:/WindowszSystem32/nvml.dllÚProgramFileszC:/Program Filesz!NVIDIA Corporation/NVSMI/nvml.dllzlibnvidia-ml.so.1)rp  rn  ro  rV  ÚplatformÚCDLLÚosÚpathr˜  ÚgetenvÚOSErrorrk  r<  rq  )Úoses    r  rÂ  rÂ  ²  s  € ô 	�4‹ä×ÑÔð	"ä˜4“ðCÜŸ™ R aÐ(¨EÓ1ðMä&*¬2¯7©7¯<©<¼¿	º	À(ÈLÓ8YÐ[nÓ+oÓ&p™Gô #'Ð':Ó";™ô ˜t“OÜ$Ô%AÔBô ×ÑÕ!ð5 	øô  'ó Mô '+¬2¯7©7¯<©<¼¿	º	À.ÐRdÓ8eð  hKó  ,Ló  'M�GûðMûô ó CÜ$Ô%A×BÑBûðCûô ×ÑÕ!úsj    
D8 «D Á>B= ÂD8 ÂD ÂD8 Â=
DÃ>D
ÄD Ä	D8 Ä
DÄD Ä
D5ÄD0Ä+D8 Ä0D5Ä5D8 Ä8Ec                  ó´   • [        S5      n U " 5       n[        U5        [        R                  5         S[        :  a	  [        S-  q[        R                  5         g )NÚnvmlShutdownr   r   )rt  rk  rn  ro  rÃ  rq  )r+  rj  s     r  rÒ  rÒ  Ô  sN   € ô 
! Ó	0€BÙ
‹$€CÜ�SÔô ×ÑÔØ	ÔÓÜ˜QÑÐÜ×ÑÔØr  c                 óB   • [        S5      n[        Ul        U" U 5      nU$ )Nr&  )rt  Úc_char_pÚrestype)r™  r+  rj  s      r  r&  r&  å  s"   € ä	 Ð!2Ó	3€BÜ€B„JÙ
ˆV‹*€CØ€Jr  c                  ó�   • [        [        5      n [        S5      nU" U [        [        5      5      n[	        U5        U R
                  $ )NÚnvmlSystemGetNVMLVersion)Úcreate_string_bufferÚ$NVML_SYSTEM_NVML_VERSION_BUFFER_SIZErt  r³  rk  r  ©Ú	c_versionr+  rj  s      r  r×  r×  í  s<   € ä$Ô%IÓJ€IÜ	 Ð!;Ó	<€BÙ
ˆYœÔCÓDÓ
E€CÜ�SÔØ�?‰?Ðr  c                  ó|   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U R                  $ )NÚnvmlSystemGetCudaDriverVersion©rK  rt  r(  rk  r  ©Úc_cuda_versionr+  rj  s      r  rÝ  rÝ  õ  s7   € Ü“W€NÜ	 Ð!AÓ	B€BÙ
ŒU�>Ó"Ó
#€CÜ�SÔØ×ÑÐr  c                  ó|   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U R                  $ )NÚ!nvmlSystemGetCudaDriverVersion_v2rÞ  rß  s      r  râ  râ  ü  s7   € Ü“W€NÜ	 Ð!DÓ	E€BÙ
ŒU�>Ó"Ó
#€CÜ�SÔØ×ÑÐr  c                 ó”   • [        S5      n[        S5      nU" [        U 5      U[        S5      5      n[        U5        UR                  $ )Nr`  ÚnvmlSystemGetProcessName)rØ  rt  r³  rk  r  )r  Úc_namer+  rj  s       r  rä  rä    s?   € ä! $Ó'€FÜ	 Ð!;Ó	<€BÙ
ŒV�C‹[˜&¤&¨£,Ó
/€CÜ�SÔØ�<‰<Ðr  c                  ó�   • [        [        5      n [        S5      nU" U [        [        5      5      n[	        U5        U R
                  $ )NÚnvmlSystemGetDriverVersion)rØ  ræ  rt  r³  rk  r  rÚ  s      r  rç  rç    s<   € ä$Ô%KÓL€IÜ	 Ð!=Ó	>€BÙ
ˆYœÔEÓFÓ
G€CÜ�SÔØ�?‰?Ðr  c                  ó*  • [        S5      n S n[        S5      nU" [        U 5      S 5      nU[        :w  a  U[        :w  a  [        U5      eU R                  S:X  a  / $ [        U R                  -  nU" 5       nU" [        U 5      U5      n[        U5        U$ )Nr   ÚnvmlSystemGetHicVersion)	r³  rt  r(  ri  r7  r  r  r=  rk  )Úc_countÚhicsr+  rj  Ú	hic_arrays        r  ré  ré    s�   € Ü�Q‹i€GØ€DÜ	 Ð!:Ó	;€Bñ ŒU�7‹^˜TÓ
"€Cð 
”Ó	Ø	Ô,Ó	,Ü˜‹nÐð 	�‰˜ÓØˆ	ä! G§M¡MÑ1€IÙ‹;€DÙ
ŒU�7‹^˜TÓ
"€CÜ�SÔØ€Kr  c                  óœ   • [        S5      n [        U l        [        S5      nU" [	        U 5      [        [        5      5      n[        U5        U $ )Nr   ÚnvmlSystemGetDriverBranch)rä  ÚSystemDriverBranchInfo_v1rË  rt  r(  r³  ræ  rk  )Úc_branchInfor+  rj  s      r  rî  rî  ,  sD   € Ü4°QÓ7€LÜ4€LÔÜ
!Ð"=Ó
>€BÙ
ŒU�<Ó ¤&Ô)OÓ"PÓ
Q€CÜ�SÔØÐr  c                 óR   • [        S5      nU" [        U 5      5      n[        U5        g )NÚnvmlSystemGetCPER_v1r'  )Úcperr+  rj  s      r  rò  rò  4  s"   € Ü	 Ð!7Ó	8€BÙ
ŒU�4‹[‹/€CÜ�SÕr  c                  ó|   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U R                  $ )NÚnvmlUnitGetCount©r³  rt  r(  rk  r  ©rê  r+  rj  s      r  rõ  rõ  :  s4   € Ü‹h€GÜ	 Ð!3Ó	4€BÙ
ŒU�7‹^Ó
€CÜ�SÔØ�=‰=Ðr  c                 ó€   • [        U 5      n[        5       n[        S5      nU" U[        U5      5      n[	        U5        U$ )NÚnvmlUnitGetHandleByIndex)r³  Úc_nvmlUnit_trt  r(  rk  )rn  Úc_indexÚunitr+  rj  s        r  rù  rù  A  s:   € Ü�U‹m€GÜ‹>€DÜ	 Ð!;Ó	<€BÙ
ˆW”e˜D“kÓ
"€CÜ�SÔØ€Kr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlUnitGetUnitInfo)r¨  rt  r(  rk  ©rü  r*  r+  rj  s       r  rþ  rþ  I  s2   € ÜÓ€FÜ	 Ð!6Ó	7€BÙ
ˆT”5˜“=Ó
!€CÜ�SÔØ€Mr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlUnitGetLedState)rµ  rt  r(  rk  )rü  Úc_stater+  rj  s       r  r  r  P  s2   € ÜÓ!€GÜ	 Ð!6Ó	7€BÙ
ˆT”5˜“>Ó
"€CÜ�SÔØ€Nr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlUnitGetPsuInfo)rº  rt  r(  rk  rÿ  s       r  r  r  W  s2   € ÜÓ€FÜ	 Ð!5Ó	6€BÙ
ˆT”5˜“=Ó
!€CÜ�SÔØ€Mr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  $ )NÚnvmlUnitGetTemperaturerö  )rü  r^  Úc_tempr+  rj  s        r  r  r  ^  s<   € Ü‹X€FÜ	 Ð!9Ó	:€BÙ
ˆT”6˜$“<¤ v£Ó
/€CÜ�SÔØ�<‰<Ðr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlUnitGetFanSpeedInfo)rÄ  rt  r(  rk  )rü  Úc_speedsr+  rj  s       r  r	  r	  e  s2   € Ü$Ó&€HÜ	 Ð!:Ó	;€BÙ
ˆT”5˜“?Ó
#€CÜ�SÔØ€Or  c                 ó¢   • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  [        n[        U5        UR                  $ )Nr   ÚnvmlUnitGetDevices)r³  rt  r(  r7  ri  rk  r  )rü  rê  r+  rj  s       r  ÚnvmlUnitGetDeviceCountr  m  sH   € Ü�Q‹i€Gä	 Ð!5Ó	6€BÙ
ˆT”5˜“> 4Ó
(€CØÔ+Ó+ÜˆÜ�SÔØ�=‰=Ðr  c                 ó´   • [        [        U 5      5      n[        UR                  -  nU" 5       n[	        S5      nU" U [        U5      U5      n[        U5        U$ )Nr  )r³  r  re  r  rt  r(  rk  )rü  rê  Údevice_arrayÚ	c_devicesr+  rj  s         r  r  r  w  sR   € ÜÔ+¨DÓ1Ó2€GÜ! G§M¡MÑ1€LÙ“€IÜ	 Ð!5Ó	6€BÙ
ˆT”5˜“> 9Ó
-€CÜ�SÔØÐr  c                  ó|   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U R                  $ )NÚnvmlDeviceGetCount_v2rö  r÷  s      r  ÚnvmlDeviceGetCountr  �  s4   € Ü‹h€GÜ	 Ð!8Ó	9€BÙ
ŒU�7‹^Ó
€CÜ�SÔØ�=‰=Ðr  c                 ó€   • [        U 5      n[        5       n[        S5      nU" U[        U5      5      n[	        U5        U$ )NÚnvmlDeviceGetHandleByIndex_v2©r³  re  rt  r(  rk  )rn  rû  rÎ  r+  rj  s        r  ÚnvmlDeviceGetHandleByIndexr  ˆ  s;   € Ü�U‹m€GÜÓ€FÜ	 Ð!@Ó	A€BÙ
ˆW”e˜F“mÓ
$€CÜ�SÔØ€Mr  c                 ó€   • [        U 5      n[        5       n[        S5      nU" U[        U5      5      n[	        U5        U$ )NÚnvmlDeviceGetHandleBySerial©rÔ  re  rt  r(  rk  )rª  Úc_serialrÎ  r+  rj  s        r  r  r  ‘  s>   € ô ˜Ó€HÜÓ€FÜ	 Ð!>Ó	?€BÙ
ˆX”u˜V“}Ó
%€CÜ�SÔØ€Mr  c                 ó€   • [        U 5      n[        5       n[        S5      nU" U[        U5      5      n[	        U5        U$ )NÚnvmlDeviceGetHandleByUUIDr  )rê  Úc_uuidrÎ  r+  rj  s        r  r  r  ›  s;   € ä�d‹^€FÜÓ€FÜ	 Ð!<Ó	=€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ€Mr  c                 ó0  • [        5       nXl        U[        :X  a  XR                  l        O/U[
        :X  a%  [        UR                  R                  U [        5        [        5       n[        S5      nU" [        U5      [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetHandleByUUIDV)rõ  r^  ÚNVML_UUID_TYPE_ASCIIr  r%  ÚNVML_UUID_TYPE_BINARYÚmemmover‚  ró  re  rt  r(  rk  )rê  r^  r  rÎ  r+  rj  s         r  r   r   ¤  su   € ä‹^€FØ„KØÔ#Ó#Ø�‰ÕØ	Ô&Ó	&Ü�—‘×"Ñ" DÔ*EÔFÜÓ€FÜ	 Ð!=Ó	>€BÙ
ŒU�6‹]œE &›MÓ
*€CÜ�SÔØ€Mr  c                 ó€   • [        U 5      n[        5       n[        S5      nU" U[        U5      5      n[	        U5        U$ )NÚ nvmlDeviceGetHandleByPciBusId_v2r  )ÚpciBusIdÚc_busIdrÎ  r+  rj  s        r  ÚnvmlDeviceGetHandleByPciBusIdr(  ²  s<   € ä�xÓ €GÜÓ€FÜ	 Ð!CÓ	D€BÙ
ˆW”e˜F“mÓ
$€CÜ�SÔØ€Mr  c                 ó�   • [        [        5      n[        S5      nU" X[        [        5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetName)rØ  r=  rt  r³  rk  r  )rï  rå  r+  rj  s       r  r*  r*  »  ó<   € ä!Ô"AÓB€FÜ	 Ð!4Ó	5€BÙ
ˆVœVÔ$CÓDÓ
E€CÜ�SÔØ�<‰<Ðr  c                   ó*   • \ rS rSrS\4S\\-  4/rSrg)Úc_nvmlDevicePerfModes_v1_tiÃ  rË  r%  r  N©	r  r  r  r  r³  r­  ÚNVML_PERF_MODES_BUFFER_SIZEr€  r  r  r  r  r-  r-  Ã  ó   † à	�FÐØ	�Ð4Ñ4Ð5ðƒHr  r-  i c                 ó”   • [        5       n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPerformanceModes)r-  ÚnvmlDevicePerfModes_v1rË  rt  r(  rk  r%  )rï  Ú	perfModesr+  rj  s       r  r2  r2  Ë  s@   € ä*Ó,€IÜ.€IÔÜ	 Ð!@Ó	A€BÙ
ˆV”U˜9Ó%Ó
&€CÜ�SÔØ�=‰=Ðr  c                   ó*   • \ rS rSrS\4S\\-  4/rSrg)Ú"c_nvmlDeviceCurrentClockFreqs_v1_tiÔ  rË  r%  r  Nr.  r  r  r  r6  r6  Ô  r0  r  r6  c                 ó”   • [        5       n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetCurrentClockFreqs)r6  ÚnvmlDeviceCurrentClockFreqs_v1rË  rt  r(  rk  r%  )rï  ÚcurrentClockFreqsr+  rj  s       r  r8  r8  Ü  sE   € ä:Ó<ÐÜ >ÐÔÜ	 Ð!AÓ	B€BÙ
ˆV”UÐ,Ó-Ó
.€CÜ�SÔØ× Ñ Ð r  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetBoardIdrö  )rï  Úc_idr+  rj  s       r  r<  r<  å  s6   € Ü‹8€DÜ	 Ð!7Ó	8€BÙ
ˆV”U˜4“[Ó
!€CÜ�SÔØ�:‰:Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetMultiGpuBoardrö  )rï  Ú
c_multiGpur+  rj  s       r  r?  r?  ì  s9   € Ü“€JÜ	 Ð!=Ó	>€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØ×ÑÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetBrand)Ú_nvmlBrandType_trt  r(  rk  r  )rï  Úc_typer+  rj  s       r  rB  rB  ó  s7   € ÜÓ€FÜ	 Ð!5Ó	6€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ�<‰<Ðr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetC2cModeInfoV)r°  rt  r(  rk  r)  s       r  ÚnvmlDeviceGetC2cModeInfoV1rG  ú  s2   € Ü#Ó%€FÜ	 Ð!<Ó	=€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ€Mr  c                 ó   • [        U 5      $ r,  )rG  ©rï  s    r  rF  rF    ó   € Ü% fÓ-Ð-r  c                 ó�   • [        [        5      n[        S5      nU" X[        [        5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetBoardPartNumber)rØ  Ú#NVML_DEVICE_PART_NUMBER_BUFFER_SIZErt  r³  rk  r  )rï  Úc_part_numberr+  rj  s       r  rL  rL    s>   € ä(Ô)LÓM€MÜ	 Ð!?Ó	@€BÙ
ˆV¤FÔ+NÓ$OÓ
P€CÜ�SÔØ×ÑÐr  c                 ó�   • [        [        5      n[        S5      nU" X[        [        5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetSerial)rØ  ÚNVML_DEVICE_SERIAL_BUFFER_SIZErt  r³  rk  r  )rï  r  r+  rj  s       r  rP  rP    s<   € ä#Ô$BÓC€HÜ	 Ð!6Ó	7€BÙ
ˆVœvÔ&DÓEÓ
F€CÜ�SÔØ�>‰>Ðr  c                 ó²   • [        U5      [        LnU(       a  UO
[        U5      n[        S5      nU" X5      nU(       a  U$ [	        U5        UR
                  $ )NÚnvmlDeviceGetModuleId)r^  r³  r(  rt  rk  r  )rï  ÚmoduleIdÚisReferenceÚmoduleIdRefr+  rj  s         r  rS  rS    sL   € Ü�x“.¬Ð.€KÞ)‘(¬u°X«€KÜ	 Ð!8Ó	9€BÙ
ˆVÓ
!€CÞØˆ
ä˜ÔØ�~‰~Ðr  c                 óŠ   • [         U-  nU" 5       n[        S5      nU" X[        U5      [        U5      5      n[	        U5        U$ )NÚnvmlDeviceGetMemoryAffinity©rð  rt  r(  Ú_nvmlAffinityScope_trk  )rï  ÚnodeSetSizeÚscopeÚaffinity_arrayÚ
c_affinityr+  rj  s          r  rX  rX    sF   € Ü  ;Ñ.€NÙÓ!€JÜ	 Ð!>Ó	?€BÙ
ˆV¤%¨
Ó"3Ô5IÈ%Ó5PÓ
Q€CÜ�SÔØÐr  c                 óŠ   • [         U-  nU" 5       n[        S5      nU" X[        U5      [        U5      5      n[	        U5        U$ )NÚ#nvmlDeviceGetCpuAffinityWithinScoperY  )rï  Ú
cpuSetSizer\  r]  r^  r+  rj  s          r  r`  r`  '  sF   € Ü  :Ñ-€NÙÓ!€JÜ	 Ð!FÓ	G€BÙ
ˆV¤ zÓ!2Ô4HÈÓ4OÓ
P€CÜ�SÔØÐr  c                 óv   • [         U-  nU" 5       n[        S5      nU" X[        U5      5      n[        U5        U$ )NÚnvmlDeviceGetCpuAffinity)rð  rt  r(  rk  )rï  ra  r]  r^  r+  rj  s         r  rc  rc  /  s>   € Ü  :Ñ-€NÙÓ!€JÜ	 Ð!;Ó	<€BÙ
ˆV¤ zÓ!2Ó
3€CÜ�SÔØÐr  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚnvmlDeviceSetCpuAffinityr‰  ©rï  r+  rj  s      r  re  re  7  s!   € Ü	 Ð!;Ó	<€BÙ
ˆV‹*€CÜ�SÔØr  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚnvmlDeviceClearCpuAffinityr‰  rf  s      r  rh  rh  =  s!   € Ü	 Ð!=Ó	>€BÙ
ˆV‹*€CÜ�SÔØr  c                 ó~   • [        S5      n[        5       nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetNumaNodeId©rt  rK  r(  rk  r  )rï  r+  Únoderj  s       r  rj  rj  C  s6   € Ü	 Ð!:Ó	;€BÜ‹7€DÙ
ˆV”U˜4“[Ó
!€CÜ�SÔØ�:‰:Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetAddressingMode)r-  rt  r(  rk  r  )rÎ  Úc_moder+  rj  s       r  rn  rn  J  s7   € Ü)Ó+€FÜ	 Ð!>Ó	?€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ�<‰<Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetMinorNumberrö  )rï  Úc_minor_numberr+  rj  s       r  rq  rq  Q  s9   € Ü“X€NÜ	 Ð!;Ó	<€BÙ
ˆV”U˜>Ó*Ó
+€CÜ�SÔØ×ÑÐr  c                 ó�   • [        [        5      n[        S5      nU" X[        [        5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetUUID)rØ  ÚNVML_DEVICE_UUID_V2_BUFFER_SIZErt  r³  rk  r  )rï  r  r+  rj  s       r  rt  rt  X  r+  r  c                 ó¦   • [        [        5      n[        S5      nU" U [        U5      U[	        [        5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetInforomVersion)rØ  Ú'NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZErt  Ú_nvmlInforomObject_tr³  rk  r  )rï  ÚinfoRomObjectrÛ  r+  rj  s        r  rw  rw  `  sJ   € ä$Ô%LÓM€IÜ	 Ð!>Ó	?€BÙ
ˆVÔ)¨-Ó8ØœFÔ#JÓKóM€Cä�SÔØ�?‰?Ðr  c                 ó�   • [        [        5      n[        S5      nU" X[        [        5      5      n[	        U5        UR
                  $ )NÚ nvmlDeviceGetInforomImageVersion)rØ  rx  rt  r³  rk  r  ©rï  rÛ  r+  rj  s       r  r|  r|  j  s<   € ä$Ô%LÓM€IÜ	 Ð!CÓ	D€BÙ
ˆV¤Ô'NÓ OÓ
P€CÜ�SÔØ�?‰?Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ)nvmlDeviceGetInforomConfigurationChecksumrö  )rï  Ú
c_checksumr+  rj  s       r  r  r  s  s9   € Ü“€JÜ	 Ð!LÓ	M€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØ×ÑÐr  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚnvmlDeviceValidateInforomr‰  rf  s      r  r‚  r‚  {  s!   € Ü	 Ð!<Ó	=€BÙ
ˆV‹*€CÜ�SÔØr  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  UR
                  /$ )NÚnvmlDeviceGetLastBBXFlushTime)rð  rI  rt  r(  rk  r  )rï  Úc_timestampÚc_durationUsr+  rj  s        r  r„  r„  �  sR   € Ü“-€KÜ“9€LÜ	 Ð!@Ó	A€BÙ
ˆV”U˜;Ó'¬¨|Ó)<Ó
=€CÜ�SÔØ×Ñ˜|×1Ñ1Ð2Ð2r  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetDisplayMode©Ú_nvmlEnableState_trt  r(  rk  r  ©rï  ro  r+  rj  s       r  rˆ  rˆ  ‰  ó7   € ÜÓ!€FÜ	 Ð!;Ó	<€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ�<‰<Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetDisplayActiver‰  r‹  s       r  rŽ  rŽ  �  s7   € ÜÓ!€FÜ	 Ð!=Ó	>€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ�<‰<Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPersistenceModer‰  )rï  r  r+  rj  s       r  r�  r�  ˜  s7   € Ü Ó"€GÜ	 Ð!?Ó	@€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó@   • [        S5      nU" X5      n[        U5        g )NÚnvmlDeviceGetPciInfoExtr‰  r)  s       r  r’  r’  Ÿ  s"   € Ü	 Ð!:Ó	;€BÙ
ˆVÓ
€CÜ�SÔØr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetPciInfo_v3©rá  rt  r(  rk  r)  s       r  r”  r”  ¥  s1   € Ü‹_€FÜ	 Ð!:Ó	;€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ€Mr  c                 ó   • [        U 5      $ r,  )r”  rI  s    r  ÚnvmlDeviceGetPciInfor—  ¬  s   € Ü" 6Ó*Ð*r  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetClockInfo©r³  rt  Ú_nvmlClockType_tr(  rk  r  ©rï  r^  Úc_clockr+  rj  s        r  r™  r™  ¯  s>   € Ü‹h€GÜ	 Ð!9Ó	:€BÙ
ˆVÔ% dÓ+¬U°7«^Ó
<€CÜ�SÔØ�=‰=Ðr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetMaxClockInforš  rœ  s        r  rŸ  rŸ  ·  s>   € Ü‹h€GÜ	 Ð!<Ó	=€BÙ
ˆVÔ% dÓ+¬U°7«^Ó
<€CÜ�SÔØ�=‰=Ðr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetApplicationsClockrš  rœ  s        r  r¡  r¡  À  s>   € Ü‹h€GÜ	 Ð!AÓ	B€BÙ
ˆVÔ% dÓ+¬U°7«^Ó
<€CÜ�SÔØ�=‰=Ðr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚ"nvmlDeviceGetMaxCustomerBoostClockrš  rœ  s        r  r£  r£  Ç  s>   € Ü‹h€GÜ	 Ð!EÓ	F€BÙ
ˆVÔ% dÓ+¬U°7«^Ó
<€CÜ�SÔØ�=‰=Ðr  c                 ó¦   • [        5       n[        S5      nU" U [        U5      [        U5      [	        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetClock)r³  rt  r›  Ú_nvmlClockId_tr(  rk  r  )rï  r^  r©  r�  r+  rj  s         r  r¥  r¥  Î  sE   € Ü‹h€GÜ	 Ð!5Ó	6€BÙ
ˆVÔ% dÓ+¬^¸BÓ-?ÄÀwÃÓ
P€CÜ�SÔØ�=‰=Ðr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚ%nvmlDeviceGetDefaultApplicationsClockrš  rœ  s        r  r¨  r¨  ×  s>   € Ü‹h€GÜ	 Ð!HÓ	I€BÙ
ˆVÔ% dÓ+¬U°7«^Ó
<€CÜ�SÔØ�=‰=Ðr  c                 ól  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  ak  [         UR
                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR
                  5       H  nUR                  XW   5        M     U$ [        U5      e)Nr   Ú"nvmlDeviceGetSupportedMemoryClocks©
r³  rt  r(  ri  r7  r  rk  r�  r–  r  )rï  rê  r+  rj  Úclocks_arrayÚc_clocksÚprocsr¡  s           r  rª  rª  ß  s¨   € ä�Q‹i€GÜ	 Ð!EÓ	F€BÙ
ˆV”U˜7“^ TÓ
*€CàŒ|Óàˆ	Ø
Ô-Ó
-ä §¡Ñ-ˆÙ“>ˆñ �œ˜w›¨Ó2ˆÜ˜ÔàˆÜ�w—}‘}Ö%ˆAØ�L‰L˜™Ö%ñ &ð ˆô ˜‹nÐr  c                 ó”  • [        S5      n[        S5      nU" U [        U5      [        U5      S 5      nU[        :X  a  / $ U[        :X  au  [         UR
                  -  nU" 5       nU" U [        U5      [        U5      U5      n[        U5        / n[        UR
                  5       H  nUR                  Xh   5        M     U$ [        U5      e)Nr   Ú$nvmlDeviceGetSupportedGraphicsClocksr«  )	rï  ÚmemoryClockMHzrê  r+  rj  r¬  r­  r®  r¡  s	            r  r°  r°  û  s¶   € ä�Q‹i€GÜ	 Ð!GÓ	H€BÙ
ˆV”V˜NÓ+¬U°7«^¸TÓ
B€CàŒ|Óàˆ	Ø
Ô-Ó
-ä §¡Ñ-ˆÙ“>ˆñ �œ Ó/´°w³ÀÓJˆÜ˜ÔàˆÜ�w—}‘}Ö%ˆAØ�L‰L˜™Ö%ñ &ð ˆô ˜‹nÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetFanSpeedrö  )rï  Úc_speedr+  rj  s       r  r³  r³    s6   € Ü‹h€GÜ	 Ð!8Ó	9€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetFanSpeed_v2rö  ©rï  Úfanr´  r+  rj  s        r  r¶  r¶    s6   € Ü‹h€GÜ	 Ð!;Ó	<€BÙ
ˆVœ% ›.Ó
)€CÜ�SÔØ�=‰=Ðr  c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_nvmlFanSpeedInfo_ti$  rË  r¸  rÁ  r  Nr²  r  r  r  rº  rº  $  s    † à	�FÐØ	�ˆØ	�&ÐðƒHr  rº  c                 ó¢   • [        5       nSUl        [        Ul        [	        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlDeviceGetFanSpeedRPM)rº  r¸  ÚnvmlFanSpeedInfo_v1rË  rt  r(  rk  rÁ  )rï  Ú
c_fanSpeedr+  rj  s       r  r¼  r¼  -  sI   € Ü%Ó'€JØ€J„NÜ,€JÔÜ	 Ð!;Ó	<€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØ×ÑÐr  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetTargetFanSpeedrö  r·  s        r  rÀ  rÀ  6  s6   € Ü‹h€GÜ	 Ð!>Ó	?€BÙ
ˆVœ% ›.Ó
)€CÜ�SÔØ�=‰=Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetNumFansrö  )rÎ  Ú	c_numFansr+  rj  s       r  rÂ  rÂ  =  s7   € Ü“€IÜ	 Ð!7Ó	8€BÙ
ˆV”U˜9Ó%Ó
&€CÜ�SÔØ�?‰?Ðr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceSetDefaultFanSpeed_v2©rt  rk  ri  )rï  rn  r+  rj  s       r  rÅ  rÅ  D  s%   € Ü	 Ð!BÓ	C€BÙ
ˆVÓ
€CÜ�SÔÜÐr  c                 ó,  • [        U5      [        L=(       d    [        U5      [        LnU(       a  UO
[        U5      nU(       a  UO
[        U5      n[        S5      nU" XU5      n[	        U5        U(       a  [
        $ UR                  UR                  /$ )NÚnvmlDeviceGetMinMaxFanSpeed©r^  r³  r(  rt  rk  ri  r  )rï  ÚminSpeedÚmaxSpeedrU  ÚminSpeedRefÚmaxSpeedRefr+  rj  s           r  rÈ  rÈ  J  sq   € Ü˜“>¬Ð/×R´T¸(³^Ì6Ð5Q€KÞ)‘(¬u°X«€KÞ)‘(¬u°X«€KÜ	 Ð!>Ó	?€BÙ
ˆV +Ó
.€CÜ�SÔÞ&Œ<ÐL¨X¯^©^¸X¿^¹^Ð,LÐLr  c                 ó¼   • [        U5      [        LnU(       a  UO
[        U5      n[        S5      nU" XU5      n[	        U5        U(       a  [
        $ UR                  $ )NÚ nvmlDeviceGetFanControlPolicy_v2rÉ  )rï  r¸  ÚfanControlPolicyrU  ÚfanControlPolicyRefr+  rj  s          r  rÏ  rÏ  S  sW   € ÜÐ'Ó(´Ð6€KÞ.9Ñ*¼uÐEUÓ?VÐÜ	 Ð!CÓ	D€BÙ
ˆVÐ-Ó
.€CÜ�SÔÞ&Œ<ÐBÐ,<×,BÑ,BÐBr  c                 ó^   • [        S5      nU" X[        U5      5      n[        U5        [        $ )NÚnvmlDeviceSetFanControlPolicy)rt  Ú_nvmlFanControlPolicy_trk  ri  )rï  r¸  rÐ  r+  rj  s        r  rÓ  rÓ  [  s.   € Ü	 Ð!@Ó	A€BÙ
ˆVÔ1Ð2BÓCÓ
D€CÜ�SÔÜÐr  c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_nvmlTemperature_v1_tia  rË  Ú
sensorTypeÚtemperaturer  N)	r  r  r  r  r³  Ú_nvmlTemperatureSensors_trK  r€  r  r  r  r  rÖ  rÖ  a  s"   † à	�FÐØ	Ð0Ð1Ø	˜ÐðƒHr  rÖ  c                 ó´   • [        5       n[        Ul        [        U5      Ul        [        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetTemperatureV)	rÖ  ÚnvmlTemperature_v1rË  rÙ  r×  rt  r(  rk  rØ  ©rï  rj  r  r+  rj  s        r  ÚnvmlDeviceGetTemperatureV1rÞ  i  sM   € Ü#Ó%€FÜ'€F„NÜ1°&Ó9€FÔÜ	 Ð!<Ó	=€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ×ÑÐr  c                 óJ   • U[         :X  a  [        X5      $ [        [        5      er,  )rÜ  rÞ  r  r˜  )rï  rj  rË  s      r  rÛ  rÛ  r  s"   € ØÔ$Ó$Ü)¨&Ó9Ð9äÔ<Ó=Ð=r  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetTemperature)r³  rt  rÙ  r(  rk  r  rÝ  s        r  rá  rá  y  s>   € Ü‹X€FÜ	 Ð!;Ó	<€BÙ
ˆVÔ.¨vÓ6¼¸f»Ó
F€CÜ�SÔØ�<‰<Ðr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚ!nvmlDeviceGetTemperatureThreshold)r³  rt  Ú_nvmlTemperatureThresholds_tr(  rk  r  )rï  Ú	thresholdr  r+  rj  s        r  rã  rã  €  s>   € Ü‹X€FÜ	 Ð!DÓ	E€BÙ
ˆVÔ1°)Ó<¼eÀF»mÓ
L€CÜ�SÔØ�<‰<Ðr  c                 óˆ   • [        5       nX#l        [        S5      nU" U [        U5      [	        U5      5      n[        U5        g )NÚ!nvmlDeviceSetTemperatureThreshold)r³  r  rt  rä  r(  rk  )rï  rå  Útempr  r+  rj  s         r  rç  rç  ‡  s<   € Ü‹X€FØ„LÜ	 Ð!DÓ	E€BÙ
ˆVÔ1°)Ó<¼eÀF»mÓ
L€CÜ�SÔØr  c                 ó”   • [        5       n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetMarginTemperature)rî  ÚnvmlMarginTemperature_v1rË  rt  r(  rk  rï  )rï  Úc_marginTempInfor+  rj  s       r  rê  rê  �  sE   € Ü3Ó5ÐÜ7ÐÔÜ	 Ð!AÓ	B€BÙ
ˆV”UÐ+Ó,Ó
-€CÜ�SÔØ×-Ñ-Ð-r  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPowerState©Ú_nvmlPstates_trt  r(  rk  r  ©rï  Úc_pstater+  rj  s       r  rî  rî  ˜  s7   € ÜÓ€HÜ	 Ð!:Ó	;€BÙ
ˆV”U˜8“_Ó
%€CÜ�SÔØ�>‰>Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPerformanceStaterï  rñ  s       r  rô  rô  Ÿ  s7   € ÜÓ€HÜ	 Ð!@Ó	A€BÙ
ˆV”U˜8“_Ó
%€CÜ�SÔØ�>‰>Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ nvmlDeviceGetPowerManagementModer‰  )rï  Ú
c_pcapModer+  rj  s       r  rö  rö  §  s:   € Ü#Ó%€JÜ	 Ð!CÓ	D€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØ×ÑÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ!nvmlDeviceGetPowerManagementLimitrö  ©rï  Úc_limitr+  rj  s       r  rù  rù  ®  s6   € Ü‹h€GÜ	 Ð!DÓ	E€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚ,nvmlDeviceGetPowerManagementLimitConstraintsrö  )rï  Ú
c_minLimitÚ
c_maxLimitr+  rj  s        r  rý  rý  ¶  sR   € Ü“€JÜ“€JÜ	 Ð!OÓ	P€BÙ
ˆV”U˜:Ó&¬¨jÓ(9Ó
:€CÜ�SÔØ×Ñ˜j×.Ñ.Ð/Ð/r  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ(nvmlDeviceGetPowerManagementDefaultLimitrö  rú  s       r  r  r  ¿  s6   € Ü‹h€GÜ	 Ð!KÓ	L€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetEnforcedPowerLimitrö  rú  s       r  r  r  È  s6   € Ü‹h€GÜ	 Ð!BÓ	C€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPowerUsagerö  )rï  Úc_wattsr+  rj  s       r  r  r  Ï  s6   € Ü‹h€GÜ	 Ð!:Ó	;€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ#nvmlDeviceGetTotalEnergyConsumption)Úc_uint64rt  r(  rk  r  )rï  Úc_millijoulesr+  rj  s       r  r  r  Ö  s9   € Ü“J€MÜ	 Ð!FÓ	G€BÙ
ˆV”U˜=Ó)Ó
*€CÜ�SÔØ×ÑÐr  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetGpuOperationMode)Ú_nvmlGpuOperationMode_trt  r(  rk  r  ©rï  Úc_currStateÚc_pendingStater+  rj  s        r  r  r  Þ  sT   € Ü)Ó+€KÜ,Ó.€NÜ	 Ð!@Ó	A€BÙ
ˆV”U˜;Ó'¬¨~Ó)>Ó
?€CÜ�SÔØ×Ñ˜~×3Ñ3Ð4Ð4r  c                 ó   • [        U 5      S   $ r  ©r  rI  s    r  Ú$nvmlDeviceGetCurrentGpuOperationModer  ç  ó   € Ü(¨Ó0°Ñ3Ð3r  c                 ó   • [        U 5      S   $ ©Nr   r  rI  s    r  Ú$nvmlDeviceGetPendingGpuOperationModer  ë  r  r  c                 ó°   • U(       d  [        5       n[        S5      nO[        5       nXl        [        S5      nU" U [	        U5      5      n[        U5        U$ )NÚnvmlDeviceGetMemoryInfoÚnvmlDeviceGetMemoryInfo_v2)rÿ  rt  r  rË  r(  rk  )rï  rË  Úc_memoryr+  rj  s        r  r  r  î  sN   € ÞÜ!Ó#ˆÜ$Ð%>Ó?‰ä$Ó&ˆØ"ÔÜ$Ð%AÓBˆÙ
ˆV”U˜8“_Ó
%€CÜ�SÔØ€Or  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetBAR1MemoryInfo)r
  rt  r(  rk  )rï  Úc_bar1_memoryr+  rj  s       r  r  r  ú  s4   € Ü&Ó(€MÜ	 Ð!>Ó	?€BÙ
ˆV”U˜=Ó)Ó
*€CÜ�SÔØÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetComputeMode)Ú_nvmlComputeMode_trt  r(  rk  r  r‹  s       r  r   r     rŒ  r  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  4$ )NÚ"nvmlDeviceGetCudaComputeCapabilityrÞ  )rï  Úc_majorÚc_minorr+  rj  s        r  r#  r#    sL   € Ü‹g€GÜ‹g€GÜ	 Ð!EÓ	F€BÙ
ˆV”U˜7“^¤U¨7£^Ó
4€CÜ�SÔØ�M‰M˜7Ÿ=™=Ð)Ð)r  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetEccModer‰  r  s        r  r'  r'    sT   € Ü$Ó&€KÜ'Ó)€NÜ	 Ð!7Ó	8€BÙ
ˆV”U˜;Ó'¬¨~Ó)>Ó
?€CÜ�SÔØ×Ñ˜~×3Ñ3Ð4Ð4r  c                 ó   • [        U 5      S   $ r  ©r'  rI  s    r  ÚnvmlDeviceGetCurrentEccModer*    ó   € Ü Ó'¨Ñ*Ð*r  c                 ó   • [        U 5      S   $ r  r)  rI  s    r  ÚnvmlDeviceGetPendingEccModer-    r+  r  c                 ó€   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  /$ )NÚnvmlDeviceGetDefaultEccModer‰  )rï  Úc_defaultStater+  rj  s       r  r/  r/     s=   € Ü'Ó)€NÜ	 Ð!>Ó	?€BÙ
ˆV”U˜>Ó*Ó
+€CÜ�SÔØ× Ñ Ð!Ð!r  c                 ó¦   • [        5       n[        S5      nU" U [        U5      [        U5      [	        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetTotalEccErrors)rð  rt  Ú_nvmlMemoryErrorType_tÚ_nvmlEccCounterType_tr(  rk  r  )rï  Ú	errorTypeÚcounterTyperê  r+  rj  s         r  r2  r2  '  sI   € Ü‹m€GÜ	 Ð!>Ó	?€BÙ
ˆVÔ+¨IÓ6Ü& {Ó3´U¸7³^óE€Cä�SÔØ�=‰=Ðr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      [	        U5      5      n[        U5        U$ )NÚnvmlDeviceGetDetailedEccErrors)r1  rt  r3  r4  r(  rk  )rï  r5  r6  Úc_countsr+  rj  s         r  r8  r8  0  sE   € Ü%Ó'€HÜ	 Ð!AÓ	B€BÙ
ˆVÔ+¨IÓ6Ü& {Ó3´U¸8³_óF€Cä�SÔØ€Or  c           	      óº   • [        5       n[        S5      nU" U [        U5      [        U5      [	        U5      [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetMemoryErrorCounter)rð  rt  r3  r4  Ú_nvmlMemoryLocation_tr(  rk  r  )rï  r5  r6  ÚlocationTyperê  r+  rj  s          r  r;  r;  9  sS   € Ü‹m€GÜ	 Ð!BÓ	C€BÙ
ˆVÜ# IÓ.Ü" ;Ó/Ü" <Ó0Ü�7‹^ó	€Cô
 �SÔØ�=‰=Ðr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetUtilizationRates)r8  rt  r(  rk  )rï  Úc_utilr+  rj  s       r  r?  r?  D  s2   € Ü Ó"€FÜ	 Ð!@Ó	A€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ€Mr  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetEncoderUtilizationrö  ©rï  r@  Úc_samplingPeriodr+  rj  s        r  rB  rB  K  óR   € Ü‹X€FÜ“xÐÜ	 Ð!BÓ	C€BÙ
ˆV”U˜6“]¤EÐ*:Ó$;Ó
<€CÜ�SÔØ�L‰LÐ*×0Ñ0Ð1Ð1r  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetDecoderUtilizationrö  rC  s        r  rG  rG  S  rE  r  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetJpgUtilizationrö  rC  s        r  rI  rI  [  óR   € Ü‹X€FÜ“xÐÜ	 Ð!>Ó	?€BÙ
ˆV”U˜6“]¤EÐ*:Ó$;Ó
<€CÜ�SÔØ�L‰LÐ*×0Ñ0Ð1Ð1r  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetOfaUtilizationrö  rC  s        r  rL  rL  c  rJ  r  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPcieReplayCounterrö  )rï  Úc_replayr+  rj  s       r  rN  rN  k  s6   € Ü‹x€HÜ	 Ð!AÓ	B€BÙ
ˆV”U˜8“_Ó
%€CÜ�SÔØ�>‰>Ðr  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetDriverModel©Ú_nvmlDriverModel_trt  r(  rk  r  ©rï  Úc_currModelÚc_pendingModelr+  rj  s        r  ÚnvmlDeviceGetDriverModel_v1rW  r  sT   € Ü$Ó&€KÜ'Ó)€NÜ	 Ð!;Ó	<€BÙ
ˆV”U˜;Ó'¬¨~Ó)>Ó
?€CÜ�SÔØ×Ñ˜~×3Ñ3Ð4Ð4r  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetDriverModel_v2rR  rT  s        r  rY  rY  z  sT   € Ü$Ó&€KÜ'Ó)€NÜ	 Ð!>Ó	?€BÙ
ˆV”U˜;Ó'¬¨~Ó)>Ó
?€CÜ�SÔØ×Ñ˜~×3Ñ3Ð4Ð4r  c                 ó   • [        U 5      $ r,  )rY  rI  s    r  rQ  rQ  ‚  s   € Ü& vÓ.Ð.r  c                 ó   • [        U 5      S   $ r  ©rQ  rI  s    r  ÚnvmlDeviceGetCurrentDriverModelr]  †  ó   € Ü# FÓ+¨AÑ.Ð.r  c                 ó   • [        U 5      S   $ r  r\  rI  s    r  ÚnvmlDeviceGetPendingDriverModelr`  Š  r^  r  c                 ó�   • [        [        5      n[        S5      nU" X[        [        5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetVbiosVersion)rØ  Ú%NVML_DEVICE_VBIOS_VERSION_BUFFER_SIZErt  r³  rk  r  r}  s       r  rb  rb  Ž  s<   € ä$Ô%JÓK€IÜ	 Ð!<Ó	=€BÙ
ˆV¤Ô'LÓ MÓ
N€CÜ�SÔØ�?‰?Ðr  c                 óú  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  a²  UR
                  S-  S-   Ul        [        UR
                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR
                  5       HF  n[        XW   5      nUR                  [        R
                  :X  a  S Ul
        UR                  U5        MH     U$ [        U5      e)Nr   Ú'nvmlDeviceGetComputeRunningProcesses_v2r   r   ©r³  rt  r(  ri  r7  r  r  rk  r�  r‡  r  Ú"NVML_VALUE_NOT_AVAILABLE_ulonglongr–  r  ©	rï  rê  r+  rj  Ú
proc_arrayÚc_procsr®  r¡  r!  s	            r  re  re  —  sä   € ä�Q‹i€GÜ	 Ð!JÓ	K€BÙ
ˆV”U˜7“^ TÓ
*€CØŒ|Óàˆ	Ø
Ô-Ó
-ð  Ÿ™¨Ñ)¨AÑ-ˆŒÜ+¨g¯m©mÑ;ˆ
Ù“,ˆá�œ˜w›¨Ó1ˆÜ˜ÔØˆÜ�w—}‘}Ö%ˆAä,¨W©ZÓ8ˆCØ×!Ñ!Ô%G×%MÑ%MÓMà$(�Ô!Ø�L‰L˜Öñ &ð ˆô ˜‹nÐr  c                 óú  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  a²  UR
                  S-  S-   Ul        [        UR
                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR
                  5       HF  n[        XW   5      nUR                  [        R
                  :X  a  S Ul
        UR                  U5        MH     U$ [        U5      e)Nr   Ú'nvmlDeviceGetComputeRunningProcesses_v3r   r   ©r³  rt  r(  ri  r7  r  Úc_nvmlProcessInfo_v3_trk  r�  r‡  r  rg  r–  r  rh  s	            r  rl  rl  ¶  sæ   € ä�Q‹i€GÜ	 Ð!JÓ	K€BÙ
ˆV”U˜7“^ TÓ
*€CàŒ|Óàˆ	Ø
Ô-Ó
-ð  Ÿ™¨Ñ)¨AÑ-ˆŒÜ+¨g¯m©mÑ;ˆ
Ù“,ˆñ �œ˜w›¨Ó1ˆÜ˜ÔàˆÜ�w—}‘}Ö%ˆAä,¨W©ZÓ8ˆCØ×!Ñ!Ô%G×%MÑ%MÓMà$(�Ô!Ø�L‰L˜Öñ &ð ˆô ˜‹nÐr  c                 ó   • [        U 5      $ r,  )rl  rI  s    r  Ú$nvmlDeviceGetComputeRunningProcessesrp  Ø  s   € ä2°6Ó:Ð:r  c                 óú  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  a²  UR
                  S-  S-   Ul        [        UR
                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR
                  5       HF  n[        XW   5      nUR                  [        R
                  :X  a  S Ul
        UR                  U5        MH     U$ [        U5      e)Nr   Ú(nvmlDeviceGetGraphicsRunningProcesses_v2r   r   rf  rh  s	            r  rr  rr  Ü  sä   € ä�Q‹i€GÜ	 Ð!KÓ	L€BÙ
ˆV”U˜7“^ TÓ
*€CØŒ|Óàˆ	Ø
Ô-Ó
-ð  Ÿ™¨Ñ)¨AÑ-ˆŒÜ+¨g¯m©mÑ;ˆ
Ù“,ˆá�œ˜w›¨Ó1ˆÜ˜ÔØˆÜ�w—}‘}Ö%ˆAä,¨W©ZÓ8ˆCØ×!Ñ!Ô%G×%MÑ%MÓMà$(�Ô!Ø�L‰L˜Öñ &ð ˆô ˜‹nÐr  c                 óú  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  a²  UR
                  S-  S-   Ul        [        UR
                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR
                  5       HF  n[        XW   5      nUR                  [        R
                  :X  a  S Ul
        UR                  U5        MH     U$ [        U5      e)Nr   Ú(nvmlDeviceGetGraphicsRunningProcesses_v3r   r   rm  rh  s	            r  rt  rt  ú  sæ   € ä�Q‹i€GÜ	 Ð!KÓ	L€BÙ
ˆV”U˜7“^ TÓ
*€CàŒ|Óàˆ	Ø
Ô-Ó
-ð  Ÿ™¨Ñ)¨AÑ-ˆŒÜ+¨g¯m©mÑ;ˆ
Ù“,ˆñ �œ˜w›¨Ó1ˆÜ˜ÔàˆÜ�w—}‘}Ö%ˆAä,¨W©ZÓ8ˆCØ×!Ñ!Ô%G×%MÑ%MÓMà$(�Ô!Ø�L‰L˜Öñ &ð ˆô ˜‹nÐr  c                 ó   • [        U 5      $ r,  )rt  rI  s    r  Ú%nvmlDeviceGetGraphicsRunningProcessesrv    s   € ä3°FÓ;Ð;r  c                 ó   • [        U 5      $ r,  )Ú*nvmlDeviceGetMPSComputeRunningProcesses_v3rI  s    r  Ú'nvmlDeviceGetMPSComputeRunningProcessesry     s   € ä5°fÓ=Ð=r  c                 óú  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  a²  UR
                  S-  S-   Ul        [        UR
                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR
                  5       HF  n[        XW   5      nUR                  [        R
                  :X  a  S Ul
        UR                  U5        MH     U$ [        U5      e)Nr   Ú*nvmlDeviceGetMPSComputeRunningProcesses_v2r   r   rf  rh  s	            r  r{  r{  $  óæ   € ä�Q‹i€GÜ	 Ð!MÓ	N€BÙ
ˆV”U˜7“^ TÓ
*€CàŒ|Óàˆ	Ø
Ô-Ó
-ð  Ÿ™¨Ñ)¨AÑ-ˆŒÜ+¨g¯m©mÑ;ˆ
Ù“,ˆñ �œ˜w›¨Ó1ˆÜ˜ÔàˆÜ�w—}‘}Ö%ˆAä,¨W©ZÓ8ˆCØ×!Ñ!Ô%G×%MÑ%MÓMà$(�Ô!Ø�L‰L˜Öñ &ð ˆô ˜‹nÐr  c                 óú  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  a²  UR
                  S-  S-   Ul        [        UR
                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR
                  5       HF  n[        XW   5      nUR                  [        R
                  :X  a  S Ul
        UR                  U5        MH     U$ [        U5      e)Nr   rx  r   r   rm  rh  s	            r  rx  rx  F  r|  r  c                 ód  • [        5       nXl        X#l        [        S5      nU" U [	        U5      5      nU[
        :X  a  / $ U[        :X  aÝ  [        UR                  -  n[        U" 5       [        [        5      5      Ul        U" U [	        U5      5      n[        U5        / n[        UR                  5       Hm  nUR                  U   n	U	R                  [        R                   :X  a  S U	l        U	R"                  [        R                   :X  a  S U	l        UR%                  U	5        Mo     U$ ['        U5      e)NÚ%nvmlDeviceGetRunningProcessDetailList)Úc_nvmlProcessDetailList_trË  r$  rt  r(  ri  r7  r  r%  Úcaströ  r&  rk  r�  r  rg  r  r   r–  r  )
rï  rË  r$  Úc_processDetailListr+  rj  rj  r®  r¡  r!  s
             r  r  r  h  s  € Ü3Ó5ÐØ")ÔØ#Ôä	 Ð!HÓ	I€Bñ ˆV”UÐ.Ó/Ó
0€CØŒ|Óàˆ	Ø
Ô-Ó
-Ü*Ð-@×-TÑ-TÑTˆÜ(,©g«[¼'ÔBZÓ:[Ó(\ÐÔ%ñ �œÐ2Ó3Ó4ˆÜ˜ÔàˆÜÐ*×>Ñ>Ö?ˆAà%×/Ñ/°Ñ2ˆCØ×!Ñ!Ô%G×%MÑ%MÓMØ$(�Ô!Ø×,Ñ,Ô0R×0XÑ0XÓXØ/3�Ô,Ø�L‰L˜Öñ @ð ˆô ˜‹nÐr  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚ%nvmlDeviceGetAutoBoostedClocksEnabledr‰  )rï  Úc_isEnabledÚc_defaultIsEnabledr+  rj  s        r  r„  r„  ‹  sW   € Ü$Ó&€KÜ+Ó-ÐÜ	 Ð!HÓ	I€BÙ
ˆV”U˜;Ó'¬Ð/AÓ)BÓ
C€CÜ�SÔØ×ÑÐ1×7Ñ7Ð8Ð8r  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlUnitSetLedState)rt  r¸  rk  )rü  r·  r+  rj  s       r  rˆ  rˆ  •  s)   € Ü	 Ð!6Ó	7€BÙ
ˆT”? 5Ó)Ó
*€CÜ�SÔØr  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceSetPersistenceMode©rt  rŠ  rk  ©rï  r$  r+  rj  s       r  rŠ  rŠ  ›  s*   € Ü	 Ð!?Ó	@€BÙ
ˆVÔ'¨Ó-Ó
.€CÜ�SÔØr  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceSetComputeMode)rt  r!  rk  rŒ  s       r  rŽ  rŽ  ¡  s*   € Ü	 Ð!;Ó	<€BÙ
ˆVÔ'¨Ó-Ó
.€CÜ�SÔØr  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceSetEccModer‹  rŒ  s       r  r�  r�  §  s*   € Ü	 Ð!7Ó	8€BÙ
ˆVÔ'¨Ó-Ó
.€CÜ�SÔØr  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceClearEccErrorCounts)rt  r4  rk  )rï  r6  r+  rj  s       r  r’  r’  ­  s*   € Ü	 Ð!@Ó	A€BÙ
ˆVÔ*¨;Ó7Ó
8€CÜ�SÔØr  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceSetDriverModel)rt  rS  rk  )rï  r‹  r+  rj  s       r  r”  r”  ³  s*   € Ü	 Ð!;Ó	<€BÙ
ˆVÔ'¨Ó.Ó
/€CÜ�SÔØr  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚ%nvmlDeviceSetAutoBoostedClocksEnabledr‹  )rï  Úenabledr+  rj  s       r  r–  r–  ¹  s*   € Ü	 Ð!HÓ	I€BÙ
ˆVÔ'¨Ó0Ó
1€CÜ�SÔØr  c                 óh   • [        S5      nU" U [        U5      [        U5      5      n[        U5        g )NÚ,nvmlDeviceSetDefaultAutoBoostedClocksEnabled)rt  rŠ  r³  rk  )rï  r—  r^  r+  rj  s        r  r™  r™  À  s0   € Ü	 Ð!OÓ	P€BÙ
ˆVÔ'¨Ó0´&¸³-Ó
@€CÜ�SÔØr  c                 óh   • [        S5      nU" U [        U5      [        U5      5      n[        U5        g )NÚnvmlDeviceSetGpuLockedClocks©rt  r³  rk  )rï  ÚminGpuClockMHzÚmaxGpuClockMHzr+  rj  s        r  r›  r›  Ç  s0   € Ü	 Ð!?Ó	@€BÙ
ˆV”V˜NÓ+¬V°NÓ-CÓ
D€CÜ�SÔØr  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚnvmlDeviceResetGpuLockedClocksr‰  rf  s      r  r   r   Í  s!   € Ü	 Ð!AÓ	B€BÙ
ˆV‹*€CÜ�SÔØr  c                 óh   • [        S5      nU" U [        U5      [        U5      5      n[        U5        g )NÚnvmlDeviceSetMemoryLockedClocksrœ  )rï  ÚminMemClockMHzÚmaxMemClockMHzr+  rj  s        r  r¢  r¢  Ó  s0   € Ü	 Ð!BÓ	C€BÙ
ˆV”V˜NÓ+¬V°NÓ-CÓ
D€CÜ�SÔØr  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚ!nvmlDeviceResetMemoryLockedClocksr‰  rf  s      r  r¦  r¦  Ù  ó!   € Ü	 Ð!DÓ	E€BÙ
ˆV‹*€CÜ�SÔØr  c                 ó¦   • [        U5      [        LnU(       a  UO
[        U5      n[        S5      nU" X5      n[	        U5        U(       a  [
        $ U$ )NÚnvmlDeviceGetClkMonStatus)r^  r  r(  rt  rk  ri  )rï  Úc_clkMonInforU  Úc_clkMonInfoRefr+  rj  s         r  r©  r©  ß  sJ   € Ü�|Ó$Ô,>Ð>€KÞ&1‘l´u¸\Ó7J€OÜ	 Ð!<Ó	=€BÙ
ˆVÓ
%€CÜ�SÔÞ&Œ<Ð8¨LÐ8r  c                 óh   • [        S5      nU" U [        U5      [        U5      5      n[        U5        g )NÚnvmlDeviceSetApplicationsClocksrœ  )rï  r¤  ÚmaxGraphicsClockMHzr+  rj  s        r  r­  r­  é  s1   € Ü	 Ð!BÓ	C€BÙ
ˆV”V˜NÓ+¬VÐ4GÓ-HÓ
I€CÜ�SÔØr  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚ!nvmlDeviceResetApplicationsClocksr‰  rf  s      r  r°  r°  ñ  r§  r  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚ!nvmlDeviceSetPowerManagementLimitrœ  )rï  Úlimitr+  rj  s       r  r²  r²  ø  s(   € Ü	 Ð!DÓ	E€BÙ
ˆV”V˜E“]Ó
#€CÜ�SÔØr  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceSetGpuOperationMode)rt  r  rk  rŒ  s       r  rµ  rµ  ÿ  s*   € Ü	 Ð!@Ó	A€BÙ
ˆVÔ,¨TÓ2Ó
3€CÜ�SÔØr  c                  óh   • [        S5      n [        5       nU " [        U5      5      n[        U5        U$ )NÚnvmlEventSetCreate)rt  Úc_nvmlEventSet_tr(  rk  )r+  ÚeventSetrj  s      r  r·  r·    s0   € Ü	 Ð!5Ó	6€BÜÓ!€HÙ
ŒU�8‹_Ó
€CÜ�SÔØ€Or  c                 óV   • [        S5      nU" U [        U5      U5      n[        U5        g )NÚnvmlDeviceRegisterEvents)rt  rð  rk  )rï  rx  r¹  r+  rj  s        r  r»  r»    s+   € Ü	 Ð!;Ó	<€BÙ
ˆV”[ Ó,¨hÓ
7€CÜ�SÔØr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ nvmlDeviceGetSupportedEventTypes©rð  rt  r(  rk  r  )rï  Úc_eventTypesr+  rj  s       r  r½  r½    s9   € Ü“=€LÜ	 Ð!CÓ	D€BÙ
ˆV”U˜<Ó(Ó
)€CÜ�SÔØ×ÑÐr  c                 ó~   • [        S5      n[        5       nU" U [        U5      [        U5      5      n[	        U5        U$ )NÚnvmlEventSetWait_v2)rt  rb  r(  r³  rk  )r¹  r‚  r+  r!  rj  s        r  rÁ  rÁ    s9   € Ü	 Ð!6Ó	7€BÜÓ€DÙ
ˆX”u˜T“{¤F¨9Ó$5Ó
6€CÜ�SÔØ€Kr  c                 ó   • [        X5      $ r,  )rÁ  )r¹  r‚  s     r  ÚnvmlEventSetWaitrÃ  $  s   € Ü˜xÓ3Ð3r  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚnvmlEventSetFreer‰  )r¹  r+  rj  s      r  rÅ  rÅ  (  s!   € Ü	 Ð!3Ó	4€BÙ
ˆX‹,€CÜ�SÔØr  c                 ó„   • [        S5      n[        5       nU" X[        U5      5      n[        U5        UR                  S:g  $ )NÚnvmlDeviceOnSameBoardr   rk  )Úhandle1Úhandle2r+  ÚonSameBoardrj  s        r  rÇ  rÇ  /  s>   € Ü	 Ð!8Ó	9€BÜ“'€KÙ
ˆWœu [Ó1Ó
2€CÜ�SÔØ×Ñ Ñ"Ð#r  c                 ó~   • [        S5      n[        5       nU" U [        U5      5      n[        U5        UR                  $ )NÚ#nvmlDeviceGetCurrPcieLinkGeneration©rt  r³  r(  rk  r  ©rï  r+  Úgenrj  s       r  rÌ  rÌ  7  s6   € Ü	 Ð!FÓ	G€BÜ
‹(€CÙ
ˆV”U˜3“ZÓ
 €CÜ�SÔØ�9‰9Ðr  c                 ó~   • [        S5      n[        5       nU" U [        U5      5      n[        U5        UR                  $ )NÚ"nvmlDeviceGetMaxPcieLinkGenerationrÍ  rÎ  s       r  rÑ  rÑ  ?  s6   € Ü	 Ð!EÓ	F€BÜ
‹(€CÙ
ˆV”U˜3“ZÓ
 €CÜ�SÔØ�9‰9Ðr  c                 ó~   • [        S5      n[        5       nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetCurrPcieLinkWidthrÍ  ©rï  r+  Úwidthrj  s       r  rÓ  rÓ  G  s6   € Ü	 Ð!AÓ	B€BÜ‹H€EÙ
ˆV”U˜5“\Ó
"€CÜ�SÔØ�;‰;Ðr  c                 ó~   • [        S5      n[        5       nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetMaxPcieLinkWidthrÍ  rÔ  s       r  r×  r×  O  s6   € Ü	 Ð!@Ó	A€BÜ‹H€EÙ
ˆV”U˜5“\Ó
"€CÜ�SÔØ�;‰;Ðr  c                 ó~   • [        S5      n[        5       nU" U [        U5      5      n[        U5        UR                  $ )NÚ%nvmlDeviceGetGpuMaxPcieLinkGenerationrÍ  rÎ  s       r  rÙ  rÙ  V  s6   € Ü	 Ð!HÓ	I€BÜ
‹(€CÙ
ˆV”U˜3“ZÓ
 €CÜ�SÔØ�9‰9Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ+nvmlDeviceGetSupportedClocksThrottleReasonsr¾  ©rï  Ú	c_reasonsr+  rj  s       r  rÛ  rÛ  _  s7   € Ü‹}€IÜ	 Ð!NÓ	O€BÙ
ˆV”U˜9Ó%Ó
&€CÜ�SÔØ�?‰?Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ(nvmlDeviceGetSupportedClocksEventReasonsr¾  rÜ  s       r  rß  rß  f  s7   € Ü‹}€IÜ	 Ð!KÓ	L€BÙ
ˆV”U˜9Ó%Ó
&€CÜ�SÔØ�?‰?Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ)nvmlDeviceGetCurrentClocksThrottleReasonsr¾  rÜ  s       r  rá  rá  o  s7   € Ü‹}€IÜ	 Ð!LÓ	M€BÙ
ˆV”U˜9Ó%Ó
&€CÜ�SÔØ�?‰?Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ&nvmlDeviceGetCurrentClocksEventReasonsr¾  rÜ  s       r  rã  rã  v  s7   € Ü‹}€IÜ	 Ð!IÓ	J€BÙ
ˆV”U˜9Ó%Ó
&€CÜ�SÔØ�?‰?Ðr  c                 ó~   • [        S5      n[        5       nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetIndexrÍ  )rï  r+  rû  rj  s       r  rå  rå  ~  s6   € Ü	 Ð!5Ó	6€BÜ‹h€GÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetAccountingModer‰  r‹  s       r  rç  rç  †  s7   € ÜÓ!€FÜ	 Ð!>Ó	?€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ�<‰<Ðr  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceSetAccountingModer‹  rŒ  s       r  ré  ré  �  s*   € Ü	 Ð!>Ó	?€BÙ
ˆVÔ'¨Ó-Ó
.€CÜ�SÔØr  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚnvmlDeviceClearAccountingPidsr‰  rf  s      r  rë  rë  “  s!   € Ü	 Ð!@Ó	A€BÙ
ˆV‹*€CÜ�SÔØr  c                 óÈ   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  [        R                  :X  a  S Ul        U$ )NÚnvmlDeviceGetAccountingStats)r£  rt  r³  r(  rk  r¦  rg  r  ©rï  r  Ústatsr+  rj  s        r  rí  rí  ™  sU   € Ü#Ó%€EÜ	 Ð!?Ó	@€BÙ
ˆV”V˜C“[¤%¨£,Ó
/€CÜ�SÔØ×ÑÔ B× HÑ HÓHà#ˆÔØ€Lr  c                 óŠ   • [        5       n[        U5      Ul        [        S5      nU" U [	        U5      5      n[        U5        U$ )NÚnvmlDeviceGetAccountingStats_v2)r«  r³  r  rt  r(  rk  rî  s        r  rñ  rñ  £  s=   € Ü&Ó(€EÜ�s“€E„IÜ	 Ð!BÓ	C€BÙ
ˆV”U˜5“\Ó
"€CÜ�SÔØ€Lr  c                 óø   • [        [        U 5      5      n[         UR                  -  " 5       n[        S5      nU" U [	        U5      U5      n[        U5        [        [        [        USUR                   5      5      $ )NÚnvmlDeviceGetAccountingPidsr   )	r³  Ú!nvmlDeviceGetAccountingBufferSizer  rt  r(  rk  ÚlistÚmapÚint)rï  rÆ  Úpidsr+  rj  s        r  ró  ró  «  se   € ÜÔ4°VÓ<Ó=€EÜ�U—[‘[Ò Ó#€DÜ	 Ð!>Ó	?€BÙ
ˆV”U˜5“\ 4Ó
(€CÜ�SÔÜ””C˜˜a §¡Ð,Ó-Ó.Ð.r  c                 ó�   • [        5       n[        S5      nU" U [        U5      5      n[        U5        [	        UR
                  5      $ )Nrô  )r³  rt  r(  rk  r÷  r  )rï  rõ  r+  rj  s       r  rô  rô  ³  s>   € Ü“€JÜ	 Ð!DÓ	E€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔÜˆz×ÑÓ Ð r  c                 ó’  • [        U5      n[        S5      n[        S5      nU" X[        U5      S 5      nU[        :w  a  U[
        :w  a  [        U5      eUR                  S-  S-   Ul        [        UR                  -  nU" 5       nU" X[        U5      U5      n[        U5        [        [        [        USUR                   5      5      $ )Nr   ÚnvmlDeviceGetRetiredPagesr   r   )Ú_nvmlPageRetirementCause_tr³  rt  r(  ri  r7  r  r  rð  rk  rõ  rö  r÷  )rÎ  ÚsourceFilterÚc_sourcerê  r+  rj  Ú
page_arrayÚc_pagess           r  rû  rû  º  s´   € Ü)¨,Ó7€HÜ�Q‹i€GÜ	 Ð!<Ó	=€Bñ ˆVœu W›~¨tÓ
4€Cð 
”Ó	Ø	Ô,Ó	,Ü˜‹nÐð
 —M‘M AÑ%¨Ñ)€G„MÜ˜wŸ}™}Ñ,€JÙ‹l€GÙ
ˆVœu W›~¨wÓ
7€CÜ�SÔÜ””C˜  7§=¡=Ð1Ó2Ó3Ð3r  c                 ó  • [        U5      n[        S5      n[        S5      nU" X[        U5      S 5      nU[        :w  a  U[
        :w  a  [        U5      eUR                  S-  S-   Ul        [        UR                  -  nU" 5       n[        UR                  -  nU" 5       n	U" X[        U5      Xy5      n[        U5        [        UR                  5       V
s/ s H  n
[        Xz   5      [        Xš   5      S.PM      sn
$ s  sn
f )Nr   ÚnvmlDeviceGetRetiredPages_v2r   r   )ÚaddressrY  )rü  r³  rt  r(  ri  r7  r  r  rð  rk  r�  r÷  )rÎ  rý  rþ  rê  r+  rj  rÿ  r   Útimes_arrayÚc_timesr¡  s              r  r  r  Ñ  sã   € Ü)¨,Ó7€HÜ�Q‹i€GÜ	 Ð!?Ó	@€Bñ ˆVœu W›~¨tÓ
4€Cð 
”Ó	Ø	Ô,Ó	,Ü˜‹nÐð
 —M‘M AÑ%¨Ñ)€G„MÜ˜wŸ}™}Ñ,€JÙ‹l€GÜ §¡Ñ-€KÙ‹m€GÙ
ˆVœu W›~¨wÓ
@€CÜ�SÔÜSXÐY`×YfÑYfÔSgÓiÒSgÈaœ#˜g™j›/¼¸G¹J»ÔIÑSgÑiÐiùÒis   Ã%C<c                 ó�   • [        5       n[        S5      nU" U [        U5      5      n[        U5        [	        UR
                  5      $ )NÚ&nvmlDeviceGetRetiredPagesPendingStatus)rŠ  rt  r(  rk  r÷  r  )rÎ  Ú	c_pendingr+  rj  s       r  r  r  ê  s=   € Ü"Ó$€IÜ	 Ð!IÓ	J€BÙ
ˆV”U˜9Ó%Ó
&€CÜ�SÔÜˆy�‰ÓÐr  c                 ó¤   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        [        UR                  5      $ )NÚnvmlDeviceGetAPIRestriction)rŠ  rt  Ú_nvmlRestrictedAPI_tr(  rk  r÷  r  )rÎ  ÚapiTypeÚc_permissionr+  rj  s        r  r
  r
  ñ  sG   € Ü%Ó'€LÜ	 Ð!>Ó	?€BÙ
ˆVÔ)¨'Ó2´E¸,Ó4GÓ
H€CÜ�SÔÜˆ|×!Ñ!Ó"Ð"r  c                 óh   • [        S5      nU" U [        U5      [        U5      5      n[        U5        g )NÚnvmlDeviceSetAPIRestriction)rt  r  rŠ  rk  )rï  r  ÚisRestrictedr+  rj  s        r  r  r  ø  s2   € Ü	 Ð!>Ó	?€BÙ
ˆVÔ)¨'Ó2Ô4FÀ|Ó4TÓ
U€CÜ�SÔØr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetBridgeChipInfo)r-  rt  r(  rk  )rï  ÚbridgeHierarchyr+  rj  s       r  r  r  þ  s4   € Ü1Ó3€OÜ	 Ð!>Ó	?€BÙ
ˆV”U˜?Ó+Ó
,€CÜ�SÔØÐr  c           	      ó�  • [        U5      n[        U5      n[        S5      n[        5       n[	        S5      nU" XU[        U5      [        U5      S 5      nU[        :w  a  [        U5      eUR                  [        -  n	U	" 5       n
U" XU[        U5      [        U5      U
5      n[        U5        UR                  U
SUR                   4$ )Nr   ÚnvmlDeviceGetSamples)Ú_nvmlSamplingType_trð  r³  r_  rt  r(  ri  r  r  rN  rk  )rÎ  Úsampling_typerO  Úc_sampling_typeÚc_time_stampÚc_sample_countÚc_sample_value_typer+  rj  ÚsampleArrayÚ	c_sampless              r  r  r    sÆ   € Ü)¨-Ó8€OÜ˜yÓ)€LÜ˜A“Y€NÜ*Ó,ÐÜ	 Ð!7Ó	8€Bñ ˆV l´EÐ:MÓ4NÔPUÐVdÓPeÐgkÓ
l€Cð 	Œ|ÓÜ˜‹nÐà ×&Ñ&¬Ñ7€KÙ“€IÙ
ˆV l´UÐ;NÓ5OÔQVÐWeÓQfÐhqÓ
r€CÜ�SÔØ×%Ñ% y°°>×3GÑ3GÐ'HÐIÐIr  c                 ó€   • [        U5      n[        5       n[        S5      nU" X[        U5      5      n[	        U5        U$ )NÚnvmlDeviceGetViolationStatus)Ú_nvmlPerfPolicyType_trR  rt  r(  rk  )rÎ  ÚperfPolicyTypeÚc_perfPolicy_typeÚ
c_violTimer+  rj  s         r  r  r    sA   € Ü-¨nÓ=ÐÜ&Ó(€JÜ	 Ð!?Ó	@€Bñ ˆV¬¨jÓ(9Ó
:€CÜ�SÔØÐr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetPcieThroughput)r³  rt  Ú_nvmlPcieUtilCounter_tr(  rk  r  )rÎ  Úcounterr@  r+  rj  s        r  r%  r%  $  s>   € Ü‹X€FÜ	 Ð!>Ó	?€BÙ
ˆVÔ+¨GÓ4´e¸F³mÓ
D€CÜ�SÔØ�<‰<Ðr  c                 ó  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :w  a  [	        U5      e[
        UR                  -  nU" 5       nU" U [        U5      U5      n[        U5        [        USUR                   5      $ )Nr   ÚnvmlSystemGetTopologyGpuSet©	r³  rt  r(  ri  r  re  r  rk  rõ  )Ú	cpuNumberrê  r+  rj  r  r  s         r  r)  r)  +  s�   € Ü�Q‹i€GÜ	 Ð!>Ó	?€Bñ ˆYœ˜g›¨Ó
-€Cà
ŒlÓÜ˜‹nÐä! G§M¡MÑ1€LÙ“€IÙ
ˆYœ˜g›¨	Ó
2€CÜ�SÔÜ�	˜!˜GŸM™MÐ*Ó+Ð+r  c                 ó  • [        S5      n[        S5      nU" X[        U5      S 5      nU[        :w  a  [	        U5      e[
        UR                  -  nU" 5       nU" X[        U5      U5      n[        U5        [        USUR                   5      $ )Nr   Ú nvmlDeviceGetTopologyNearestGpusr*  )rÎ  Úlevelrê  r+  rj  r  r  s          r  r-  r-  ;  sƒ   € Ü�Q‹i€GÜ	 Ð!CÓ	D€Bñ ˆVœE '›N¨DÓ
1€Cà
ŒlÓÜ˜‹nÐô " G§M¡MÑ1€LÙ“€IÙ
ˆVœE '›N¨IÓ
6€CÜ�SÔÜ�	˜!˜GŸM™MÐ*Ó+Ð+r  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚ#nvmlDeviceGetTopologyCommonAncestor)Ú_nvmlGpuTopologyLevel_trt  r(  rk  r  )Údevice1Údevice2Úc_levelr+  rj  s        r  r0  r0  L  s7   € Ü%Ó'€GÜ	 Ð!FÓ	G€BÙ
ˆWœu W›~Ó
.€CÜ�SÔØ�=‰=Ðr  c           	      óÀ   • [        5       n[        5       n[        S5      nU" XU[        U5      [        U5      5      n[        U5        UR                  UR                  4$ )NÚ%nvmlDeviceGetNvLinkUtilizationCounterr¾  )rÎ  Úlinkr'  Úc_rxcounterÚc_txcounterr+  rj  s          r  r6  r6  T  sT   € Ü“-€KÜ“-€KÜ	 Ð!HÓ	I€BÙ
ˆV˜7¤E¨+Ó$6¼¸kÓ8JÓ
K€CÜ�SÔØ×Ñ˜{×0Ñ0Ð1Ð1r  c                 óB   • [        S5      nU" XX#5      n[        U5        g )NÚ(nvmlDeviceFreezeNvLinkUtilizationCounterr‰  )rÎ  r7  r'  Úfreezer+  rj  s         r  r;  r;  ]  s$   € Ü	 Ð!KÓ	L€BÙ
ˆV˜7Ó
+€CÜ�SÔØr  c                 óB   • [        S5      nU" XU5      n[        U5        g )NÚ'nvmlDeviceResetNvLinkUtilizationCounterr‰  )rÎ  r7  r'  r+  rj  s        r  r>  r>  d  s$   € Ü	 Ð!JÓ	K€BÙ
ˆV˜7Ó
#€CÜ�SÔØr  c                 óX   • [        S5      nU" XU[        U5      U5      n[        U5        g )NÚ%nvmlDeviceSetNvLinkUtilizationControlr'  )rÎ  r7  r'  ÚcontrolÚresetr+  rj  s          r  r@  r@  k  s,   € Ü	 Ð!HÓ	I€BÙ
ˆV˜7¤E¨'£N°EÓ
:€CÜ�SÔØr  c                 ól   • [        5       n[        S5      nU" XU[        U5      5      n[        U5        U$ )NÚ%nvmlDeviceGetNvLinkUtilizationControl)rù  rt  r(  rk  )rÎ  r7  r'  Ú	c_controlr+  rj  s         r  rD  rD  r  s6   € Ü.Ó0€IÜ	 Ð!HÓ	I€BÙ
ˆV˜7¤E¨)Ó$4Ó
5€CÜ�SÔØÐr  c                 ó€   • [        5       n[        S5      nU" XU[        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetNvLinkCapabilityrö  )rÎ  r7  Ú
capabilityÚc_capResultr+  rj  s         r  rG  rG  y  s;   € Ü“(€KÜ	 Ð!@Ó	A€BÙ
ˆV˜:¤u¨[Ó'9Ó
:€CÜ�SÔØ×ÑÐr  c                 ó€   • [        5       n[        S5      nU" XU[        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetNvLinkErrorCounterr¾  )rÎ  r7  r'  Úc_resultr+  rj  s         r  rK  rK  €  s8   € Ü‹}€HÜ	 Ð!BÓ	C€BÙ
ˆV˜7¤E¨(£OÓ
4€CÜ�SÔØ�>‰>Ðr  c                 ó@   • [        S5      nU" X5      n[        U5        g )NÚ"nvmlDeviceResetNvLinkErrorCountersr‰  )rÎ  r7  r+  rj  s       r  rN  rN  ‡  s"   € Ü	 Ð!EÓ	F€BÙ
ˆVÓ
€CÜ�SÔØr  c                 ój   • [        5       n[        S5      nU" X[        U5      5      n[        U5        U$ )NÚ#nvmlDeviceGetNvLinkRemotePciInfo_v2r•  )rÎ  r7  Úc_pcir+  rj  s        r  Ú nvmlDeviceGetNvLinkRemotePciInforR  �  s1   € Ü‹O€EÜ	 Ð!FÓ	G€BÙ
ˆVœ5 ›<Ó
(€CÜ�SÔØ€Lr  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚ#nvmlDeviceGetNvLinkRemoteDeviceType)Ú_nvmlNvLinkDeviceType_trt  r(  rk  r  )rï  r7  rD  r+  rj  s        r  rT  rT  ”  s7   € Ü$Ó&€FÜ	 Ð!FÓ	G€BÙ
ˆVœ5 ›=Ó
)€CÜ�SÔØ�<‰<Ðr  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetNvLinkStaterö  )rÎ  r7  Ú
c_isActiver+  rj  s        r  rW  rW  ›  s9   € Ü“€JÜ	 Ð!;Ó	<€BÙ
ˆVœ5 Ó,Ó
-€CÜ�SÔØ×ÑÐr  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetNvLinkVersionrö  )rÎ  r7  rÛ  r+  rj  s        r  rZ  rZ  ¢  s7   € Ü“€IÜ	 Ð!=Ó	>€BÙ
ˆVœ5 Ó+Ó
,€CÜ�SÔØ�?‰?Ðr  c                 óT   • [        S5      nU" [        U 5      U5      n[        U5        g )NÚnvmlDeviceModifyDrainState©rt  Úpointerrk  )ÚpciInfoÚnewStater+  rj  s       r  r\  r\  ©  s)   € Ü	 Ð!=Ó	>€BÙ
ŒW�WÓ˜xÓ
(€CÜ�SÔØr  c                 ó�   • [        5       n[        S5      nU" [        U 5      [        U5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceQueryDrainState)r³  rt  r^  r(  rk  r  )r_  Ú
c_newStater+  rj  s       r  rb  rb  ¯  s>   € Ü“€JÜ	 Ð!<Ó	=€BÙ
ŒW�WÓœu ZÓ0Ó
1€CÜ�SÔØ×ÑÐr  c                 óR   • [        S5      nU" [        U 5      5      n[        U5        g )NÚnvmlDeviceRemoveGpur]  ©r_  r+  rj  s      r  re  re  ¶  s'   € Ü	 Ð!6Ó	7€BÙ
ŒW�WÓÓ
€CÜ�SÔØr  c                 óR   • [        S5      nU" [        U 5      5      n[        U5        g )NÚnvmlDeviceDiscoverGpusr]  rf  s      r  rh  rh  ¼  s'   € Ü	 Ð!9Ó	:€BÙ
ŒW�WÓÓ
€CÜ�SÔØr  c                 ó2  • [         [        U5      -  nU" 5       n[        S5      n[        U5       H  u  pV Uu  X5   l        X5   l        M     U" U [        [        U5      5      [        U5      5      n[        U5        U$ ! [         a    XcU   l         Me  f = f)NÚnvmlDeviceGetFieldValues©
rV  Úlenrt  Ú	enumeraterW  rX  Ú	TypeErrorÚc_int32r(  rk  ©rï  ÚfieldIdsÚ
values_arrÚvaluesr+  r¡  rW  rj  s           r  rj  rj  Â  s‘   € Ü#¤c¨(£mÑ3€JÙ‹\€FÜ	 Ð!;Ó	<€Bä Ö)‰
ˆð	(Ø5<Ñ2ˆV‰YÔ ¡	Ö 1ñ *ñ ˆV”WœS ›]Ó+¬U°6«]Ó
;€CÜ�SÔØ€Møô ó 	(Ø '�1‰I×ð	(úó   ¶A?Á?BÂBc                 ó2  • [         [        U5      -  nU" 5       n[        S5      n[        U5       H  u  pV Uu  X5   l        X5   l        M     U" U [        [        U5      5      [        U5      5      n[        U5        U$ ! [         a    XcU   l         Me  f = f)NÚnvmlDeviceClearFieldValuesrk  rp  s           r  rv  rv  Ñ  s‘   € Ü#¤c¨(£mÑ3€JÙ‹\€FÜ	 Ð!=Ó	>€Bä Ö)‰
ˆð	(Ø5<Ñ2ˆV‰YÔ ¡	Ö 1ñ *ñ ˆV”WœS ›]Ó+¬U°6«]Ó
;€CÜ�SÔØ€Møô ó 	(Ø '�1‰I×ð	(úrt  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetVirtualizationModer¾  )rï  Úc_virtualization_moder+  rj  s       r  rx  rx  à  s;   € Ü'›MÐÜ	 Ð!BÓ	C€BÙ
ˆV”UÐ0Ó1Ó
2€CÜ�SÔØ ×&Ñ&Ð&r  c                 ó(   • [        S5      nU" X5      $ )NÚnvmlDeviceSetVirtualizationMode©rt  )rï  Úvirtualization_moder+  s      r  r{  r{  ç  s   € Ü	 Ð!BÓ	C€BÙˆfÓ*Ð*r  c                 ó–   • [        S5      n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        UR                  $ )Nr   Ú"nvmlDeviceGetVgpuHeterogeneousMode©r~  ÚVgpuHeterogeneousMode_v1rË  rt  r(  rk  r$  )rï  Úc_vgpuHeterogeneousModer+  rj  s       r  r  r  ë  sG   € Ü>¸qÓAÐÜ&>ÐÔ#Ü	 Ð!EÓ	F€BÙ
ˆV”UÐ2Ó3Ó
4€CÜ�SÔØ"×'Ñ'Ð'r  c                 ó–   • [        S5      n[        Ul        Xl        [	        S5      nU" U [        U5      5      n[        U5        [        $ )Nr   Ú"nvmlDeviceSetVgpuHeterogeneousMode©r~  r�  rË  r$  rt  r(  rk  ri  )rï  Úheterogeneous_moder‚  r+  rj  s        r  r„  r„  ó  sG   € Ü>¸qÓAÐÜ&>ÐÔ#Ø#5Ô Ü	 Ð!EÓ	F€BÙ
ˆV”UÐ2Ó3Ó
4€CÜ�SÔÜÐr  c                 ó–   • [        S5      n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlVgpuInstanceGetPlacementId)r€  ÚVgpuPlacementId_v1rË  rt  r(  rk  r�  )rŽ  Úc_placementr+  rj  s       r  rˆ  rˆ  ü  sD   € Ü,¨QÓ/€KÜ,€KÔÜ	 Ð!AÓ	B€BÙ
ˆ\œ5 Ó-Ó
.€CÜ�SÔØ×"Ñ"Ð"r  c                 ó¶  • [        S5      n[        S5      nU" X[        U5      5      n[        U5        US:X  a-  [	        5       n[
        Ul        UR                  Ul        X'l	        O+US:X  a  [        5       n[        Ul        O[        [        5      e[         UR                  -  nU" 5       Ul        [        S5      nU" X[        U5      5      n[        U5        U$ )Nr   ÚnvmlVgpuTypeGetMaxInstancesr   r   Ú(nvmlDeviceGetVgpuTypeSupportedPlacements)r³  rt  r(  rk  rˆ  ÚVgpuPlacementList_v2rË  r  rÆ  r$  rƒ  ÚVgpuPlacementList_v1r  r˜  r…  )	rï  r  r$  rË  Úc_max_instancesr+  rj  Úc_vgpu_placementsÚc_placementss	            r  r�  r�    sÈ   € Ü˜Q“i€OÜ
!Ð"?Ó
@€BÙ
ˆV¤ Ó!7Ó
8€CÜ�SÔà�!ƒ|Ü8Ó:ÐÜ$8ÐÔ!Ø"1×"7Ñ"7ÐÔØ!%ÕØ	�A‹Ü8Ó:ÐÜ$8ÐÕ!äÔ<Ó=Ð=ä˜O×1Ñ1Ñ1€LÙ%1£^ÐÔ"Ü
!Ð"LÓ
M€BÙ
ˆV¤Ð'8Ó!9Ó
:€CÜ�SÔØÐr  c                 óŠ  • [        S5      n[        S5      nU" X[        U5      5      n[        U5        US:X  a'  [	        5       n[
        Ul        UR                  Ul        OUS:X  a  [        5       n[        Ul        [         UR                  -  nU" 5       Wl        [        S5      nU" X[        U5      5      n[        U5        U$ )Nr   rŒ  r   r   Ú(nvmlDeviceGetVgpuTypeCreatablePlacements)r³  rt  r(  rk  rˆ  rŽ  rË  r  rÆ  rƒ  r�  r…  )rï  r  rË  r�  r+  rj  r‘  r’  s           r  r”  r”    s¶   € Ü˜Q“i€OÜ
!Ð"?Ó
@€BÙ
ˆV¤ Ó!7Ó
8€CÜ�SÔà�!ƒ|Ü8Ó:ÐÜ$8ÐÔ!Ø"1×"7Ñ"7ÐÕØ	�A‹Ü8Ó:ÐÜ$8ÐÔ!ä˜O×1Ñ1Ñ1€LÙ%1£^ÐÔ"Ü
!Ð"LÓ
M€BÙ
ˆV¤Ð'8Ó!9Ó
:€CÜ�SÔØÐr  c                 ó�   • [        5       n[        S5      nU" [        U 5      [        U5      5      n[	        U5        UR
                  $ )NÚnvmlGetVgpuDriverCapabilities)r³  rt  Ú_nvmlVgpuDriverCapability_tr(  rk  r  )rH  rI  r+  rj  s       r  r–  r–  1  s?   € Ü“(€KÜ	 Ð!@Ó	A€BÙ
Ô(¨Ó4´e¸KÓ6HÓ
I€CÜ�SÔØ×ÑÐr  c                 ó’   • [        5       n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )NÚnvmlDeviceGetVgpuCapabilities)r³  rt  Ú_nvmlDeviceVgpuCapability_tr(  rk  r  )rï  rH  rI  r+  rj  s        r  r™  r™  8  sA   € Ü“(€KÜ	 Ð!@Ó	A€BÙ
ˆVÔ0°Ó<¼eÀKÓ>PÓ
Q€CÜ�SÔØ×ÑÐr  c                 ó`   • [        S5      nU" U [        U5      U5      n[        U5        [        $ )NÚnvmlDeviceSetVgpuCapabilities)rt  rš  rk  ri  )rï  rH  r»  r+  rj  s        r  rœ  rœ  ?  s/   € Ü	 Ð!@Ó	A€BÙ
ˆVÔ0°Ó<¸eÓ
D€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" U 5      n[        U5        [        $ )NÚnvmlDeviceVgpuForceGspUnloadrÆ  rf  s      r  rž  rž  E  s$   € Ü	 Ð!?Ó	@€BÙ
ˆV‹*€CÜ�SÔÜÐr  c                 ól  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  ak  [
        UR                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR                  5       H  nUR                  XW   5        M     U$ [        U5      e)Nr   ÚnvmlDeviceGetSupportedVgpus©r³  rt  r(  ri  r7  Ú_nvmlVgpuTypeId_tr  rk  r�  r–  r  ©rï  Úc_vgpu_countr+  rj  Úvgpu_type_ids_arrayÚc_vgpu_type_idsÚvgpusr¡  s           r  r   r   K  ó¯   € ä˜!“9€Lä
!Ð"?Ó
@€BÙ
ˆV”U˜<Ó(¨$Ó
/€CàŒ|Óàˆ	Ø
Ô-Ó
-ä/°,×2DÑ2DÑDÐÙ-Ó/ˆñ �œ˜|Ó,¨oÓ>ˆÜ˜ÔØˆÜ�|×)Ñ)Ö*ˆAØ�L‰L˜Ñ+Ö,ñ +àˆô ˜‹nÐr  c                 ól  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  ak  [
        UR                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR                  5       H  nUR                  XW   5        M     U$ [        U5      e)Nr   ÚnvmlDeviceGetCreatableVgpusr¡  r£  s           r  rª  rª  e  r¨  r  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   Ú#nvmlVgpuTypeGetGpuInstanceProfileIdrö  )r  Úc_profile_idr+  rj  s       r  r¬  r¬    s;   € Ü˜!“9€LÜ
!Ð"GÓ
H€BÙ
ˆZœ˜|Ó,Ó
-€CÜ�SÔØ×ÑÐr  c                 ó¦   • [        [        5      n[        [        5      n[        S5      nU" X[	        U5      5      n[        U5        UR                  $ )NÚnvmlVgpuTypeGetClass©rØ  ÚNVML_DEVICE_NAME_BUFFER_SIZEr³  rt  r(  rk  r  )r  Úc_classÚc_buffer_sizer+  rj  s        r  r¯  r¯  †  sF   € ä"Ô#?Ó@€GÜÔ7Ó8€MÜ
!Ð"8Ó
9€BÙ
ˆZ¤%¨Ó"6Ó
7€CÜ�SÔØ�=‰=Ðr  c                 ó¦   • [        [        5      n[        [        5      n[        S5      nU" X[	        U5      5      n[        U5        UR                  $ )NÚnvmlVgpuTypeGetNamer°  )r  rå  r³  r+  rj  s        r  rµ  rµ  �  sF   € ä!Ô">Ó?€FÜÔ7Ó8€MÜ
!Ð"7Ó
8€BÙ
ˆZ¤ }Ó!5Ó
6€CÜ�SÔØ�<‰<Ðr  c                 óÂ   • [        S5      n[        S5      n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  4$ )Nr   ÚnvmlVgpuTypeGetDeviceIDr¾  )r  Úc_device_idÚc_subsystem_idr+  rj  s        r  r·  r·  ˜  sV   € Ü  “^€KÜ  “^€NÜ
!Ð";Ó
<€BÙ
ˆZœ˜{Ó+¬U°>Ó-BÓ
C€CÜ�SÔØ×Ñ˜~×3Ñ3Ð4Ð4r  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlVgpuTypeGetFramebufferSizer¾  )r  Ú	c_fb_sizer+  rj  s       r  r»  r»     s9   € Ü˜A“€IÜ
!Ð"BÓ
C€BÙ
ˆZœ˜yÓ)Ó
*€CÜ�SÔØ�?‰?Ðr  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlVgpuTypeGetNumDisplayHeadsrö  )r  Úc_num_headsr+  rj  s       r  r¾  r¾  §  s;   € Ü˜“)€KÜ
!Ð"BÓ
C€BÙ
ˆZœ˜{Ó+Ó
,€CÜ�SÔØ×ÑÐr  c                 óÄ   • [        S5      n[        S5      n[        S5      nU" U S[        U5      [        U5      5      n[        U5        UR                  UR                  4$ )Nr   ÚnvmlVgpuTypeGetResolutionrö  )r  Úc_xdimÚc_ydimr+  rj  s        r  rÁ  rÁ  ®  sR   € Ü�A‹Y€FÜ�A‹Y€FÜ
!Ð"=Ó
>€BÙ
ˆZ˜œE &›M¬5°«=Ó
9€CÜ�SÔØ�L‰L˜&Ÿ,™,Ð'Ð'r  c                 ó”   • [        [        5      n[        [        5      n[        S5      nU" XU5      n[	        U5        UR
                  $ )NÚnvmlVgpuTypeGetLicense)rØ  rØ  r³  rt  rk  r  )r  Ú	c_licenser³  r+  rj  s        r  rÅ  rÅ  ¶  sA   € ä$Ô%BÓC€IÜÔ8Ó9€MÜ
!Ð":Ó
;€BÙ
ˆZ MÓ
2€CÜ�SÔØ�?‰?Ðr  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlVgpuTypeGetFrameRateLimitrö  )r  Úc_frl_configr+  rj  s       r  rÈ  rÈ  ¿  s;   € Ü˜!“9€LÜ
!Ð"AÓ
B€BÙ
ˆZœ˜|Ó,Ó
-€CÜ�SÔØ×ÑÐr  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlVgpuTypeGetGspHeapSizerö  )r  Ú
c_gsp_heapr+  rj  s       r  rË  rË  Æ  s;   € Ü˜“€JÜ
!Ð">Ó
?€BÙ
ˆZœ˜zÓ*Ó
+€CÜ�SÔØ×ÑÐr  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlVgpuTypeGetFbReservationrö  )r  Úc_fb_reservationr+  rj  s       r  rÎ  rÎ  Í  s=   € Ü˜a“yÐÜ
!Ð"@Ó
A€BÙ
ˆZœÐ/Ó0Ó
1€CÜ�SÔØ×!Ñ!Ð!r  c                 ó€   • [        5       n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        U$ )NÚ#nvmlVgpuInstanceGetRuntimeStateSize)r©  ÚVgpuRuntimeState_v1rË  rt  r(  rk  )rŽ  Úc_runtime_stater+  rj  s       r  rÑ  rÑ  Ô  s<   € Ü/Ó1€OÜ1€OÔÜ
!Ð"GÓ
H€BÙ
ˆ\œ5 Ó1Ó
2€CÜ�SÔØÐr  c                 ó€   • [        S5      n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )Nr   rŒ  rö  )rï  r  r�  r+  rj  s        r  rŒ  rŒ  Ü  s;   € Ü˜Q“i€OÜ
!Ð"?Ó
@€BÙ
ˆV¤ Ó!7Ó
8€CÜ�SÔØ× Ñ Ð r  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   Ú nvmlVgpuTypeGetMaxInstancesPerVmrö  )r  Úc_max_instances_per_vmr+  rj  s       r  rÖ  rÖ  ã  s=   € Ü# A›YÐÜ
!Ð"DÓ
E€BÙ
ˆZœÐ5Ó6Ó
7€CÜ�SÔØ!×'Ñ'Ð'r  c                 ó‚   • [        S5      n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        U$ )Nr   ÚnvmlVgpuTypeGetBAR1Info)rŠ  ÚVgpuTypeBar1Info_v1rË  rt  r(  rk  )r  Ú
c_bar1Infor+  rj  s       r  rÙ  rÙ  ê  s>   € Ü,¨QÓ/€JÜ,€JÔÜ
!Ð";Ó
<€BÙ
ˆZœ˜zÓ*Ó
+€CÜ�SÔØÐr  c                 ól  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a  / $ U[        :X  ak  [
        UR                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR                  5       H  nUR                  XW   5        M     U$ [        U5      e)Nr   ÚnvmlDeviceGetActiveVgpus)r³  rt  r(  ri  r7  r“  r  rk  r�  r–  r  )rï  r¤  r+  rj  Úvgpu_instance_arrayÚc_vgpu_instancesr§  r¡  s           r  rÝ  rÝ  ò  s²   € ä˜!“9€Lä
!Ð"<Ó
=€BÙ
ˆV”U˜<Ó(¨$Ó
/€CàŒ|Óàˆ	Ø
Ô-Ó
-ä1°L×4FÑ4FÑFÐÙ.Ó0Ðñ �œ˜|Ó,Ð.>Ó?ˆÜ˜ÔØˆÜ�|×)Ñ)Ö*ˆAØ�L‰LÐ)Ñ,Ö-ñ +àˆô ˜‹nÐr  c                 óê   • [        [        5      n[        [        5      n[        S5      n[	        S5      nU" U [        U5      U[        U5      5      n[        U5        UR                  UR                  4$ )Nr   ÚnvmlVgpuInstanceGetVmID)rØ  rë  r³  rØ  rt  r(  rk  r  )rŽ  Úc_vm_idr³  Úc_vm_id_typer+  rj  s         r  rá  rá    sb   € ä"Ô#?Ó@€GÜÔ8Ó9€MÜ˜1“I€LÜ
!Ð";Ó
<€BÙ
ˆ\œ5 ›>¨=¼%ÀÓ:MÓ
N€CÜ�SÔØ�M‰M˜<×-Ñ-Ð.Ð.r  c                 ó¨   • [        [        5      n[        [        5      n[        S5      nU" U [	        U5      U5      n[        U5        UR                  $ )NÚnvmlVgpuInstanceGetUUID©rØ  rë  r³  rt  r(  rk  r  ©rŽ  r  r³  r+  rj  s        r  rå  rå    sG   € ä!Ô">Ó?€FÜÔ7Ó8€MÜ
!Ð";Ó
<€BÙ
ˆ\œ5 ›=¨-Ó
8€CÜ�SÔØ�<‰<Ðr  c                 ó¨   • [        [        5      n[        [        5      n[        S5      nU" U [	        U5      U5      n[        U5        UR                  $ )NÚnvmlVgpuInstanceGetMdevUUIDræ  rç  s        r  ré  ré    sG   € ä!Ô">Ó?€FÜÔ7Ó8€MÜ
!Ð"?Ó
@€BÙ
ˆ\œ5 ›=¨-Ó
8€CÜ�SÔØ�<‰<Ðr  c                 ó¨   • [        [        5      n[        [        5      n[        S5      nU" U [	        U5      U5      n[        U5        UR                  $ )NÚ"nvmlVgpuInstanceGetVmDriverVersion)rØ  ræ  r³  rt  r(  rk  r  )rŽ  Úc_driver_versionr³  r+  rj  s        r  rë  rë  (  sL   € ä+Ô,RÓSÐÜÔAÓB€MÜ
!Ð"FÓ
G€BÙ
ˆ\œ5Ð!1Ó2°MÓ
B€CÜ�SÔØ×!Ñ!Ð!r  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   Ú nvmlVgpuInstanceGetLicenseStatusrö  )rŽ  Úc_license_statusr+  rj  s       r  rî  rî  2  s=   € Ü˜a“yÐÜ
!Ð"DÓ
E€BÙ
ˆ\œ5Ð!1Ó2Ó
3€CÜ�SÔØ×!Ñ!Ð!r  c                 ój   • [        S5      n[        5       nU" U [        U5      5      n[        U5        U$ )NÚ!nvmlVgpuInstanceGetLicenseInfo_v2)rt  r¸  r(  rk  )rŽ  r+  Úc_license_inforj  s       r  rñ  rñ  9  s4   € Ü
!Ð"EÓ
F€BÜ,Ó.€NÙ
ˆ\œ5 Ó0Ó
1€CÜ�SÔØÐr  c                 ó   • [        U 5      $ r,  )rñ  )rŽ  s    r  ÚnvmlVgpuInstanceGetLicenseInforô  @  s   € Ü,¨\Ó:Ð:r  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   Ú!nvmlVgpuInstanceGetFrameRateLimitrö  )rŽ  Úc_frlr+  rj  s       r  rö  rö  C  s8   € Ü�1‹I€EÜ
!Ð"EÓ
F€BÙ
ˆ\œ5 ›<Ó
(€CÜ�SÔØ�;‰;Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlVgpuInstanceGetEccModer‰  ©rŽ  ro  r+  rj  s       r  rù  rù  J  s7   € ÜÓ!€FÜ	 Ð!=Ó	>€BÙ
ˆ\œ5 ›=Ó
)€CÜ�SÔØ�<‰<Ðr  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlVgpuInstanceGetTyperö  )rŽ  Úc_vgpu_typer+  rj  s       r  rü  rü  Q  s;   € Ü˜“)€KÜ
!Ð";Ó
<€BÙ
ˆ\œ5 Ó-Ó
.€CÜ�SÔØ×ÑÐr  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   Ú"nvmlVgpuInstanceGetEncoderCapacityr¾  )rŽ  Úc_encoder_capacityr+  rj  s       r  rÿ  rÿ  X  s=   € Ü$ Q›ÐÜ
!Ð"FÓ
G€BÙ
ˆ\œ5Ð!3Ó4Ó
5€CÜ�SÔØ×#Ñ#Ð#r  c                 ó(   • [        S5      nU" X5      $ )NÚ"nvmlVgpuInstanceSetEncoderCapacityr|  )rŽ  Úencoder_capacityr+  s      r  r  r  _  s   € Ü
!Ð"FÓ
G€BÙˆlÓ-Ð-r  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   ÚnvmlVgpuInstanceGetFbUsagerö  )rŽ  Ú
c_fb_usager+  rj  s       r  r  r  c  s;   € Ü˜“€JÜ
!Ð">Ó
?€BÙ
ˆ\œ5 Ó,Ó
-€CÜ�SÔØ×ÑÐr  c                 ó”   • [        S5      n[        S5      nU" U [        U5      [        U5      5      n[	        U5        UR
                  $ )Nr   ÚnvmlVgpuTypeGetCapabilities)r³  rt  Ú_nvmlVgpuCapability_tr(  rk  r  )r  rH  Úc_cap_resultr+  rj  s        r  r  r  j  sC   € Ü˜!“9€LÜ
!Ð"?Ó
@€BÙ
ˆZÔ.¨zÓ:¼EÀ,Ó<OÓ
P€CÜ�SÔØ×ÑÐr  c                 ó€   • [        S5      n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )Nr   Ú nvmlVgpuInstanceGetGpuInstanceIdrö  )rŽ  r=  r+  rj  s       r  r  r  q  s8   € Ü�!‹9€DÜ
!Ð"DÓ
E€BÙ
ˆ\œ5 ›;Ó
'€CÜ�SÔØ�J‰JÐr  c           	      ó¢   • [        [        5      n[        S5      nU" X[        [	        [        5      5      5      n[        U5        UR                  $ )NÚnvmlVgpuInstanceGetGpuPciId)rØ  r×  rt  r(  r³  rk  r  )rŽ  Úc_vgpuPciIdr+  rj  s       r  r  r  x  sC   € ä&Ô'IÓJ€KÜ	 Ð!>Ó	?€BÙ
ˆ\¬¬fÔ5WÓ.XÓ(YÓ
Z€CÜ�SÔØ×ÑÐr  c                 óv  • [        S5      n[        U5      n[        5       n[        S5      nU" X[	        U5      [	        U5      S 5      nU[
        :X  a  / $ U[        :X  aQ  UR                  [        -  nU" 5       nU" X[	        U5      [	        U5      U5      n[        U5        USUR                   $ [        U5      e)Nr   ÚnvmlDeviceGetVgpuUtilization)r³  rð  r_  rt  r(  ri  r7  r  r�  rk  r  )	rï  rO  r¤  r  r  r+  rj  r  r  s	            r  r  r  €  s¸   € ä˜!“9€LÜ˜yÓ)€LÜ*Ó,Ðä
!Ð"@Ó
A€BÙ
ˆV¤5Ð)<Ó#=¼uÀ\Ó?RÐTXÓ
Y€CàŒ|Óàˆ	Ø
Ô-Ó
-à"×(Ñ(Ô+PÑPˆÙ“Mˆ	ñ �¤uÐ-@Ó'AÄ5ÈÓCVÐXaÓbˆÜ˜Ôà˜˜<×-Ñ-Ð.Ð.ô ˜‹nÐr  c                 ó¢  • [        U5      n[        S5      n[        Ul        [	        5       Ul        [        S5      Ul        X#l        [        S5      nU" U [        U5      5      nU[        :X  a  / $ U[        :X  aL  UR                  [        -  nU" 5       nXsl        U" U [        U5      5      n[        U5        USUR                   $ [!        U5      e)Nr   Ú)nvmlDeviceGetVgpuInstancesUtilizationInfo)rð  r™  ÚVgpuInstancesUtilizationInfo_v1rË  r_  rš  r³  r›  rœ  rt  r(  ri  r7  r•  r�  rk  r  )rï  rO  r  Úc_vgpuUtilInfor+  rj  r  r  s           r  r  r  š  sÅ   € ä˜yÓ)€LÜ<¸QÓ?€NÜ<€NÔÜ#3Ó#5€NÔ Ü'-¨a£y€NÔ$Ø'3Ô$ä
!Ð"MÓ
N€BÙ
ˆV”U˜>Ó*Ó
+€CàŒ|Óàˆ	Ø
Ô-Ó
-à$×6Ñ6Ô9_Ñ_ˆÙ“Mˆ	Ø'0Ô$ñ �œ˜~Ó.Ó/ˆÜ˜Ôà˜˜>×;Ñ;Ð<Ð<ô ˜‹nÐr  c                 ó€   • [        5       n[        S5      nU" XU[        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetP2PStatus)Ú_nvmlGpuP2PStatus_trt  r(  rk  r  )r2  r3  Úp2pIndexÚc_p2pstatusr+  rj  s         r  r  r  ¸  s<   € Ü%Ó'€KÜ	 Ð!9Ó	:€BÙ
ˆW˜h¬¨kÓ(:Ó
;€CÜ�SÔØ×ÑÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚ&nvmlDeviceGetGridLicensableFeatures_v4)rÚ  rt  r(  rk  )rï  Úc_get_grid_licensable_featuresr+  rj  s       r  r  r  ¿  s6   € Ü%FÓ%HÐ"Ü	 Ð!IÓ	J€BÙ
ˆV”UÐ9Ó:Ó
;€CÜ�SÔà*Ð+r  c                 ó   • [        U 5      $ r,  )r  rI  s    r  Ú#nvmlDeviceGetGridLicensableFeaturesr  Ç  s   € Ü1°&Ó9Ð9r  c                 óª   • US LnU(       d  [         [        -  " 5       n[        S5      nU" X5      n[        U5        U(       a  [        $ UR
                  $ )NÚnvmlDeviceGetGspFirmwareVersion)r­  Ú"NVML_GSP_FIRMWARE_VERSION_BUF_SIZErt  rk  ri  r  )rï  rË  ÚisUserDefinedr+  rj  s        r  r!  r!  Ê  sK   € Ø 4Ð'€MÞÜÔ>Ò>ÓAˆÜ	 Ð!BÓ	C€BÙ
ˆVÓ
€CÜ�SÔÞ(Œ<Ð;¨g¯m©mÐ;r  c                 óü   • [        U5      [        LnU(       a  UO
[        U5      nU(       a  UO
[        U5      n[        S5      nU" XU5      n[	        U5        U(       a  [
        $ UR                  UR                  /$ )NÚnvmlDeviceGetGspFirmwareModerÉ  )rï  Ú	isEnabledÚdefaultModerU  ÚisEnabledRefÚdefaultModeRefr+  rj  s           r  r%  r%  Ó  sg   € Ü�y“/¬Ð/€KÞ +‘9´°yÓ1A€LÞ$/‘[´U¸;Ó5G€NÜ	 Ð!?Ó	@€BÙ
ˆV >Ó
2€CÜ�SÔÞ&Œ<ÐP¨Y¯_©_¸k×>OÑ>OÐ,PÐPr  c                 ó–   • [        S5      n[        U5      n[        S5      nU" X[        U5      5      n[	        U5        UR
                  $ )Nr   ÚnvmlDeviceGetEncoderCapacity)rð  Ú_nvmlEncoderQueryType_trt  r(  rk  r  )rï  ÚencoderQueryTyper   Úc_encoderQuery_typer+  rj  s         r  r+  r+  Ü  sI   € Ü$ Q›ÐÜ1Ð2BÓCÐä	 Ð!?Ó	@€BÙ
ˆV¬%Ð0BÓ*CÓ
D€CÜ�SÔØ×#Ñ#Ð#r  c                 ó:  • [        S5      n[        U5      n[        S5      nU" X[        U5      S 5      nU[        :X  a  / $ U[
        :X  aG  UR                  [        -  nU" 5       nU" X[        U5      U5      n[        U5        USUR                   $ [        U5      e)Nr   Ú#nvmlDeviceGetVgpuProcessUtilization)
r³  rð  rt  r(  ri  r7  r  rŸ  rk  r  )rï  rO  r¤  r  r+  rj  r  r  s           r  r0  r0  å  s�   € ä˜!“9€LÜ˜yÓ)€Lä
!Ð"GÓ
H€BÙ
ˆV¤5¨Ó#6¸Ó
=€CàŒ|Óàˆ	Ø
Ô-Ó
-à"×(Ñ(Ô+OÑOˆÙ“Mˆ	ñ �¤u¨\Ó':¸IÓFˆÜ˜Ôà˜˜<×-Ñ-Ð.Ð.ô ˜‹nÐr  c                 ó„  • [        U5      n[        S5      n[        Ul        [	        S5      Ul        X#l        [        S5      nU" U [        U5      5      nU[        :X  a  / $ U[        :X  aL  UR
                  [        -  nU" 5       nXsl        U" U [        U5      5      n[        U5        USUR
                   $ [        U5      e)Nr   Ú)nvmlDeviceGetVgpuProcessesUtilizationInfo)rð  r¥  ÚVgpuProcessesUtilizationInfo_v1rË  r³  r¦  rœ  rt  r(  ri  r7  r£  r§  rk  r  )rï  rO  r  Úc_vgpuProcUtilInfor+  rj  r  r  s           r  r2  r2  þ  sÀ   € ä˜yÓ)€LÜ@ÀÓCÐÜ!@ÐÔÜ*0°«)ÐÔ'Ø+7Ô(ä
!Ð"MÓ
N€BÙ
ˆV”UÐ-Ó.Ó
/€CàŒ|Óàˆ	Ø
Ô-Ó
-à(×9Ñ9Ô<aÑaˆÙ“Mˆ	Ø/8Ô,ñ �œÐ1Ó2Ó3ˆÜ˜Ôà˜Ð-×>Ñ>Ð?Ð?ô ˜‹nÐr  c                 ó  • [        S5      n[        S5      n[        S5      n[        S5      nU" U [        U5      [        U5      [        U5      5      n[        U5        UR                  UR                  UR                  4$ )Nr   ÚnvmlDeviceGetEncoderStatsr¾  )rï  Úc_encoderCountÚc_encodeFpsÚc_encoderLatencyr+  rj  s         r  r6  r6    sq   € Ü  “^€NÜ˜a“.€KÜ" 1“~ÐÜ	 Ð!<Ó	=€BÙ
ˆV”U˜>Ó*¬E°+Ó,>ÄÐFVÓ@WÓ
X€CÜ�SÔØ× Ñ  +×"3Ñ"3Ð5E×5KÑ5KÐLÐLr  c                 óx  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a}  UR                  S:w  ak  [
        UR                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR                  5       H  nUR                  XW   5        M     U$ / $ [        U5      e)Nr   ÚnvmlDeviceGetEncoderSessions©
r³  rt  r(  ri  r  r½  rk  r�  r–  r  ©rï  Úc_session_countr+  rj  Úsession_arrayÚ
c_sessionsÚsessionsr¡  s           r  r;  r;  $  s±   € ä˜Q“i€Oä
!Ð"@Ó
A€BÙ
ˆV”U˜?Ó+¨TÓ
2€CàŒ|ÓØ×!Ñ! QÓ&ä2°_×5JÑ5JÑJˆMÙ&›ˆJñ �VœU ?Ó3°ZÓ@ˆCÜ˜SÔ!ØˆHÜ˜?×0Ñ0Ö1�Ø—‘ 
¡Ö.ñ 2àˆOàˆIô ˜‹nÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetFBCStats©r  rt  r(  rk  )rï  Ú
c_fbcStatsr+  rj  s       r  rC  rC  >  s4   € Ü!Ó#€JÜ	 Ð!8Ó	9€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØÐr  c                 óx  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a}  UR                  S:w  ak  [
        UR                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR                  5       H  nUR                  XW   5        M     U$ / $ [        U5      e)Nr   ÚnvmlDeviceGetFBCSessions©
r³  rt  r(  ri  r  r"  rk  r�  r–  r  r=  s           r  rG  rG  E  s±   € ä˜Q“i€Oä
!Ð"<Ó
=€BÙ
ˆV”U˜?Ó+¨TÓ
2€CàŒ|ÓØ×!Ñ! QÓ&ä.°×1FÑ1FÑFˆMÙ&›ˆJñ �VœU ?Ó3°ZÓ@ˆCÜ˜SÔ!ØˆHÜ˜?×0Ñ0Ö1�Ø—‘ 
¡Ö.ñ 2àˆOàˆIô ˜‹nÐr  c                 ó  • [        S5      n[        S5      n[        S5      n[        S5      nU" U [        U5      [        U5      [        U5      5      n[        U5        UR                  UR                  UR                  4$ )Nr   ÚnvmlVgpuInstanceGetEncoderStatsr¾  )rŽ  r7  r8  r9  r+  rj  s         r  rJ  rJ  _  sq   € Ü# A›€NÜ# A›€KÜ# A›ÐÜ
!Ð"CÓ
D€BÙ
ˆ\œ5 Ó0´%¸Ó2DÄeÐL\ÓF]Ó
^€CÜ�SÔØ× Ñ  +×"3Ñ"3Ð5E×5KÑ5KÐLÐLr  c                 óx  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a}  UR                  S:w  ak  [
        UR                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR                  5       H  nUR                  XW   5        M     U$ / $ [        U5      e)Nr   Ú"nvmlVgpuInstanceGetEncoderSessionsr<  ©rŽ  r>  r+  rj  r?  r@  rA  r¡  s           r  rL  rL  h  s±   € ä˜Q“i€Oä
!Ð"FÓ
G€BÙ
ˆ\œ5 Ó1°4Ó
8€CàŒ|ÓØ×!Ñ! QÓ&ä2°_×5JÑ5JÑJˆMÙ&›ˆJñ �\¤5¨Ó#9¸:ÓFˆCÜ˜SÔ!ØˆHÜ˜?×0Ñ0Ö1�Ø—‘ 
¡Ö.ñ 2àˆOàˆIô ˜‹nÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlVgpuInstanceGetFBCStatsrD  )rŽ  rE  r+  rj  s       r  rO  rO  ‚  s4   € Ü!Ó#€JÜ	 Ð!>Ó	?€BÙ
ˆ\œ5 Ó,Ó
-€CÜ�SÔØÐr  c                 óx  • [        S5      n[        S5      nU" U [        U5      S 5      nU[        :X  a}  UR                  S:w  ak  [
        UR                  -  nU" 5       nU" U [        U5      U5      n[        U5        / n[        UR                  5       H  nUR                  XW   5        M     U$ / $ [        U5      e)Nr   ÚnvmlVgpuInstanceGetFBCSessionsrH  rM  s           r  rQ  rQ  ‰  s±   € ä˜Q“i€Oä
!Ð"BÓ
C€BÙ
ˆ\œ5 Ó1°4Ó
8€CàŒ|ÓØ×!Ñ! QÓ&ä.°×1FÑ1FÑFˆMÙ&›ˆJñ �\¤5¨Ó#9¸:ÓFˆCÜ˜SÔ!ØˆHÜ˜?×0Ñ0Ö1�Ø—‘ 
¡Ö.ñ 2àˆOàˆIô ˜‹nÐr  c                 ó$  • [        S5      n[        U5      n[        S5      nU" U S [        U5      U5      nU[        :X  aG  UR
                  [        -  nU" 5       nU" X[        U5      U5      n[        U5        USUR
                   $ [        U5      e)Nr   ÚnvmlDeviceGetProcessUtilization)	r³  rð  rt  r(  r7  r  rÆ  rk  r  )rï  rO  rê  r  r+  rj  r  r  s           r  rS  rS  £  sŒ   € ä�Q‹i€GÜ˜yÓ)€Lä
!Ð"CÓ
D€BÙ
ˆV�Tœ5 ›>¨<Ó
8€CàÔ+Ó+à—m‘mÔ&FÑFˆÙ“Mˆ	ñ �¤E¨'£N°LÓAˆÜ˜Ôà˜˜7Ÿ=™=Ð)Ð)ô ˜‹nÐr  c                 ól  • [        U5      n[        S5      n[        Ul        [	        S5      Ul        X#l        [        S5      nU" U [        U5      5      nU[        :X  aL  UR
                  [        -  nU" 5       nXsl        U" U [        U5      5      n[        U5        USUR
                   $ [        U5      e)Nr   Ú%nvmlDeviceGetProcessesUtilizationInfo)rð  rË  ÚProcessesUtilizationInfo_v1rË  r³  rÌ  rœ  rt  r(  r7  rÈ  rÍ  rk  r  )rï  rO  r  Úc_processesUtilInfor+  rj  r  r  s           r  rU  rU  ¹  s³   € ä˜yÓ)€LÜ=¸aÓ@ÐÜ"=ÐÔÜ.4°Q«iÐÔ+Ø,8Ô)ä
!Ð"IÓ
J€BÙ
ˆV”UÐ.Ó/Ó
0€CàÔ+Ó+à)×=Ñ=Ô@aÑaˆÙ“Mˆ	Ø,5Ô)ñ �œÐ2Ó3Ó4ˆÜ˜Ôà˜Ð.×BÑBÐCÐCô ˜‹nÐr  c                 óö   • [        S5      n[        5       n[        S5      nU" U [        U5      [        U5      5      nU[        :X  a)  U" U [        U5      [        U5      5      n[        U5        U$ [        U5      e)NÚnvmlVgpuInstanceGetMetadatar   )rt  r´  r³  r(  r7  rk  r  )rŽ  r+  Úc_vgpuMetadataÚc_bufferSizerj  s        r  rY  rY  Ó  su   € Ü	 Ð!>Ó	?€BÜ)Ó+€NÜ˜!“9€Lñ ˆ\œ5 Ó0´%¸Ó2EÓ
F€CØÔ+Ó+Ù�œu ^Ó4´e¸LÓ6IÓJˆÜ˜Ôð Ðô ˜‹nÐr  c                 óö   • [        S5      n[        5       n[        S5      nU" U [        U5      [        U5      5      nU[        :X  a)  U" U [        U5      [        U5      5      n[        U5        U$ [        U5      e)NÚnvmlDeviceGetVgpuMetadatar   )rt  rÀ  r³  r(  r7  rk  r  )rï  r+  Úc_vgpuPgpuMetadatar[  rj  s        r  r]  r]  á  sx   € Ü	 Ð!<Ó	=€BÜ1Ó3ÐÜ˜!“9€Lñ ˆV”UÐ-Ó.´°lÓ0CÓ
D€CØÔ+Ó+Ù�œÐ1Ó2´E¸,Ó4GÓHˆÜ˜Ôð Ðô ˜‹nÐr  c                 ó�   • [        S5      n[        5       nU" [        U 5      [        U5      [        U5      5      n[        U5        U$ )NÚnvmlGetVgpuCompatibility)rt  rÅ  r(  rk  )ÚvgpuMetadataÚpgpuMetadatar+  Úc_vgpuPgpuCompatibilityrj  s        r  r`  r`  ï  sB   € Ü	 Ð!;Ó	<€BÜ;Ó=ÐÙ
ŒU�<Ó ¤%¨Ó"5´uÐ=TÓ7UÓ
V€CÜ�SÔØ"Ð"r  c                 ó.  • [        S5      n[        [        5      n[        S5      nU" U [	        U5      [	        U5      5      nU[
        :X  a(  U" U [	        U5      [	        U5      5      n[        U5        O[        U5      eUR                  UR                  4$ )NÚnvmlDeviceGetPgpuMetadataStringr   )	rt  rØ  rÃ  r³  r(  r7  rk  r  r  )rï  r+  Úc_pgpuMetadatar[  rj  s        r  re  re  ö  s…   € ä	 Ð!BÓ	C€BÜ)Ô*RÓS€NÜ˜!“9€Lñ ˆV”U˜>Ó*¬E°,Ó,?Ó
@€CØÔ+Ó+Ù�œ˜~Ó.´°lÓ0CÓDˆÜ˜Õä˜‹nÐØ× Ñ  ,×"4Ñ"4Ð5Ð5r  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetVgpuSchedulerLog)rÝ  rt  r(  rk  )rï  Úc_vgpu_sched_logr+  rj  s       r  rh  rh    s6   € Ü/Ó1ÐÜ	 Ð!@Ó	A€BÙ
ˆV”UÐ+Ó,Ó
-€CÜ�SÔØÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetVgpuSchedulerState)rç  rt  r(  rk  )rï  Úc_vgpu_sched_stater+  rj  s       r  rk  rk    s6   € Ü6Ó8ÐÜ	 Ð!BÓ	C€BÙ
ˆV”UÐ-Ó.Ó
/€CÜ�SÔØÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚ&nvmlDeviceGetVgpuSchedulerCapabilities)rõ  rt  r(  rk  )rï  Úc_vgpu_sched_capsr+  rj  s       r  rn  rn    s6   € Ü9Ó;ÐÜ	 Ð!IÓ	J€BÙ
ˆV”UÐ,Ó-Ó
.€CÜ�SÔØÐr  c                 ó^   • [        S5      nU" U [        U5      5      n[        U5        [        $ )NÚnvmlDeviceSetVgpuSchedulerState©rt  r(  rk  ri  )rï  Úsched_stater+  rj  s       r  rq  rq    s,   € Ü	 Ð!BÓ	C€BÙ
ˆV”U˜;Ó'Ó
(€CÜ�SÔÜÐr  c                 ó\   • [        S5      nU" [        U 5      5      n[        U5        [        $ )NÚnvmlSetVgpuVersionrr  )ÚvgpuVersionr+  rj  s      r  ru  ru  #  s*   € Ü	 Ð!5Ó	6€BÙ
ŒU�;ÓÓ
 €CÜ�SÔÜÐr  c                 ó2  • U S L=(       d    US LnU(       d  [        5       n [        5       n[        S5      nU" [        U 5      [        U5      5      n[        U5        U(       a  [        $ U R
                  U R                  4UR
                  UR                  4/$ )NÚnvmlGetVgpuVersion)r°  rt  r(  rk  ri  r±  r²  )Ú	supportedr¼  r#  r+  rj  s        r  rx  rx  )  s—   € Ø dÐ*×D°¸tÐ0C€MÞÜ'Ó)ˆ	Ü%Ó'ˆÜ	 Ð!5Ó	6€BÙ
ŒU�9Óœu W›~Ó
.€CÜ�SÔÞ(Œ<ð E°	×0DÑ0DØ09×0DÑ0Dð0Fà07×0BÑ0BØ07×0BÑ0Bð0Dð/Eð Er  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ!nvmlVgpuInstanceGetAccountingModer‰  rú  s       r  r{  r{  6  s7   € ÜÓ!€FÜ	 Ð!DÓ	E€BÙ
ˆ\œ5 ›=Ó
)€CÜ�SÔØ�<‰<Ðr  c                 ó  • [        5       n[        S5      nU" U [        U5      S 5      nU[        :X  aD  UR                  [         -  nU" 5       nU" U [        U5      [        U5      5      n[        U5        X4$ [        U5      e)NÚ!nvmlVgpuInstanceGetAccountingPids)r³  rt  r(  r7  r  rk  r  )rŽ  Ú
c_pidCountr+  rj  r  Ú
c_pidArrays         r  r}  r}  =  s~   € Ü“€JÜ	 Ð!DÓ	E€BÙ
ˆ\œ5 Ó,¨dÓ
3€CØÔ+Ó+Ø ×&Ñ&¬Ñ/ˆÙ “]ˆ
Ù�œu ZÓ0´%¸
Ó2CÓDˆÜ˜Ôð Ð#Ð#ô ˜‹nÐr  c                 ój   • [        5       n[        S5      nU" X[        U5      5      n[        U5        U$ )NÚ"nvmlVgpuInstanceGetAccountingStats)r£  rt  r(  rk  )rŽ  r  Úc_accountingStatsr+  rj  s        r  r�  r�  J  s6   € Ü/Ó1ÐÜ	 Ð!EÓ	F€BÙ
ˆ\¤Ð&7Ó 8Ó
9€CÜ�SÔØÐr  c                 óJ   • [        S5      nU" U 5      n[        U5        [        $ )NÚ#nvmlVgpuInstanceClearAccountingPidsrÆ  )rŽ  r+  rj  s      r  r„  r„  Q  s%   € Ü	 Ð!FÓ	G€BÙ
ˆ\Ó
€CÜ�SÔÜÐr  c                 ó  • SUl         [        S5      nU" U [        U5      5      nU[        :X  a  U$ U[        :X  a>  [
        UR                   -  nU" 5       Ul        U" U [        U5      5      n[        U5        U$ [        U5      e)Nr   Ú nvmlGpuInstanceGetCreatableVgpus)	r  rt  r(  ri  r7  r¢  r  rk  r  )rT  Úc_vgpusr+  rj  r¥  s        r  r†  r†  W  s~   € Ø€GÔÜ
!Ð"DÓ
E€BÙ
ˆ[œ% ›.Ó
)€CàŒ|ÓàˆØ
Ô-Ó
-Ü/°'×2CÑ2CÑCÐÙ1Ó3ˆÔÙ�œe G›nÓ-ˆÜ˜Ôàˆä˜‹nÐr  c                 óž   • [        5       n[        Ul        Xl        [	        S5      nU" [        U5      5      n[        U5        UR                  $ )NÚ)nvmlVgpuTypeGetMaxInstancesPerGpuInstance)r  ÚnvmlVgpuTypeMaxInstance_v1rË  r  rt  r(  rk  r  )r  r�  r+  rj  s       r  r‰  r‰  i  sF   € Ü4Ó6€OÜ8€OÔØ!+ÔÜ
!Ð"MÓ
N€BÙ
ŒU�?Ó#Ó
$€CÜ�SÔØ×+Ñ+Ð+r  c                 ó  • [        S5      Ul        [        S5      nU" U [        U5      5      nU[        :X  a  U$ U[
        :X  a>  [        UR                  -  nU" 5       Ul        U" U [        U5      5      n[        U5        U$ [        U5      e)Nr   ÚnvmlGpuInstanceGetActiveVgpus)
r³  r  rt  r(  ri  r7  r“  r	  rk  r  )rT  Úc_vgpu_instance_infor+  rj  rÞ  s        r  rŒ  rŒ  r  s�   € Ü%+¨A£YÐÔ"ä
!Ð"AÓ
B€BÙ
ˆ[œ%Ð 4Ó5Ó
6€CàŒ|Óà#Ð#Ø
Ô-Ó
-ä1Ð4H×4RÑ4RÑRÐÙ-@Ó-BÐÔ*ñ �œeÐ$8Ó9Ó:ˆÜ˜ÔØ#Ð#ä˜‹nÐr  c                 óV   • [        S5      nU" U [        U5      5      n[        U5        U$ )NÚ$nvmlGpuInstanceSetVgpuSchedulerStater'  )rT  rs  r+  rj  s       r  r�  r�  ˆ  s+   € Ü	 Ð!GÓ	H€BÙ
ˆ[œ% Ó,Ó
-€CÜ�SÔØ€Jr  c                 óV   • [        S5      nU" U [        U5      5      n[        U5        U$ )NÚ$nvmlGpuInstanceGetVgpuSchedulerStater'  )rT  Úc_vgpu_sched_state_infor+  rj  s       r  r‘  r‘  �  s-   € Ü	 Ð!GÓ	H€BÙ
ˆ[œ%Ð 7Ó8Ó
9€CÜ�SÔØ"Ð"r  c                 óV   • [        S5      nU" U [        U5      5      n[        U5        U$ )NÚ"nvmlGpuInstanceGetVgpuSchedulerLogr'  )rT  Úc_vgpu_sched_log_infor+  rj  s       r  r”  r”  –  s-   € Ü	 Ð!EÓ	F€BÙ
ˆ[œ%Ð 5Ó6Ó
7€CÜ�SÔØ Ð r  c                 óP  • [        5       n[        Ul        UR                  Ul        [	        S5      nU" [        U5      5      n[        U5        UR                  Ul        [        UR                  -  nU" 5       Ul
        [	        S5      nU" U [        U5      5      n[        U5        U$ )Nr‰  Ú-nvmlGpuInstanceGetVgpuTypeCreatablePlacements)r  rŠ  rË  r  rt  r(  rk  r  rÆ  r³  r…  )rT  r‘  r�  r+  rj  r’  s         r  r—  r—  œ  s—   € Ü4Ó6€OÜ8€OÔØ!2×!=Ñ!=€OÔÜ
!Ð"MÓ
N€BÙ
ŒU�?Ó#Ó
$€CÜ�SÔà-×>Ñ>ÐÔä˜O×<Ñ<Ñ<€LÙ%1£^ÐÔ"Ü
!Ð"QÓ
R€BÙ
ˆ[œ%Ð 1Ó2Ó
3€CÜ�SÔØÐr  c                 ó–   • [        S5      n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        UR                  $ )Nr   Ú'nvmlGpuInstanceGetVgpuHeterogeneousModer€  )rT  r‚  r+  rj  s       r  r™  r™  ­  sG   € Ü>¸qÓAÐÜ&>ÐÔ#Ü	 Ð!JÓ	K€BÙ
ˆ[œ%Ð 7Ó8Ó
9€CÜ�SÔØ"×'Ñ'Ð'r  c                 ó–   • [        S5      n[        Ul        Xl        [	        S5      nU" U [        U5      5      n[        U5        [        $ )Nr   Ú'nvmlGpuInstanceSetVgpuHeterogeneousModer…  )rT  r†  r‚  r+  rj  s        r  r›  r›  µ  sG   € Ü>¸qÓAÐÜ&>ÐÔ#Ø#5Ô Ü	 Ð!JÓ	K€BÙ
ˆ[œ%Ð 7Ó8Ó
9€CÜ�SÔÜÐr  c                 óV   • [        S5      nU" U [        U5      5      n[        U5        U$ )NÚ"nvmlDeviceGetVgpuSchedulerState_v2r'  )rï  Úc_vgpu_sched_state_info_v2r+  rj  s       r  r�  r�  ¾  s-   € Ü	 Ð!EÓ	F€BÙ
ˆV”UÐ5Ó6Ó
7€CÜ�SÔØ%Ð%r  c                 óV   • [        S5      nU" U [        U5      5      n[        U5        U$ )NÚ'nvmlGpuInstanceGetVgpuSchedulerState_v2r'  )rT  rž  r+  rj  s       r  r   r   Ä  s-   € Ü	 Ð!JÓ	K€BÙ
ˆ[œ%Ð :Ó;Ó
<€CÜ�SÔØ%Ð%r  c                 óV   • [        S5      nU" U [        U5      5      n[        U5        U$ )NÚ nvmlDeviceGetVgpuSchedulerLog_v2r'  )rï  Úc_vgpu_sched_log_info_v2r+  rj  s       r  r¢  r¢  Ê  s-   € Ü	 Ð!CÓ	D€BÙ
ˆV”UÐ3Ó4Ó
5€CÜ�SÔØ#Ð#r  c                 óV   • [        S5      nU" U [        U5      5      n[        U5        U$ )NÚ%nvmlGpuInstanceGetVgpuSchedulerLog_v2r'  )rT  r£  r+  rj  s       r  r¥  r¥  Ð  s-   € Ü	 Ð!HÓ	I€BÙ
ˆ[œ%Ð 8Ó9Ó
:€CÜ�SÔØ#Ð#r  c                 ó^   • [        S5      nU" U [        U5      5      n[        U5        [        $ )NÚ"nvmlDeviceSetVgpuSchedulerState_v2rr  )rï  Úsched_state_v2r+  rj  s       r  r§  r§  Ö  s,   € Ü	 Ð!EÓ	F€BÙ
ˆV”U˜>Ó*Ó
+€CÜ�SÔÜÐr  c                 ó^   • [        S5      nU" U [        U5      5      n[        U5        [        $ )NÚ'nvmlGpuInstanceSetVgpuSchedulerState_v2rr  )rT  r¨  r+  rj  s       r  rª  rª  Ü  s,   € Ü	 Ð!JÓ	K€BÙ
ˆ[œ% Ó/Ó
0€CÜ�SÔÜÐr  c                  ó|   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U R                  $ )NÚnvmlGetExcludedDeviceCountrö  r÷  s      r  r¬  r¬  â  s4   € Ü‹h€GÜ	 Ð!=Ó	>€BÙ
ŒU�7‹^Ó
€CÜ�SÔØ�=‰=Ðr  c                 ó€   • [        U 5      n[        5       n[        S5      nU" U[        U5      5      n[	        U5        U$ )NÚ nvmlGetExcludedDeviceInfoByIndex)r³  rè  rt  r(  rk  )rn  rû  Úinfor+  rj  s        r  r®  r®  é  s;   € Ü�U‹m€GÜ%Ó'€DÜ	 Ð!CÓ	D€BÙ
ˆW”e˜D“kÓ
"€CÜ�SÔØ€Kr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetHostVgpuMode)Ú_nvmlHostVgpuMode_trt  r(  rk  r  )rï  Úc_host_vgpu_moder+  rj  s       r  r±  r±  ñ  s<   € Ü*Ó,ÐÜ	 Ð!<Ó	=€BÙ
ˆV”UÐ+Ó,Ó
-€CÜ�SÔØ×!Ñ!Ð!r  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceSetMigModerö  )rÎ  r$  Úc_activationStatusr+  rj  s        r  rµ  rµ  ø  s;   € Ü›ÐÜ	 Ð!7Ó	8€BÙ
ˆVœ5Ð!3Ó4Ó
5€CÜ�SÔØ×#Ñ#Ð#r  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetMigModerö  )rÎ  Úc_currentModeÚc_pendingModer+  rj  s        r  r¸  r¸  ÿ  sR   € Ü“H€MÜ“H€MÜ	 Ð!7Ó	8€BÙ
ˆV”U˜=Ó)¬5°Ó+?Ó
@€CÜ�SÔØ×Ñ ×!4Ñ!4Ð5Ð5r  c                 óÎ   • US:X  a  [        5       n[        S5      nO+US:X  a  [        5       n[        S5      nO[        [        5      eU" X[        U5      5      n[        U5        U$ )Nr   Ú$nvmlDeviceGetGpuInstanceProfileInfoVr   Ú#nvmlDeviceGetGpuInstanceProfileInfo)r9  rt  r-  r  r=  r(  rk  )rÎ  ÚprofilerË  r*  r+  rj  s         r  r½  r½    s_   € Ø�!ƒ|Ü2Ó4ˆÜ$Ð%KÓL‰Ø	�A‹Ü/Ó1ˆÜ$Ð%JÓK‰äÔ5Ó6Ð6Ù
ˆVœe F›mÓ
,€CÜ�SÔØ€Mr  c                 ój   • [        5       n[        S5      nU" X[        U5      5      n[        U5        U$ )NÚ(nvmlDeviceGetGpuInstanceProfileInfoByIdV)r9  rt  r(  rk  )rÎ  r@  r*  r+  rj  s        r  Ú'nvmlDeviceGetGpuInstanceProfileInfoByIdrÁ    s2   € Ü.Ó0€FÜ	 Ð!KÓ	L€Bá
ˆV¤ f£Ó
.€CÜ�SÔØ€Mr  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚ)nvmlDeviceGetGpuInstanceRemainingCapacityrö  )rÎ  r@  rê  r+  rj  s        r  rÃ  rÃ     s6   € Ü‹h€GÜ	 Ð!LÓ	M€BÙ
ˆV¤ g£Ó
/€CÜ�SÔØ�=‰=Ðr  c                 óL   • [        S5      nU" XX#5      n[        U5        [        $ )NÚ-nvmlDeviceGetGpuInstancePossiblePlacements_v2rÆ  )rÎ  r@  ÚplacementsRefÚcountRefr+  rj  s         r  Ú*nvmlDeviceGetGpuInstancePossiblePlacementsrÈ  '  s'   € Ü	 Ð!PÓ	Q€BÙ
ˆV Ó
8€CÜ�SÔÜÐr  c                 ój   • [        5       n[        S5      nU" X[        U5      5      n[        U5        U$ )NÚnvmlDeviceCreateGpuInstance©rU  rt  r(  rk  )rÎ  r@  Ú
c_instancer+  rj  s        r  rÊ  rÊ  -  s4   € Ü$Ó&€JÜ	 Ð!>Ó	?€BÙ
ˆV¤ jÓ 1Ó
2€CÜ�SÔØÐr  c                 ól   • [        5       n[        S5      nU" XU[        U5      5      n[        U5        U$ )NÚ(nvmlDeviceCreateGpuInstanceWithPlacementrË  )rÎ  r@  rA  rÌ  r+  rj  s         r  rÎ  rÎ  4  s6   € Ü$Ó&€JÜ	 Ð!KÓ	L€BÙ
ˆV 	¬5°Ó+<Ó
=€CÜ�SÔØÐr  c                 óJ   • [        S5      nU" U 5      n[        U5        [        $ )NÚnvmlGpuInstanceDestroyrÆ  )rT  r+  rj  s      r  rÐ  rÐ  ;  s$   € Ü	 Ð!9Ó	:€BÙ
ˆ[‹/€CÜ�SÔÜÐr  c                 óL   • [        S5      nU" XX#5      n[        U5        [        $ )NÚnvmlDeviceGetGpuInstancesrÆ  )rÎ  r@  ÚgpuInstancesRefrÇ  r+  rj  s         r  rÒ  rÒ  A  s'   € Ü	 Ð!<Ó	=€BÙ
ˆV Ó
:€CÜ�SÔÜÐr  c                 ój   • [        5       n[        S5      nU" X[        U5      5      n[        U5        U$ )NÚnvmlDeviceGetGpuInstanceByIdrË  )rÎ  r  rÌ  r+  rj  s        r  rÕ  rÕ  G  s4   € Ü$Ó&€JÜ	 Ð!?Ó	@€BÙ
ˆV¤E¨*Ó$5Ó
6€CÜ�SÔØÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlGpuInstanceGetInfo)r?  rt  r(  rk  )rT  r*  r+  rj  s       r  r×  r×  N  s2   € Ü$Ó&€FÜ	 Ð!9Ó	:€BÙ
ˆ[œ% ›-Ó
(€CÜ�SÔØ€Mr  c                 óÐ   • US:X  a  [        5       n[        S5      nO+US:X  a  [        5       n[        S5      nO[        [        5      eU" XU[        U5      5      n[        U5        U$ )Nr   Ú-nvmlGpuInstanceGetComputeInstanceProfileInfoVr   Ú,nvmlGpuInstanceGetComputeInstanceProfileInfo)rN  rt  rG  r  r=  r(  rk  )rÎ  r¾  Ú
engProfilerË  r*  r+  rj  s          r  rÚ  rÚ  U  sa   € Ø�!ƒ|Ü6Ó8ˆÜ$Ð%TÓU‰Ø	�A‹Ü3Ó5ˆÜ$Ð%SÓT‰äÔ5Ó6Ð6Ù
ˆV˜j¬%°«-Ó
8€CÜ�SÔØ€Mr  c                 ó~   • [        5       n[        S5      nU" X[        U5      5      n[        U5        UR                  $ )NÚ2nvmlGpuInstanceGetComputeInstanceRemainingCapacityrö  )rT  r@  rê  r+  rj  s        r  rÝ  rÝ  e  s6   € Ü‹h€GÜ	 Ð!UÓ	V€BÙ
ˆ[¤U¨7£^Ó
4€CÜ�SÔØ�=‰=Ðr  c                 óL   • [        S5      nU" XX#5      n[        U5        [        $ )NÚ3nvmlGpuInstanceGetComputeInstancePossiblePlacementsrÆ  )rT  r@  rÆ  rÇ  r+  rj  s         r  rß  rß  l  s'   € Ü	 Ð!VÓ	W€BÙ
ˆ[ ]Ó
=€CÜ�SÔÜÐr  c                 ój   • [        5       n[        S5      nU" X[        U5      5      n[        U5        U$ )NÚ$nvmlGpuInstanceCreateComputeInstance©Úc_nvmlComputeInstance_trt  r(  rk  )rT  r@  rÌ  r+  rj  s        r  rá  rá  r  s4   € Ü(Ó*€JÜ	 Ð!GÓ	H€BÙ
ˆ[¤U¨:Ó%6Ó
7€CÜ�SÔØÐr  c                 ól   • [        5       n[        S5      nU" XU[        U5      5      n[        U5        U$ )NÚ1nvmlGpuInstanceCreateComputeInstanceWithPlacementrâ  )rT  r@  rA  rÌ  r+  rj  s         r  rå  rå  y  s6   € Ü(Ó*€JÜ	 Ð!TÓ	U€BÙ
ˆ[ Y´°jÓ0AÓ
B€CÜ�SÔØÐr  c                 óJ   • [        S5      nU" U 5      n[        U5        [        $ )NÚnvmlComputeInstanceDestroyrÆ  )ÚcomputeInstancer+  rj  s      r  rç  rç  €  s%   € Ü	 Ð!=Ó	>€BÙ
ˆ_Ó
€CÜ�SÔÜÐr  c                 óL   • [        S5      nU" XX#5      n[        U5        [        $ )NÚ"nvmlGpuInstanceGetComputeInstancesrÆ  )rT  r@  ÚcomputeInstancesRefrÇ  r+  rj  s         r  rê  rê  †  s(   € Ü	 Ð!EÓ	F€BÙ
ˆ[Ð%8Ó
C€CÜ�SÔÜÐr  c                 ój   • [        5       n[        S5      nU" X[        U5      5      n[        U5        U$ )NÚ%nvmlGpuInstanceGetComputeInstanceByIdrâ  )rT  r  rÌ  r+  rj  s        r  rí  rí  Œ  s4   € Ü(Ó*€JÜ	 Ð!HÓ	I€BÙ
ˆ[¬U°:Ó->Ó
?€CÜ�SÔØÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlComputeInstanceGetInfo_v2)rS  rt  r(  rk  )rè  r*  r+  rj  s       r  rï  rï  “  s2   € Ü(Ó*€FÜ	 Ð!@Ó	A€BÙ
ˆ_œe F›mÓ
,€CÜ�SÔØ€Mr  c                 ó   • [        U 5      $ r,  )rï  )rè  s    r  ÚnvmlComputeInstanceGetInforñ  š  s   € Ü(¨Ó9Ð9r  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceIsMigDeviceHandle)r³  rt  r(  rk  )rÎ  Úc_isMigDevicer+  rj  s       r  ró  ró  �  s3   € Ü“H€MÜ	 Ð!>Ó	?€BÙ
ˆV”U˜=Ó)Ó
*€CÜ�SÔØÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetGpuInstanceIdrö  )rÎ  Úc_gpuInstanceIdr+  rj  s       r  rö  rö  ¤  s9   € Ü“h€OÜ	 Ð!=Ó	>€BÙ
ˆV”U˜?Ó+Ó
,€CÜ�SÔØ× Ñ Ð r  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetComputeInstanceIdrö  )rÎ  Úc_computeInstanceIdr+  rj  s       r  rù  rù  «  s;   € Ü ›(ÐÜ	 Ð!AÓ	B€BÙ
ˆV”UÐ.Ó/Ó
0€CÜ�SÔØ×$Ñ$Ð$r  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetMaxMigDeviceCountrö  )rÎ  rê  r+  rj  s       r  rü  rü  ²  ó6   € Ü‹h€GÜ	 Ð!AÓ	B€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó€   • [        U5      n[        5       n[        S5      nU" X[        U5      5      n[	        U5        U$ )NÚ#nvmlDeviceGetMigDeviceHandleByIndexr  )rÎ  rn  rû  Ú	migDevicer+  rj  s         r  rÿ  rÿ  ¹  s=   € Ü�U‹m€GÜÓ €IÜ	 Ð!FÓ	G€BÙ
ˆVœe IÓ.Ó
/€CÜ�SÔØÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚ,nvmlDeviceGetDeviceHandleFromMigDeviceHandle)re  rt  r(  rk  )r 	  rÎ  r+  rj  s       r  r	  r	  Á  s2   € ÜÓ€FÜ	 Ð!OÓ	P€BÙ
ˆYœ˜f›Ó
&€CÜ�SÔØ€Mr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚnvmlDeviceGetAttributes_v2)rz  rt  r(  rk  )rÎ  Úc_attrsr+  rj  s       r  r	  r	  È  s2   € Ü$Ó&€GÜ	 Ð!=Ó	>€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ€Nr  c                 ó   • [        U 5      $ r,  )r	  )rÎ  s    r  ÚnvmlDeviceGetAttributesr	  Ï  rJ  r  c           	      ó:  • [        S5      n[        5       n[        5       n[        5       n[        5       nU" U [        U5      [        U5      [        U5      [        U5      5      n[        U5        UR                  UR                  UR                  UR                  4$ )NÚnvmlDeviceGetRemappedRowsrÍ  )rÎ  r+  Úc_corrÚc_uncÚ
c_bpendingÚ
c_bfailurerj  s          r  r		  r		  Ò  sx   € Ü	 Ð!<Ó	=€BÜ‹X€FÜ‹H€EÜ“€JÜ“€JÙ
ˆV”U˜6“]¤E¨%£L´%¸
Ó2CÄUÈ:ÓEVÓ
W€CÜ�SÔØ�L‰L˜%Ÿ+™+ z×'7Ñ'7¸×9IÑ9IÐJÐJr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚ!nvmlDeviceGetRowRemapperHistogram)r~  rt  r(  rk  )rÎ  Úc_valsr+  rj  s       r  r	  r	  Ü  s2   € Ü-Ó/€FÜ	 Ð!DÓ	E€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ€Mr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetArchitecture)Ú_nvmlDeviceArchitecture_trt  r(  rk  r  )rÎ  Úarchr+  rj  s       r  r	  r	  ã  s7   € Ü$Ó&€DÜ	 Ð!<Ó	=€BÙ
ˆV”U˜4“[Ó
!€CÜ�SÔØ�:‰:Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetBusType)Ú_nvmlBusType_trt  r(  rk  r  )rÎ  Ú	c_busTyper+  rj  s       r  r	  r	  ê  s8   € ÜÓ €IÜ	 Ð!7Ó	8€BÙ
ˆV”U˜9Ó%Ó
&€CÜ�SÔØ�?‰?Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetIrqNumrö  )rÎ  Úc_irqNumr+  rj  s       r  r	  r	  ñ  s6   € Ü‹x€HÜ	 Ð!6Ó	7€BÙ
ˆV”U˜8“_Ó
%€CÜ�SÔØ�>‰>Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetNumGpuCoresrö  )rÎ  Ú
c_numCoresr+  rj  s       r  r	  r	  ø  s9   € Ü“€JÜ	 Ð!;Ó	<€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØ×ÑÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPowerSource)Ú_nvmlPowerSource_trt  r(  rk  r  )rÎ  Úc_powerSourcer+  rj  s       r  r 	  r 	  ÿ  s:   € Ü&Ó(€MÜ	 Ð!;Ó	<€BÙ
ˆV”U˜=Ó)Ó
*€CÜ�SÔØ×ÑÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetMemoryBusWidthrö  )rÎ  Úc_memBusWidthr+  rj  s       r  r$	  r$	    s9   € Ü“H€MÜ	 Ð!>Ó	?€BÙ
ˆV”U˜=Ó)Ó
*€CÜ�SÔØ×ÑÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPcieLinkMaxSpeed)Ú_nvmlPcieLinkMaxSpeed_trt  r(  rk  r  ©rÎ  r´  r+  rj  s       r  r'	  r'	    s7   € Ü%Ó'€GÜ	 Ð!@Ó	A€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ$nvmlDeviceGetAdaptiveClockInfoStatus)Ú_nvmlAdaptiveClockInfoStatus_trt  r(  rk  r  )rÎ  Úc_adaptiveClockInfoStatusr+  rj  s       r  r+	  r+	    s<   € Ü >Ó @ÐÜ	 Ð!GÓ	H€BÙ
ˆV”UÐ4Ó5Ó
6€CÜ�SÔØ$×*Ñ*Ð*r  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPcieSpeedrö  r)	  s       r  r/	  r/	    s6   € Ü‹h€GÜ	 Ð!9Ó	:€BÙ
ˆV”U˜7“^Ó
$€CÜ�SÔØ�=‰=Ðr  c                 ó¦   • [        U5      [        LnU(       a  UO
[        U5      n[        S5      nU" X5      n[	        U5        U(       a  [
        $ U$ )NÚnvmlDeviceGetDynamicPstatesInfo)r^  r]  r(  rt  rk  ri  )rÎ  Úc_dynamicpstatesinforU  ÚdynamicpstatesinfoRefr+  rj  s         r  r1	  r1	  "  sO   € ÜÐ+Ó,Ô4QÐQ€KÞ4?Ñ0ÄUÐK_ÓE`Ðä	 Ð!BÓ	C€BÙ
ˆVÓ
+€CÜ�SÔÞ&Œ<Ð@Ð,@Ð@r  c                 óL   • [        S5      nU" XU5      n[        U5        [        $ )NÚnvmlDeviceSetFanSpeed_v2rÆ  )rï  rn  rÁ  r+  rj  s        r  r5	  r5	  +  s'   € Ü	 Ð!;Ó	<€BÙ
ˆV˜EÓ
"€CÜ�SÔÜÐr  c                 óÂ   • [        U5      [        LnU(       a  UO
[        U5      n[        S5      nU" XU5      n[	        U5        U(       a  [
        $ UR                  S S  $ )NÚnvmlDeviceGetThermalSettings)r^  ri  r(  rt  rk  ri  rj  )rÎ  ÚsensorindexÚc_thermalsettingsrU  ÚthermalsettingsRefr+  rj  s          r  r7	  r7	  1  s]   € ÜÐ(Ó)Ô1KÐK€KÞ.9Ñ*¼uÐEVÓ?WÐÜ	 Ð!?Ó	@€BÙ
ˆVÐ"4Ó
5€CÜ�SÔÞ&Œ<ÐGÐ,=×,DÑ,DÁQÐ,GÐGr  c                 óT  • [        U5      [        L=(       d    [        U5      [        LnU(       a  UO
[        U5      nU(       a  UO
[        U5      n[        S5      nU" U [	        U5      [	        U5      Xg5      n	[        U	5        U(       a  [        $ UR                  UR                  4$ )NÚ nvmlDeviceGetMinMaxClockOfPState)r^  r³  r(  rt  r›  rk  ri  r  )
rÎ  Ú	clockTypeÚpstateÚminClockMHzÚmaxClockMHzrU  ÚminClockMHzRefÚmaxClockMHzRefr+  rj  s
             r  r<	  r<	  9  sŠ   € Ü˜Ó$¬FÐ2×X¼¸[Ó8IÔQWÐ8W€KÞ$/‘[´U¸;Ó5G€NÞ$/‘[´U¸;Ó5G€NÜ	 Ð!CÓ	D€BÙ
ˆVÔ% iÓ0Ô2BÀ6Ó2JÈNÓ
k€CÜ�SÔÞ&Œ<ÐR¨[×->Ñ->À×@QÑ@QÐ,RÐRr  c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Ú c_nvmlDevicePowerMizerModes_v1_tiH  ÚcurrentModer$  ÚsupportedPowerMizerModesr  N)r  r  r  r  Ú_nvmlPowerMizerMode_tr€  r  r  r  r  rD	  rD	  H  s$   † à	Ð-Ð.Ø	Ð&Ð'Ø	#Ð%:Ð;ðƒHr  rD	  c                 ó,   • [        S5      nU" X5      nU$ )NÚnvmlDeviceGetPowerMizerMode_v1r|  ©rÎ  r¯  r+  rj  s       r  rI	  rI	  O  ó   € Ü	 Ð!AÓ	B€BÙ
ˆVÓ
€CØ€Jr  c                 ó,   • [        S5      nU" X5      nU$ )NÚnvmlDeviceSetPowerMizerMode_v1r|  rJ	  s       r  rM	  rM	  T  rK	  r  c                   ó<   • \ rS rSrS\4S\4S\4S\4S\4S\4/rSr	g	)
Úc_nvmlClockOffset_tiY  rË  r^  r>	  ÚclockOffsetMHzÚminClockOffsetMHzÚmaxClockOffsetMHzr  N)
r  r  r  r  r³  r›  rð  rK  r€  r  r  r  r  rO	  rO	  Y  s:   † à	�FÐØ	Ð!Ð"Ø	�>Ð"Ø	˜5Ð!Ø	˜eÐ$Ø	˜eÐ$ðƒHr  rO	  c                 ó4   • [        S5      nU" X5      n[        $ )NÚnvmlDeviceGetClockOffsets©rt  ri  rJ	  s       r  rT	  rT	  e  ó   € Ü	 Ð!<Ó	=€BÙ
ˆVÓ
€CÜÐr  c                 ó4   • [        S5      nU" X5      n[        $ )NÚnvmlDeviceSetClockOffsetsrU	  rJ	  s       r  rX	  rX	  j  rV	  r  c                 ó  • / n[        [        5      n[        [         5      UR                  -  n[        UR                  -  nU" 5       n[        S5      nU" XU5      n[        U5        U H   nU[        :w  d  M  UR                  U5        M"     U$ )NÚ'nvmlDeviceGetSupportedPerformanceStates)	r³  ÚNVML_MAX_GPU_PERF_PSTATESÚsizeofr  rð  rt  rk  ÚNVML_PSTATE_UNKNOWNr–  )	rÎ  Úpstatesrê  Úc_sizeÚpstates_arrayÚ	c_pstatesr+  rj  r  s	            r  rZ	  rZ	  o  s€   € Ø€GÜÔ.Ó/€GÜ”F‹^˜GŸM™MÑ)€Fô # W§]¡]Ñ2€MÙ“€Iä	 Ð!JÓ	K€BÙ
ˆV Ó
'€CÜ�SÔãˆØÔ'Õ'Ø�N‰N˜5Ö!ñ ð €Nr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetGpcClkVfOffset©ro  rt  r(  rk  r  ©rÎ  Úoffsetr+  rj  s       r  rc	  rc	  ‚  ó6   € Ü‹Y€FÜ	 Ð!>Ó	?€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ�<‰<Ðr  c                 ó`   • [        U5      n[        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceSetGpcClkVfOffset©ro  rt  rk  ri  ©rÎ  rf	  Úc_offsetr+  rj  s        r  ri	  ri	  Š  ó.   € Ü�v‹€HÜ	 Ð!>Ó	?€BÙ
ˆVÓ
€CÜ�SÔÜÐr  c                 ó,  • [        U5      [        L=(       d    [        U5      [        LnU(       a  UO
[        U5      nU(       a  UO
[        U5      n[        S5      nU" XU5      n[	        U5        U(       a  [
        $ UR                  UR                  4$ )NÚ!nvmlDeviceGetGpcClkMinMaxVfOffset©r^  rK  r(  rt  rk  ri  r  ©rÎ  Ú	minOffsetÚ	maxOffsetrU  ÚminOffsetRefÚmaxOffsetRefr+  rj  s           r  ro	  ro	  ‘  ss   € Ü˜	“?¬%Ð/×R´T¸)³_ÌEÐ5Q€KÞ +‘9´°yÓ1A€LÞ +‘9´°yÓ1A€LÜ	 Ð!DÓ	E€BÙ
ˆV <Ó
0€CÜ�SÔÞ&Œ<ÐN¨Y¯_©_¸i¿o¹oÐ,NÐNr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetMemClkVfOffsetrd	  re	  s       r  rw	  rw	  š  rg	  r  c                 ó`   • [        U5      n[        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceSetMemClkVfOffsetrj	  rk	  s        r  ry	  ry	  ¢  rm	  r  c                 ó,  • [        U5      [        L=(       d    [        U5      [        LnU(       a  UO
[        U5      nU(       a  UO
[        U5      n[        S5      nU" XU5      n[	        U5        U(       a  [
        $ UR                  UR                  4$ )NÚ!nvmlDeviceGetMemClkMinMaxVfOffsetrp	  rq	  s           r  r{	  r{	  ©  ss   € Ü˜	“?¬%Ð/×R´T¸)³_ÌEÐ5Q€KÞ +‘9´°yÓ1A€LÞ +‘9´°yÓ1A€Lä	 Ð!DÓ	E€BÙ
ˆV <Ó
0€CÜ�SÔÞ&Œ<ÐN¨Y¯_©_¸i¿o¹oÐ,NÐNr  c                 ó`   • [        U 5      n[        S5      nU" U5      n[        U5        [        $ )NÚ&nvmlSystemSetConfComputeGpusReadyState©r³  rt  rk  ri  )r»  r  r+  rj  s       r  r}	  r}	  ³  s-   € Ü�U‹m€GÜ	 Ð!IÓ	J€BÙ
ˆW‹+€CÜ�SÔÜÐr  c                  ó|   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U R                  $ )NÚ&nvmlSystemGetConfComputeGpusReadyStaterö  ©r  r+  rj  s      r  r€	  r€	  º  s4   € Ü‹h€GÜ	 Ð!IÓ	J€BÙ
ŒU�7‹^Ó
€CÜ�SÔØ�=‰=Ðr  c                  óh   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U $ )NÚ$nvmlSystemGetConfComputeCapabilities)r�  rt  r(  rk  )Úc_ccSysCapsr+  rj  s      r  rƒ	  rƒ	  Á  s2   € Ü/Ó1€KÜ	 Ð!GÓ	H€BÙ
ŒU�;ÓÓ
 €CÜ�SÔØÐr  c                  óh   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U $ )NÚnvmlSystemGetConfComputeState)r…  rt  r(  rk  r�	  s      r  r†	  r†	  È  s0   € Ü,Ó.€GÜ	 Ð!@Ó	A€BÙ
ŒU�7‹^Ó
€CÜ�SÔØ€Nr  c                 ó(   • [        S5      nU" U 5      $ )NÚ nvmlSystemGetConfComputeSettingsr|  )Úsettingsr+  s     r  rˆ	  rˆ	  Ï  s   € Ü	 Ð!CÓ	D€BÙˆh‹<Ðr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚ*nvmlDeviceSetConfComputeUnprotectedMemSizerÆ  ©rÎ  Úc_ccMemSizer+  rj  s       r  r‹	  r‹	  Ó  s%   € Ü	 Ð!MÓ	N€BÙ
ˆVÓ
!€CÜ�SÔÜÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚ#nvmlDeviceGetConfComputeMemSizeInfo)r”  rt  r(  rk  rŒ	  s       r  r�	  r�	  Ù  s4   € Ü0Ó2€KÜ	 Ð!FÓ	G€BÙ
ˆV”U˜;Ó'Ó
(€CÜ�SÔØÐr  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚ,nvmlDeviceGetConfComputeProtectedMemoryUsage)rÿ  rt  r(  rk  )rÎ  r  r+  rj  s       r  r‘	  r‘	  à  s2   € ÜÓ€HÜ	 Ð!OÓ	P€BÙ
ˆV”U˜8“_Ó
%€CÜ�SÔØ€Or  c                 ój   • [        5       n[        S5      nU" U [        U5      5      n[        U5        U$ )NÚ&nvmlDeviceGetConfComputeGpuCertificate)r˜  rt  r(  rk  )rÎ  Úc_certr+  rj  s       r  r“	  r“	  ç  s2   € Ü.Ó0€FÜ	 Ð!IÓ	J€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔØ€Mr  c                 ó®   • [        5       n[        [        U5      -  " U6 n[        USU5        [	        S5      nU" U [        U5      5      n[        U5        U$ )Nr¤  Ú,nvmlDeviceGetConfComputeGpuAttestationReport)r   rl  rl  r_  rt  r(  rk  )rÎ  Úc_nonceÚc_attestReportÚc_nonce_arrr+  rj  s         r  r–	  r–	  î  sS   € Ü<Ó>€NÜœS ›\Ò)¨WÐ6€KÜˆN˜G [Ô1Ü	 Ð!OÓ	P€BÙ
ˆV”U˜>Ó*Ó
+€CÜ�SÔØÐr  c                 ó”   • [        S5      n[        Ul        Xl        [	        S5      nU" [        U5      5      n[        U5        [        $ )Nr   Ú0nvmlSystemSetConfComputeKeyRotationThresholdInfo)r«  Ú)ConfComputeSetKeyRotationThresholdInfo_v1rË  r¬  rt  r(  rk  ri  )Úmax_atk_advÚc_keyRotationThrInfor+  rj  s       r  r›	  r›	  ÷  sE   € ÜIÈ!ÓLÐÜ#LÐÔ Ø0;Ô-Ü	 Ð!SÓ	T€BÙ
ŒUÐ'Ó(Ó
)€CÜ�SÔÜÐr  c                  ó€   • [        S5      n [        U l        [        S5      nU" [	        U 5      5      n[        U5        U $ )Nr   Ú0nvmlSystemGetConfComputeKeyRotationThresholdInfo)r¯  Ú)ConfComputeGetKeyRotationThresholdInfo_v1rË  rt  r(  rk  )rž	  r+  rj  s      r  r 	  r 	     s?   € ÜIÈ!ÓLÐÜ#LÐÔ Ü	 Ð!SÓ	T€BÙ
ŒUÐ'Ó(Ó
)€CÜ�SÔØÐr  i4  i5  i6  i7  i8  i9  i:  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  iH  iI  iJ  iK  iL  iM  c                   óH   • \ rS rSrS\S-  4S\S-  4S\S-  4S\S-  4/rSrg)	r¨  i@  rs  r.   r©  rª  r«  r  Nr¬  r  r  r  r¨  r¨  @  r®  r  c                   ó   • \ rS rSrSrg)Ústruct_c_nvmlGpmSample_tiH  r  Nr  r  r  r  r¤	  r¤	  H  r  r  r¤	  c                   ó*   • \ rS rSrS\4S\4S\4/rSrg)Úc_metricInfo_tiL  Ú	shortNameÚlongNamerü  r  N)r  r  r  r  rÔ  r€  r  r  r  r  r¦	  r¦	  L  s!   † à	�hÐØ	�XÐØ	�ÐðƒHr  r¦	  c                   ó0   • \ rS rSrS\4S\4S\4S\4/rSr	g)Úc_nvmlGpmMetric_tiS  ÚmetricIdr\  r  Ú
metricInfor  N)
r  r  r  r  r³  r`  rH  r¦	  r€  r  r  r  r  rª	  rª	  S  s)   † à	�VÐØ	�}Ð%Ø	�(ÐØ	�~Ð&ð	ƒHr  rª	  c                   ó<   • \ rS rSrS\4S\4S\4S\4S\\-  4/rSr	g)	Úc_nvmlGpmMetricsGet_ti[  rË  Ú
numMetricsÚsample1Úsample2Úmetricsr  N)
r  r  r  r  r³  Úc_nvmlGpmSample_trª	  ÚNVML_GPM_METRIC_MAXr€  r  r  r  r  r®	  r®	  [  s:   † à	�FÐØ	�vÐØ	Ð%Ð&Ø	Ð%Ð&Ø	Ð%Ð(;Ñ;Ð<ðƒHr  r®	  c                   ó$   • \ rS rSrS\4S\4/rSrg)Úc_nvmlGpmSupport_tif  rË  ÚisSupportedDevicer  Nr²  r  r  r  r¶	  r¶	  f  s   † à	�FÐØ	˜fÐ%ðƒHr  r¶	  c                 óT   • [        S5      nU" [        U 5      5      n[        U5        U $ )NÚnvmlGpmMetricsGetr'  )Ú
metricsGetr+  rj  s      r  r¹	  r¹	  p  s*   € Ü	 Ð!4Ó	5€BÙ
ŒU�:ÓÓ
€CÜ�SÔØÐr  c                 ó@   • [        S5      nU" U 5      n[        U5        g )NÚnvmlGpmSampleFreer‰  ©Ú	gpmSampler+  rj  s      r  r¼	  r¼	  v  s!   € Ü	 Ð!4Ó	5€BÙ
ˆY‹-€CÜ�SÔØ
r  c                  óh   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U $ )NÚnvmlGpmSampleAlloc)r³	  rt  r(  rk  r½	  s      r  rÀ	  rÀ	  |  s2   € Ü!Ó#€IÜ	 Ð!5Ó	6€BÙ
ŒU�9ÓÓ
€CÜ�SÔØÐr  c                 óB   • [        S5      nU" X5      n[        U5        U$ )NÚnvmlGpmSampleGetr‰  )rÎ  r¾	  r+  rj  s       r  rÂ	  rÂ	  ƒ  s%   € Ü	 Ð!3Ó	4€BÙ
ˆVÓ
€CÜ�SÔØÐr  c                 óD   • [        S5      nU" XU5      n[        U5        U$ )NÚnvmlGpmMigSampleGetr‰  )rÎ  r  r¾	  r+  rj  s        r  rÄ	  rÄ	  ‰  s'   € Ü	 Ð!6Ó	7€BÙ
ˆV IÓ
.€CÜ�SÔØÐr  c                 ó€   • [        5       n[        Ul        [        S5      nU" U [	        U5      5      n[        U5        U$ )NÚnvmlGpmQueryDeviceSupport)r¶	  ÚNVML_GPM_SUPPORT_VERSIONrË  rt  r(  rk  )rÎ  Ú
gpmSupportr+  rj  s       r  rÆ	  rÆ	  �  s<   € Ü#Ó%€JÜ1€JÔÜ	 Ð!<Ó	=€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØÐr  c                 ó`   • [        U5      n[        S5      nU" X5      n[        U5        [        $ )NÚnvmlGpmSetStreamingEnabledr~	  )rÎ  r»  r  r+  rj  s        r  rÊ	  rÊ	  —  s.   € Ü�U‹m€GÜ	 Ð!=Ó	>€BÙ
ˆVÓ
€CÜ�SÔÜÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlGpmQueryIfStreamingEnabledrö  )rÎ  r  r+  rj  s       r  rÌ	  rÌ	  ž  rý  r  iÿ  c                   ó   • \ rS rSrS\4/rSrg)Úc_nvmlNvLinkPowerThres_ti¯  ÚlowPwrThresholdr  Nr²  r  r  r  rÎ	  rÎ	  ¯  s   † à	˜FÐ#ðƒHr  rÎ	  c                 ó~   • [        5       nXl        [        S5      nU" U [        U5      5      n[	        U5        [
        $ )NÚ*nvmlDeviceSetNvLinkDeviceLowPowerThreshold)rÎ	  rÏ	  rt  r(  rk  ri  )rÎ  Úl1thresholdr*  r+  rj  s        r  rÑ	  rÑ	  ´  s9   € Ü%Ó'€FØ(ÔÜ	 Ð!MÓ	N€BÙ
ˆV”U˜6“]Ó
#€CÜ�SÔÜÐr  c                   ó6   • \ rS rSrS\\-  4S\4S\4S\4/r	Sr
g)Úc_nvmlGpuFabricInfo_tiÄ  ÚclusterUuidr³  ÚcliqueIdr»  r  N)r  r  r  r  rl  rë  r`  r]  Ú_nvmlGpuFabricState_tr€  r  r  r  r  rÔ	  rÔ	  Ä  s0   † à	˜Ð">Ñ>Ð?Ø	�=Ð!Ø	�XÐØ	Ð'Ð(ð	ƒHr  rÔ	  i$  c                   óV   ^ • \ rS rSrS\4S\\-  4S\4S\4S\	4S\4/r
U 4S jrS	rU =r$ )
Úc_nvmlGpuFabricInfo_v2_ti   rË  rÕ	  r³  rÖ	  r»  Ú
healthMaskc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rÙ	  ry  ÚnvmlGpuFabricInfo_v2ri  s    €r  ry  Ú!c_nvmlGpuFabricInfo_v2_t.__init__
  ó   ø€ ÜÔ&¨Ñ6Ô?SÐ6ÒTr  r  ©r  r  r  r  r³  rl  ÚNVML_GPU_FABRIC_UUID_LENr`  r]  r×	  r€  ry  r  r¥  r¦  s   @r  rÙ	  rÙ	     sM   ø† à	�FÐØ	˜Ð":Ñ:Ð;Ø	�=Ð!Ø	�XÐØ	Ð'Ð(Ø	�xÐ ð€H÷Uó Ur  rÙ	  c                   ó\   ^ • \ rS rSrS\4S\\-  4S\4S\4S\	4S\4S\4/r
U 4S	 jrS
rU =r$ )Úc_nvmlGpuFabricInfo_v3_ti  rË  rÕ	  r³  rÖ	  r»  rÚ	  ÚhealthSummaryc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  râ	  ry  ÚnvmlGpuFabricInfo_v3ri  s    €r  ry  Ú!c_nvmlGpuFabricInfo_v3_t.__init__  rÞ	  r  r  rß	  r¦  s   @r  râ	  râ	    sU   ø† à	�FÐØ	˜Ð":Ñ:Ð;Ø	�=Ð!Ø	�XÐØ	Ð'Ð(Ø	�xÐ Ø	˜'Ð"ð€H÷Uó Ur  râ	  i(  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceGetGpuFabricInforÆ  ©rÎ  ÚgpuFabricInfor+  rj  s       r  rè	  rè	     s%   € Ü	 Ð!=Ó	>€BÙ
ˆVÓ
#€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceGetGpuFabricInfoVrÆ  ré	  s       r  rì	  rì	  &  s%   € Ü	 Ð!>Ó	?€BÙ
ˆVÓ
#€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" U 5      n[        U5        [        $ )NÚnvmlSystemSetNvlinkBwModerÆ  ©r$  r+  rj  s      r  rî	  rî	  6  s$   € Ü	 Ð!<Ó	=€BÙ
ˆT‹(€CÜ�SÔÜÐr  c                  ó|   • [        5       n [        S5      nU" [        U 5      5      n[        U5        U R                  $ )NÚnvmlSystemGetNvlinkBwModerö  rï	  s      r  rñ	  rñ	  <  s3   € Ü‹8€DÜ	 Ð!<Ó	=€BÙ
ŒU�4‹[‹/€CÜ�SÔØ�:‰:Ðr  c                   ó2   • \ rS rSrS\4S\4S\4/rSS0rSrg)	Úc_nvmlPowerValue_v2_tiJ  rË  Ú
powerScopeÚpowerValueMwr’  r  r  N)	r  r  r  r  r³  Ú_nvmlPowerScopeType_tr€  r•  r  r  r  r  ró	  ró	  J  s.   † à	�FÐØ	Ð,Ð-Ø	˜Ð ð€Hð
 ˜&Ð!ƒEr  ró	  i  c                 ó¾   • [        U5      n[        5       n[        U5      Ul        XEl        [        U5      Ul        [        S5      nU" U [        U5      5      n[        $ )NÚ$nvmlDeviceSetPowerManagementLimit_v2)	rö	  ró	  r³  rË  rô	  rõ	  rt  r(  ri  )rÎ  rô	  Ú
powerLimitrË  Úc_powerScopeÚc_powerValuer+  rj  s           r  rø	  rø	  T  sU   € Ü(¨Ó4€LÜ(Ó*€LÜ! '›?€LÔØ*ÔÜ & zÓ 2€LÔÜ	 Ð!GÓ	H€BÙ
ˆV”U˜<Ó(Ó
)€CÜÐr  c                   óz   ^ • \ rS rSrS\4S\4S\4S\4S\4S\4S\4S	\4S
\4S\4S\4S\4S\4/rU 4S jrSrU =r	$ )Úc_nvmlEccSramErrorStatus_v1_ti^  rË  ÚaggregateUncParityÚaggregateUncSecDedÚaggregateCorÚvolatileUncParityÚvolatileUncSecDedÚvolatileCorÚaggregateUncBucketL2ÚaggregateUncBucketSmÚaggregateUncBucketPcieÚaggregateUncBucketMcuÚaggregateUncBucketOtherÚbThresholdExceededc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rý	  ry  ÚnvmlEccSramErrorStatus_v1ri  s    €r  ry  Ú&c_nvmlEccSramErrorStatus_v1_t.__init__o  r7  r  r  rþ  r¦  s   @r  rý	  rý	  ^  s~   ø† à	�FÐØ	˜{Ð+Ø	˜{Ð+Ø	˜Ð%Ø	˜kÐ*Ø	˜kÐ*Ø	˜Ð$Ø	 Ð-Ø	 Ð-Ø	! ;Ð/Ø	  +Ð.Ø	" KÐ0Ø	˜vÐ&ð€H÷ _ó _r  rý	  ih  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceGetSramEccErrorStatusrÆ  )rÎ  r³  r+  rj  s       r  r
  r
  s  s%   € Ü	 Ð!BÓ	C€BÙ
ˆVÓ
€CÜ�SÔÜÐr  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r$ )Úc_nvmlDeviceCapabilities_v1_ti|  rË  ÚcapMaskc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r
  ry  ÚnvmlDeviceCapabilities_v1ri  s    €r  ry  Ú&c_nvmlDeviceCapabilities_v1_t.__init__‚  r7  r  r  r  r¦  s   @r  r
  r
  |  s&   ø† à	�FÐØ	�FÐð€H÷
_ó _r  r
  c                 ó(   • [        S5      nU" X5      $ )NÚnvmlDeviceGetCapabilitiesr|  )rÎ  Úcapsr+  s      r  r
  r
  †  s   € Ü	 Ð!<Ó	=€BÙˆfÓÐr  c            	       óh   ^ • \ rS rSrS\4S\S-  4S\S-  4S\4S\4S\4S	\4S
\4/rU 4S jrSrU =r	$ )Úc_nvmlPlatformInfo_v1_tiŠ  rË  ÚibGuidr   ÚrackGuidÚchassisPhysicalSlotNumberÚcomputeSlotIndexÚ	nodeIndexÚpeerTyperT  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r
  ry  ÚnvmlPlatformInfo_v1ri  s    €r  ry  Ú c_nvmlPlatformInfo_v1_t.__init__–  ó   ø€ ÜÔ% tÑ5Ô>QÐ5ÒRr  r  ©
r  r  r  r  r³  r­  r€  ry  r  r¥  r¦  s   @r  r
  r
  Š  s^   ø† à	�FÐØ	�6˜B‘;ÐØ	�V˜b‘[Ð!Ø	$ fÐ-Ø	˜VÐ$Ø	�fÐØ	�VÐØ	�VÐð	€H÷Só Sr  r
  c            	       óh   ^ • \ rS rSrS\4S\S-  4S\S-  4S\4S\4S\4S	\4S
\4/rU 4S jrSrU =r	$ )Úc_nvmlPlatformInfo_v2_ti™  rË  r
  r   ÚchassisSerialNumberÚ
slotNumberÚ	trayIndexÚhostIdr
  rT  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r&
  ry  ÚnvmlPlatformInfo_v2ri  s    €r  ry  Ú c_nvmlPlatformInfo_v2_t.__init__¥  r#
  r  r  r$
  r¦  s   @r  r&
  r&
  ™  s^   ø† à	�FÐØ	�6˜B‘;ÐØ	 ¨¡Ð,Ø	�vÐØ	�fÐØ	�6ÐØ	�VÐØ	�VÐð	€H÷Só Sr  r&
  i,  i,  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceGetPlatformInforÆ  )rÎ  ÚplatformInfor+  rj  s       r  r/
  r/
  «  s%   € Ü	 Ð!<Ó	=€BÙ
ˆVÓ
"€CÜ�SÔÜÐr  c                   ó$   • \ rS rSrS\\-  4/rSrg)Úc_nvmlHostname_v1_ti³  r  r  N)r  r  r  r  r­  Ú NVML_DEVICE_HOSTNAME_BUFFER_SIZEr€  r  r  r  r  r2
  r2
  ³  s   † à	�&Ð;Ñ;Ð<ðƒHr  r2
  c                   ó$   • \ rS rSrS\S-  4/rSrg)Úc_nvmlMask255_ti¸  Úmaskr   r  Nr²  r  r  r  r5
  r5
  ¸  s   † à	�˜!‘ÐðƒHr  r5
  c                   óD   ^ • \ rS rSrS\4S\4S\4S\4/rU 4S jrSrU =r	$ )Ú#c_nvmlWorkloadPowerProfileInfo_v1_tiÐ  rË  r@  ÚpriorityÚconflictingmaskc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r8
  ry  ÚnvmlWorkloadPowerProfileInfo_v1ri  s    €r  ry  Ú,c_nvmlWorkloadPowerProfileInfo_v1_t.__init__Ø  s   ø€ ÜÔ1°4ÑAÔJiÐAÒjr  r  ©
r  r  r  r  r³  r5
  r€  ry  r  r¥  r¦  s   @r  r8
  r8
  Ð  s6   ø† à	�FÐØ	�fÐØ	�VÐØ	˜OÐ,ð	€H÷kó kr  r8
  iø+ c                   óD   ^ • \ rS rSrS\4S\4S\\-  4/rU 4S jr	Sr
U =r$ )Ú+c_nvmlWorkloadPowerProfileProfilesInfo_v1_tiÜ  rË  ÚperfProfilesMaskÚperfProfilec                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r@
  ry  Ú'nvmlWorkloadPowerProfileProfilesInfo_v1ri  s    €r  ry  Ú4c_nvmlWorkloadPowerProfileProfilesInfo_v1_t.__init__ã  s   ø€ ÜÔ9¸4ÑIÔRyÐIÒzr  r  )r  r  r  r  r³  r5
  r8
  Ú NVML_WORKLOAD_POWER_MAX_PROFILESr€  ry  r  r¥  r¦  s   @r  r@
  r@
  Ü  s5   ø† à	�FÐØ	˜_Ð-Ø	Ð;Ð>^Ñ^Ð_ð€H÷{ó {r  r@
  id  c                   óD   ^ • \ rS rSrS\4S\4S\4S\4/rU 4S jrSrU =r	$ )Ú.c_nvmlWorkloadPowerProfileCurrentProfiles_v1_tiç  rË  rA
  ÚrequestedProfilesMaskÚenforcedProfilesMaskc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rH
  ry  Ú*nvmlWorkloadPowerProfileCurrentProfiles_v1ri  s    €r  ry  Ú7c_nvmlWorkloadPowerProfileCurrentProfiles_v1_t.__init__ï  ó   ø€ ÜÔ<¸dÑLÔUÐLò  	Ar  r  r>
  r¦  s   @r  rH
  rH
  ç  s6   ø† à	�FÐØ	˜_Ð-Ø	  /Ð2Ø	 Ð1ð	€H÷Aó Ar  rH
  i$  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r	$ )Ú0c_nvmlWorkloadPowerProfileRequestedProfiles_v1_tió  rË  rI
  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rP
  ry  Ú,nvmlWorkloadPowerProfileRequestedProfiles_v1ri  s    €r  ry  Ú9c_nvmlWorkloadPowerProfileRequestedProfiles_v1_t.__init__ù  s   ø€ ÜÔ>ÀÑNô  XDÐNò  	Er  r  r>
  r¦  s   @r  rP
  rP
  ó  s&   ø† à	�FÐØ	  /Ð2ð€H÷
Eó Er  rP
  c                   ó$   • \ rS rSrS\4S\4/rSrg)Ú-c_nvmlWorkloadPowerProfileUpdateProfiles_v1_ti  Ú	operationÚupdateProfilesMaskr  N)r  r  r  r  r³  r5
  r€  r  r  r  r  rU
  rU
    s   † à	�fÐØ	˜Ð/ðƒHr  rU
  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚ-nvmlDeviceWorkloadPowerProfileGetProfilesInforÆ  )rÎ  ÚprofilesInfor+  rj  s       r  rY
  rY
    s%   € Ü	 Ð!PÓ	Q€BÙ
ˆVÓ
"€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚ0nvmlDeviceWorkloadPowerProfileGetCurrentProfilesrÆ  )rÎ  ÚcurrentProfilesr+  rj  s       r  r\
  r\
    s%   € Ü	 Ð!SÓ	T€BÙ
ˆVÓ
%€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚ2nvmlDeviceWorkloadPowerProfileSetRequestedProfilesrÆ  ©rÎ  ÚrequestedProfilesr+  rj  s       r  r_
  r_
    s%   € Ü	 Ð!UÓ	V€BÙ
ˆVÓ
'€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚ4nvmlDeviceWorkloadPowerProfileClearRequestedProfilesrÆ  r`
  s       r  rc
  rc
    s%   € Ü	 Ð!WÓ	X€BÙ
ˆVÓ
'€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚ/nvmlDeviceWorkloadPowerProfileUpdateProfiles_v1rÆ  )rÎ  ÚupdateProfilesr+  rj  s       r  re
  re
     s%   € Ü	 Ð!RÓ	S€BÙ
ˆVÓ
$€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚ#nvmlDeviceGetNvlinkSupportedBwModesrÆ  )rÎ  ÚsupportedBwModesr+  rj  s       r  rh
  rh
  &  s%   € Ü	 Ð!FÓ	G€BÙ
ˆVÓ
&€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceGetNvlinkBwModerÆ  )rÎ  Ú	getBwModer+  rj  s       r  rk
  rk
  ,  ó%   € Ü	 Ð!<Ó	=€BÙ
ˆVÓ
€CÜ�SÔÜÐr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceSetNvlinkBwModerÆ  )rÎ  Ú	setBwModer+  rj  s       r  ro
  ro
  2  rm
  r  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r	$ )Úc_nvmlDramEncryptionInfo_ti:  rË  ÚencryptionStatec                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rr
  ry  ÚnvmlDramEncryptionInfo_v1ri  s    €r  ry  Ú#c_nvmlDramEncryptionInfo_t.__init__@  s   ø€ ÜÔ(¨$Ñ8ÔAZÐ8Ò[r  r  )
r  r  r  r  r³  rŠ  r€  ry  r  r¥  r¦  s   @r  rr
  rr
  :  s'   ø† à	�FÐØ	Ð/Ð0ð€H÷
\ó \r  rr
  c                 ó¾   • [        5       n[        5       n[        S5      nU" U [        U5      [        U5      5      n[        U5        UR                  UR                  /$ )NÚnvmlDeviceGetDramEncryptionMode)rr
  rt  r(  rk  rs
  r  s        r  rx
  rx
  C  sT   € Ü,Ó.€KÜ/Ó1€NÜ	 Ð!BÓ	C€BÙ
ˆV”U˜;Ó'¬¨~Ó)>Ó
?€CÜ�SÔØ×'Ñ'¨×)GÑ)GÐHÐHr  c                 ó   • [        U 5      S   $ r  ©rx
  rI  s    r  Ú&nvmlDeviceGetCurrentDramEncryptionModer{
  L  ó   € Ü*¨6Ó2°1Ñ5Ð5r  c                 ó   • [        U 5      S   $ r  rz
  rI  s    r  Ú&nvmlDeviceGetPendingDramEncryptionModer~
  P  r|
  r  c                 ót   • [        S5      n[        5       nXl        U" U [        U5      5      n[	        U5        g )NÚnvmlDeviceSetDramEncryptionMode)rt  rr
  rs
  r(  rk  )rï  r$  r+  Úc_dramEncryptionModerj  s        r  r€
  r€
  S  s9   € Ü	 Ð!BÓ	C€BÜ5Ó7ÐØ+/Ô(Ù
ˆV”UÐ/Ó0Ó
1€CÜ�SÔØr  c                   ó8   ^ • \ rS rSrS\4S\4/rU 4S jrSrU =r$ )Úc_nvmlPowerSmoothingState_v1_tii  rË  r»  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rƒ
  ry  ÚnvmlPowerSmoothingState_v1ri  s    €r  ry  Ú'c_nvmlPowerSmoothingState_v1_t.__init__o  s   ø€ ÜÔ,¨dÑ<ÔE_Ð<Ò`r  r  r  r¦  s   @r  rƒ
  rƒ
  i  s&   ø† à	�FÐØ	�&Ðð€H÷
aó ar  rƒ
  c                   óD   ^ • \ rS rSrS\4S\4S\4S\4/rU 4S jrSrU =r	$ )Ú c_nvmlPowerSmoothingProfile_v1_tis  rË  r@  ÚparamIdr  c                 ó0   >• [         [        U ]  [        S9  g rf  )r�  rˆ
  ry  ÚnvmlPowerSmoothingProfile_v1ri  s    €r  ry  Ú)c_nvmlPowerSmoothingProfile_v1_t.__init__{  s   ø€ ÜÔ.°Ñ>ÔGcÐ>Òdr  r  )
r  r  r  r  r³  rH  r€  ry  r  r¥  r¦  s   @r  rˆ
  rˆ
  s  s6   ø† à	�FÐØ	�fÐØ	�FÐØ	�(Ðð	€H÷eó er  rˆ
  c                 ó@   • [        S5      nU" X5      n[        U5        g )NÚ-nvmlDevicePowerSmoothingActivatePresetProfiler‰  ©rÎ  r¾  r+  rj  s       r  rŽ
  rŽ
  ~  s   € Ü	 Ð!PÓ	Q€BÙ
ˆVÓ
€CÜ�SÕr  c                 ó@   • [        S5      nU" X5      n[        U5        g )NÚ0nvmlDevicePowerSmoothingUpdatePresetProfileParamr‰  r�
  s       r  r‘
  r‘
  ƒ  s   € Ü	 Ð!SÓ	T€BÙ
ˆVÓ
€CÜ�SÕr  c                 ó@   • [        S5      nU" X5      n[        U5        g )NÚ nvmlDevicePowerSmoothingSetStater‰  )rÎ  r»  r+  rj  s       r  r“
  r“
  ˆ  s   € Ü	 Ð!CÓ	D€BÙ
ˆVÓ
€CÜ�SÕr  c                   óB   • \ rS rSrS\4S\4S\4S\4S\4S\4S\4/rS	rg
)Ú-c_nvmlEccSramUniqueUncorrectedErrorEntry_v1_ti�  rü  ÚlocationÚsublocationÚextlocationr  ÚisParityrÆ  r  Nr²  r  r  r  r•
  r•
  �  sA   † à	�ÐØ	�VÐØ	˜ÐØ	˜ÐØ	�FÐØ	�VÐØ	�&ÐðƒHr  r•
  c                   óJ   ^ • \ rS rSrS\4S\4S\" \5      4/rU 4S jrSr	U =r
$ )Ú.c_nvmlEccSramUniqueUncorrectedErrorCounts_v1_ti˜  rË  Ú
entryCountÚentriesc                 ó0   >• [         [        U ]  [        S9  g rf  )r�  r›
  ry  Ú*nvmlEccSramUniqueUncorrectedErrorCounts_v1ri  s    €r  ry  Ú7c_nvmlEccSramUniqueUncorrectedErrorCounts_v1_t.__init__Ÿ  rN
  r  r  )r  r  r  r  r³  rö  r•
  r€  ry  r  r¥  r¦  s   @r  r›
  r›
  ˜  s4   ø† à	�FÐØ	�vÐØ	‘GÐIÓJÐKð€H÷Aó Ar  r›
  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚ0nvmlDeviceGetSramUniqueUncorrectedEccErrorCountsrÆ  )rÎ  Úcountsr+  rj  s       r  r¢
  r¢
  £  s%   € Ü	 Ð!SÓ	T€BÙ
ˆVÓ
€CÜ�SÔÜÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetPdi)rú  rt  r(  rk  r  )rÎ  Úc_pdir+  rj  s       r  r¥
  r¥
  ©  s6   € Ü‹M€EÜ	 Ð!3Ó	4€BÙ
ˆV”U˜5“\Ó
"€CÜ�SÔØ�;‰;Ðr  c                 óJ   • [        S5      nU" X5      n[        U5        [        $ )NÚnvmlDeviceGetNvLinkInforÆ  rJ	  s       r  r¨
  r¨
  °  s%   € Ü	 Ð!:Ó	;€BÙ
ˆVÓ
€CÜ�SÔÜÐr  c                 ó–   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  UR
                  /$ )NÚnvmlDeviceGetRepairStatus)r   rt  r(  rk  r  r  ©rÎ  Úc_statusr+  rj  s       r  rª
  rª
  ¶  sD   € Ü#Ó%€HÜ	 Ð!<Ó	=€BÙ
ˆV”U˜8“_Ó
%€CÜ�SÔØ×*Ñ*¨H×,FÑ,FÐGÐGr  c                 ót   • [        5       n[        S5      nXl        U" U [        U5      5      n[	        U5        g )NÚnvmlDeviceSetHostname_v1)r2
  rt  r  r(  rk  )rÎ  ÚhostnameÚ
c_hostnamer+  rj  s        r  r®
  r®
  ½  s7   € ä$Ó&€JÜ	 Ð!;Ó	<€BØÔÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚnvmlDeviceGetHostname_v1)r2
  rt  r(  rk  r  )rÎ  r°
  r+  rj  s       r  r²
  r²
  Æ  s:   € Ü$Ó&€JÜ	 Ð!;Ó	<€BÙ
ˆV”U˜:Ó&Ó
'€CÜ�SÔØ×ÑÐr  c                 ó~   • [        5       n[        S5      nU" U [        U5      5      n[        U5        UR                  $ )NÚ&nvmlDeviceGetUnrepairableMemoryFlag_v1)r2  rt  r(  rk  r3  r«
  s       r  r´
  r´
  Í  s9   € Ü,Ó.€HÜ	 Ð!IÓ	J€BÙ
ˆV”U˜8“_Ó
%€CÜ�SÔØ×&Ñ&Ð&r  l   ÿÿÿÿ c                   ó@   ^ • \ rS rSrS\4S\4/rSS0rU 4S jrSr	U =r
$ )Úc_nvmlRusdSettings_v1_tiá  rË  ÚpollMaskz0x%016Xc                 ó@   >• [         [        U ]  5         [        U l        g r,  )r�  r¶
  ry  ÚnvmlRusdSettings_v1rË  ri  s    €r  ry  Ú c_nvmlRusdSettings_v1_t.__init__è  s   ø€ ÜÔ% tÑ5Ô7Ü*ˆ�r  rg  )r  r  r  r  r³  rð  r€  r•  ry  r  r¥  r¦  s   @r  r¶
  r¶
  á  s0   ø† à	�FÐØ	�[Ð!ð€Hð ˜Ð#€E÷+ó +r  r¶
  c                 óT   • [        S5      nU" U [        U5      5      n[        U5        g )NÚnvmlDeviceSetRusdSettings_v1r'  )rÎ  r‰	  r+  rj  s       r  r¼
  r¼
  ì  s%   € Ü	 Ð!?Ó	@€BÙ
ˆV”U˜8“_Ó
%€CÜ�SÕr  c                   ó<   • \ rS rSrS\4S\4S\4S\4S\4S\4/rSrg	)
Úc_nvmlRemappedRowsInfo_v2_tiñ  ÚcorrActiveRemapsÚcorrInactiveRemapsÚuncActiveRemapsÚuncInactiveRemapsÚbPendingÚbfailureOccurredr  Nr²  r  r  r  r¾
  r¾
  ñ  s9   † à	˜VÐ$Ø	˜vÐ&Ø	˜FÐ#Ø	˜fÐ%Ø	�VÐØ	˜VÐ$ðƒHr  r¾
  c                 óB   • [        S5      nU" X5      n[        U5        U$ )NÚnvmlDeviceGetRemappedRows_v2r‰  rJ	  s       r  rÆ
  rÆ
  û  s$   € Ü	 Ð!?Ó	@€BÙ
ˆVÓ
€CÜ�SÔØ€Jr  r,  )r   r   )NN(;  ÚctypesÚctypes.utilr   Ú	functoolsr   rV  rÌ  Ú	threadingrZ  r³  rŠ  ÚNVML_FEATURE_DISABLEDÚNVML_FEATURE_ENABLEDrC  ÚNVML_BRAND_UNKNOWNÚNVML_BRAND_QUADROÚNVML_BRAND_TESLAÚNVML_BRAND_NVSÚNVML_BRAND_GRIDÚNVML_BRAND_GEFORCEÚNVML_BRAND_TITANÚNVML_BRAND_NVIDIA_VAPPSÚNVML_BRAND_NVIDIA_VPCÚNVML_BRAND_NVIDIA_VCSÚNVML_BRAND_NVIDIA_VWSÚNVML_BRAND_NVIDIA_CLOUD_GAMINGÚNVML_BRAND_NVIDIA_VGAMINGÚNVML_BRAND_QUADRO_RTXÚNVML_BRAND_NVIDIA_RTXÚNVML_BRAND_NVIDIAÚNVML_BRAND_GEFORCE_RTXÚNVML_BRAND_TITAN_RTXÚNVML_BRAND_COUNTrä  Ú#NVML_TEMPERATURE_THRESHOLD_SHUTDOWNÚ#NVML_TEMPERATURE_THRESHOLD_SLOWDOWNÚ"NVML_TEMPERATURE_THRESHOLD_MEM_MAXÚ"NVML_TEMPERATURE_THRESHOLD_GPU_MAXÚ'NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MINÚ(NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_CURRÚ'NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MAXÚ#NVML_TEMPERATURE_THRESHOLD_GPS_CURRÚ NVML_TEMPERATURE_THRESHOLD_COUNTrÙ  ÚNVML_TEMPERATURE_GPUÚNVML_TEMPERATURE_COUNTr!  ÚNVML_COMPUTEMODE_DEFAULTÚ!NVML_COMPUTEMODE_EXCLUSIVE_THREADÚNVML_COMPUTEMODE_PROHIBITEDÚ"NVML_COMPUTEMODE_EXCLUSIVE_PROCESSÚNVML_COMPUTEMODE_COUNTr<  ÚNVML_MEMORY_LOCATION_L1_CACHEÚNVML_MEMORY_LOCATION_L2_CACHEÚ"NVML_MEMORY_LOCATION_DEVICE_MEMORYÚNVML_MEMORY_LOCATION_DRAMÚ"NVML_MEMORY_LOCATION_REGISTER_FILEÚ#NVML_MEMORY_LOCATION_TEXTURE_MEMORYÚ NVML_MEMORY_LOCATION_TEXTURE_SHMÚNVML_MEMORY_LOCATION_CBUÚNVML_MEMORY_LOCATION_SRAMÚNVML_MEMORY_LOCATION_COUNTÚNVML_NVLINK_MAX_LINKSÚNVML_NVLINK_MAX_LANESÚ_nvmlNvLinkErrorCounter_tÚNVML_NVLINK_ERROR_DL_REPLAYÚNVML_NVLINK_ERROR_DL_RECOVERYÚNVML_NVLINK_ERROR_DL_CRC_FLITÚNVML_NVLINK_ERROR_DL_CRC_DATAÚNVML_NVLINK_ERROR_DL_ECC_DATAÚNVML_NVLINK_ERROR_COUNTÚ _nvmlNvLinkEccLaneErrorCounter_tÚNVML_NVLINK_ERROR_DL_ECC_LANE0ÚNVML_NVLINK_ERROR_DL_ECC_LANE1ÚNVML_NVLINK_ERROR_DL_ECC_LANE2ÚNVML_NVLINK_ERROR_DL_ECC_LANE3ÚNVML_NVLINK_ERROR_DL_ECC_COUNTÚ_nvmlNvLinkCapability_tÚNVML_NVLINK_CAP_P2P_SUPPORTEDÚNVML_NVLINK_CAP_SYSMEM_ACCESSÚNVML_NVLINK_CAP_P2P_ATOMICSÚNVML_NVLINK_CAP_SYSMEM_ATOMICSÚNVML_NVLINK_CAP_SLI_BRIDGEÚNVML_NVLINK_CAP_VALIDÚNVML_NVLINK_CAP_COUNTrý  Ú!NVML_NVLINK_COUNTER_PKTFILTER_NOPÚ"NVML_NVLINK_COUNTER_PKTFILTER_READÚ#NVML_NVLINK_COUNTER_PKTFILTER_WRITEÚ#NVML_NVLINK_COUNTER_PKTFILTER_RATOMÚ$NVML_NVLINK_COUNTER_PKTFILTER_NRATOMÚ#NVML_NVLINK_COUNTER_PKTFILTER_FLUSHÚ&NVML_NVLINK_COUNTER_PKTFILTER_RESPDATAÚ(NVML_NVLINK_COUNTER_PKTFILTER_RESPNODATAÚ!NVML_NVLINK_COUNTER_PKTFILTER_ALLrü  ÚNVML_NVLINK_COUNTER_UNIT_CYCLESÚ NVML_NVLINK_COUNTER_UNIT_PACKETSÚNVML_NVLINK_COUNTER_UNIT_BYTESÚ!NVML_NVLINK_COUNTER_UNIT_RESERVEDÚNVML_NVLINK_COUNTER_UNIT_COUNTrU  ÚNVML_NVLINK_DEVICE_TYPE_GPUÚNVML_NVLINK_DEVICE_TYPE_IBMNPUÚNVML_NVLINK_DEVICE_TYPE_SWITCHÚNVML_NVLINK_DEVICE_TYPE_UNKNOWNÚ_nvmlEccBitType_tÚNVML_SINGLE_BIT_ECCÚNVML_DOUBLE_BIT_ECCÚNVML_ECC_ERROR_TYPE_COUNTr4  ÚNVML_VOLATILE_ECCÚNVML_AGGREGATE_ECCÚNVML_ECC_COUNTER_TYPE_COUNTr3  Ú NVML_MEMORY_ERROR_TYPE_CORRECTEDÚ"NVML_MEMORY_ERROR_TYPE_UNCORRECTEDÚNVML_MEMORY_ERROR_TYPE_COUNTr›  ÚNVML_CLOCK_GRAPHICSÚNVML_CLOCK_SMÚNVML_CLOCK_MEMÚNVML_CLOCK_VIDEOÚNVML_CLOCK_COUNTr¦  ÚNVML_CLOCK_ID_CURRENTÚNVML_CLOCK_ID_APP_CLOCK_TARGETÚNVML_CLOCK_ID_APP_CLOCK_DEFAULTÚ NVML_CLOCK_ID_CUSTOMER_BOOST_MAXÚNVML_CLOCK_ID_COUNTrS  ÚNVML_DRIVER_WDDMÚNVML_DRIVER_WDMÚNVML_DRIVER_MCDMr[	  rð  ÚNVML_PSTATE_0ÚNVML_PSTATE_1ÚNVML_PSTATE_2ÚNVML_PSTATE_3ÚNVML_PSTATE_4ÚNVML_PSTATE_5ÚNVML_PSTATE_6ÚNVML_PSTATE_7ÚNVML_PSTATE_8ÚNVML_PSTATE_9ÚNVML_PSTATE_10ÚNVML_PSTATE_11ÚNVML_PSTATE_12ÚNVML_PSTATE_13ÚNVML_PSTATE_14ÚNVML_PSTATE_15r]	  ry  ÚNVML_INFOROM_OEMÚNVML_INFOROM_ECCÚNVML_INFOROM_POWERÚNVML_INFOROM_DENÚNVML_INFOROM_COUNTr`  ri  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  ÚNVML_ERROR_IN_USErC  ÚNVML_ERROR_NO_DATAÚ!NVML_ERROR_VGPU_ECC_NOT_SUPPORTEDÚ!NVML_ERROR_INSUFFICIENT_RESOURCESÚNVML_ERROR_FREQ_NOT_SUPPORTEDr˜  ÚNVML_ERROR_DEPRECATEDÚNVML_ERROR_NOT_READYÚNVML_ERROR_GPU_NOT_FOUNDÚNVML_ERROR_INVALID_STATEÚ#NVML_ERROR_RESET_TYPE_NOT_SUPPORTEDrD  rÂ  ÚNVML_FAN_NORMALÚNVML_FAN_FAILEDrÔ  Ú(NVML_FAN_POLICY_TEMPERATURE_CONTINOUS_SWÚNVML_FAN_POLICY_MANUALr¸  ÚNVML_LED_COLOR_GREENÚNVML_LED_COLOR_AMBERr  ÚNVML_GOM_ALL_ONÚNVML_GOM_COMPUTEÚNVML_GOM_LOW_DPrü  Ú9NVML_PAGE_RETIREMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORSÚ/NVML_PAGE_RETIREMENT_CAUSE_DOUBLE_BIT_ECC_ERRORÚ NVML_PAGE_RETIREMENT_CAUSE_COUNTr  Ú*NVML_RESTRICTED_API_SET_APPLICATION_CLOCKSÚ+NVML_RESTRICTED_API_SET_AUTO_BOOSTED_CLOCKSÚNVML_RESTRICTED_API_COUNTr+  ÚNVML_BRIDGE_CHIP_PLXÚNVML_BRIDGE_CHIP_BRO4ÚNVML_MAX_PHYSICAL_BRIDGEr_  ÚNVML_VALUE_TYPE_DOUBLEÚNVML_VALUE_TYPE_UNSIGNED_INTÚNVML_VALUE_TYPE_UNSIGNED_LONGÚ"NVML_VALUE_TYPE_UNSIGNED_LONG_LONGÚ NVML_VALUE_TYPE_SIGNED_LONG_LONGÚNVML_VALUE_TYPE_SIGNED_INTÚNVML_VALUE_TYPE_UNSIGNED_SHORTÚNVML_VALUE_TYPE_COUNTÚ_nvmlNvlinkVersion_tÚNVML_NVLINK_VERSION_INVALIDÚNVML_NVLINK_VERSION_1_0ÚNVML_NVLINK_VERSION_2_0ÚNVML_NVLINK_VERSION_2_2ÚNVML_NVLINK_VERSION_3_0ÚNVML_NVLINK_VERSION_3_1ÚNVML_NVLINK_VERSION_4_0ÚNVML_NVLINK_VERSION_5_0ÚNVML_NVLINK_VERSION_6_0r   ÚNVML_PERF_POLICY_POWERÚNVML_PERF_POLICY_THERMALÚNVML_PERF_POLICY_SYNC_BOOSTÚNVML_PERF_POLICY_BOARD_LIMITÚ NVML_PERF_POLICY_LOW_UTILIZATIONÚNVML_PERF_POLICY_RELIABILITYÚ!NVML_PERF_POLICY_TOTAL_APP_CLOCKSÚ"NVML_PERF_POLICY_TOTAL_BASE_CLOCKSÚNVML_PERF_POLICY_COUNTr,  ÚNVML_ENCODER_QUERY_H264ÚNVML_ENCODER_QUERY_HEVCÚNVML_ENCODER_QUERY_AV1ÚNVML_ENCODER_QUERY_UNKNOWNÚ_nvmlFBCSessionType_tÚNVML_FBC_SESSION_TYPE_UNKNOWNÚNVML_FBC_SESSION_TYPE_TOSYSÚNVML_FBC_SESSION_TYPE_CUDAÚNVML_FBC_SESSION_TYPE_VIDÚNVML_FBC_SESSION_TYPE_HWENCÚ_nvmlDetachGpuState_tÚNVML_DETACH_GPU_KEEPÚNVML_DETACH_GPU_REMOVEÚ_nvmlPcieLinkState_tÚNVML_PCIE_LINK_KEEPÚNVML_PCIE_LINK_SHUT_DOWNr  ÚNVML_TOTAL_POWER_SAMPLESÚNVML_GPU_UTILIZATION_SAMPLESÚNVML_MEMORY_UTILIZATION_SAMPLESÚNVML_ENC_UTILIZATION_SAMPLESÚNVML_DEC_UTILIZATION_SAMPLESÚNVML_PROCESSOR_CLK_SAMPLESÚNVML_MEMORY_CLK_SAMPLESÚNVML_MODULE_POWER_SAMPLESÚNVML_JPG_UTILIZATION_SAMPLESÚNVML_OFA_UTILIZATION_SAMPLESÚNVML_SAMPLINGTYPE_COUNTr&  ÚNVML_PCIE_UTIL_TX_BYTESÚNVML_PCIE_UTIL_RX_BYTESÚNVML_PCIE_UTIL_COUNTr1  ÚNVML_TOPOLOGY_INTERNALÚNVML_TOPOLOGY_SINGLEÚNVML_TOPOLOGY_MULTIPLEÚNVML_TOPOLOGY_HOSTBRIDGEÚNVML_TOPOLOGY_NODEÚNVML_TOPOLOGY_CPUÚNVML_TOPOLOGY_SYSTEMÚ_nvmlGpuP2PCapsIndex_tÚNVML_P2P_CAPS_INDEX_READÚNVML_P2P_CAPS_INDEX_WRITEÚNVML_P2P_CAPS_INDEX_NVLINKÚNVML_P2P_CAPS_INDEX_ATOMICSÚNVML_P2P_CAPS_INDEX_PROPÚNVML_P2P_CAPS_INDEX_PCIÚNVML_P2P_CAPS_INDEX_UNKNOWNr  ÚNVML_P2P_STATUS_OKÚ$NVML_P2P_STATUS_CHIPSET_NOT_SUPPOREDÚ%NVML_P2P_STATUS_CHIPSET_NOT_SUPPORTEDÚ!NVML_P2P_STATUS_GPU_NOT_SUPPORTEDÚ*NVML_P2P_STATUS_IOH_TOPOLOGY_NOT_SUPPORTEDÚ"NVML_P2P_STATUS_DISABLED_BY_REGKEYÚNVML_P2P_STATUS_NOT_SUPPORTEDÚNVML_P2P_STATUS_UNKNOWNr	  ÚNVML_DEVICE_ARCH_KEPLERÚNVML_DEVICE_ARCH_MAXWELLÚNVML_DEVICE_ARCH_PASCALÚNVML_DEVICE_ARCH_VOLTAÚNVML_DEVICE_ARCH_TURINGÚNVML_DEVICE_ARCH_AMPEREÚNVML_DEVICE_ARCH_ADAÚNVML_DEVICE_ARCH_HOPPERÚNVML_DEVICE_ARCH_BLACKWELLÚNVML_DEVICE_ARCH_RUBINÚNVML_DEVICE_ARCH_UNKNOWNr	  ÚNVML_BUS_TYPE_UNKNOWNÚNVML_BUS_TYPE_PCIÚNVML_BUS_TYPE_PCIEÚNVML_BUS_TYPE_FPCIÚNVML_BUS_TYPE_AGPr!	  ÚNVML_POWER_SOURCE_ACÚNVML_POWER_SOURCE_BATTERYÚNVML_POWER_SOURCE_UNDERSIZEDr,	  Ú+NVML_ADAPTIVE_CLOCKING_INFO_STATUS_DISABLEDÚ*NVML_ADAPTIVE_CLOCKING_INFO_STATUS_ENABLEDÚ_nvmlClockLimitId_tÚNVML_CLOCK_LIMIT_ID_RANGE_STARTÚNVML_CLOCK_LIMIT_ID_TDPÚNVML_CLOCK_LIMIT_ID_UNLIMITEDr(	  Ú NVML_PCIE_LINK_MAX_SPEED_INVALIDÚ!NVML_PCIE_LINK_MAX_SPEED_2500MBPSÚ!NVML_PCIE_LINK_MAX_SPEED_5000MBPSÚ!NVML_PCIE_LINK_MAX_SPEED_8000MBPSÚ"NVML_PCIE_LINK_MAX_SPEED_16000MBPSÚ"NVML_PCIE_LINK_MAX_SPEED_32000MBPSÚ"NVML_PCIE_LINK_MAX_SPEED_64000MBPSÚ_nvmlPcieAtomicsCapability_tÚ NVML_PCIE_ATOMICS_CAP_FETCHADD32Ú NVML_PCIE_ATOMICS_CAP_FETCHADD64ÚNVML_PCIE_ATOMICS_CAP_SWAP32ÚNVML_PCIE_ATOMICS_CAP_SWAP64ÚNVML_PCIE_ATOMICS_CAP_CAS32ÚNVML_PCIE_ATOMICS_CAP_CAS64ÚNVML_PCIE_ATOMICS_CAP_CAS128ÚNVML_PCIE_ATOMICS_OPS_MAXrZ  ÚNVML_AFFINITY_SCOPE_NODEÚNVML_AFFINITY_SCOPE_SOCKETÚ_nvmlDeviceGpuRecoveryAction_tÚNVML_GPU_RECOVERY_ACTION_NONEÚ"NVML_GPU_RECOVERY_ACTION_GPU_RESETÚ$NVML_GPU_RECOVERY_ACTION_NODE_REBOOTÚ"NVML_GPU_RECOVERY_ACTION_DRAIN_P2PÚ(NVML_GPU_RECOVERY_ACTION_DRAIN_AND_RESETÚ,NVML_GPU_RECOVERY_ACTION_RECOVER_IMEX_DOMAINÚnvmlFlagDefaultÚnvmlFlagForceÚNVML_INIT_FLAG_NO_GPUSÚNVML_INIT_FLAG_NO_ATTACHÚNVML_INIT_FLAG_FORCE_INITÚNVML_MAX_GPC_COUNTrx  rë  ru  ræ  rÙ  r±  r=  rQ  rM  Ú'NVML_DEVICE_GPU_PART_NUMBER_BUFFER_SIZErc  r×  rß  rØ  r¡  rÞ  r\	  r¾  rÃ  Ú+NVML_DEVICE_GPU_FRU_PART_NUMBER_BUFFER_SIZEr/  Ú!NVML_DEVICE_PCI_BUS_ID_LEGACY_FMTÚNVML_DEVICE_PCI_BUS_ID_FMTrð  rg  ÚNVML_VALUE_NOT_AVAILABLE_uintÚNVML_FI_DEV_ECC_CURRENTÚNVML_FI_DEV_ECC_PENDINGÚNVML_FI_DEV_ECC_SBE_VOL_TOTALÚNVML_FI_DEV_ECC_DBE_VOL_TOTALÚNVML_FI_DEV_ECC_SBE_AGG_TOTALÚNVML_FI_DEV_ECC_DBE_AGG_TOTALÚNVML_FI_DEV_ECC_SBE_VOL_L1ÚNVML_FI_DEV_ECC_DBE_VOL_L1ÚNVML_FI_DEV_ECC_SBE_VOL_L2ÚNVML_FI_DEV_ECC_DBE_VOL_L2ÚNVML_FI_DEV_ECC_SBE_VOL_DEVÚNVML_FI_DEV_ECC_DBE_VOL_DEVÚNVML_FI_DEV_ECC_SBE_VOL_REGÚNVML_FI_DEV_ECC_DBE_VOL_REGÚNVML_FI_DEV_ECC_SBE_VOL_TEXÚNVML_FI_DEV_ECC_DBE_VOL_TEXÚNVML_FI_DEV_ECC_DBE_VOL_CBUÚNVML_FI_DEV_ECC_SBE_AGG_L1ÚNVML_FI_DEV_ECC_DBE_AGG_L1ÚNVML_FI_DEV_ECC_SBE_AGG_L2ÚNVML_FI_DEV_ECC_DBE_AGG_L2ÚNVML_FI_DEV_ECC_SBE_AGG_DEVÚNVML_FI_DEV_ECC_DBE_AGG_DEVÚNVML_FI_DEV_ECC_SBE_AGG_REGÚNVML_FI_DEV_ECC_DBE_AGG_REGÚNVML_FI_DEV_ECC_SBE_AGG_TEXÚNVML_FI_DEV_ECC_DBE_AGG_TEXÚNVML_FI_DEV_ECC_DBE_AGG_CBUÚNVML_FI_DEV_RETIRED_SBEÚNVML_FI_DEV_RETIRED_DBEÚNVML_FI_DEV_RETIRED_PENDINGÚ*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L0Ú*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L1Ú*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L2Ú*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L3Ú*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L4Ú*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L5Ú-NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_TOTALÚ*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L0Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L1Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L2Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L3Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L4Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L5Ú-NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_TOTALÚ(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L0Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L1Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L2Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L3Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L4Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L5Ú+NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_TOTALÚ*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L0Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L1Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L2Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L3Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L4Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L5Ú-NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_TOTALÚ"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L0Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L1Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L2Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L3Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L4Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L5Ú%NVML_FI_DEV_NVLINK_BANDWIDTH_C0_TOTALÚ"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L0Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L1Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L2Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L3Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L4Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L5Ú%NVML_FI_DEV_NVLINK_BANDWIDTH_C1_TOTALÚNVML_FI_DEV_PERF_POLICY_POWERÚNVML_FI_DEV_PERF_POLICY_THERMALÚ"NVML_FI_DEV_PERF_POLICY_SYNC_BOOSTÚ#NVML_FI_DEV_PERF_POLICY_BOARD_LIMITÚ'NVML_FI_DEV_PERF_POLICY_LOW_UTILIZATIONÚ#NVML_FI_DEV_PERF_POLICY_RELIABILITYÚ(NVML_FI_DEV_PERF_POLICY_TOTAL_APP_CLOCKSÚ)NVML_FI_DEV_PERF_POLICY_TOTAL_BASE_CLOCKSÚNVML_FI_DEV_MEMORY_TEMPÚ$NVML_FI_DEV_TOTAL_ENERGY_CONSUMPTIONÚ NVML_FI_DEV_NVLINK_SPEED_MBPS_L0Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L1Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L2Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L3Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L4Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L5Ú$NVML_FI_DEV_NVLINK_SPEED_MBPS_COMMONÚNVML_FI_DEV_NVLINK_LINK_COUNTÚNVML_FI_DEV_RETIRED_PENDING_SBEÚNVML_FI_DEV_RETIRED_PENDING_DBEÚNVML_FI_DEV_PCIE_REPLAY_COUNTERÚ(NVML_FI_DEV_PCIE_REPLAY_ROLLOVER_COUNTERÚ*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L6Ú*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L7Ú*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L8Ú*NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L9Ú+NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L10Ú+NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L11Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L6Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L7Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L8Ú*NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L9Ú+NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L10Ú+NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L11Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L6Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L7Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L8Ú(NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L9Ú)NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L10Ú)NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L11Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L6Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L7Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L8Ú*NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L9Ú+NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L10Ú+NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L11Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L6Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L7Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L8Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L9Ú#NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L10Ú#NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L11Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L6Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L7Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L8Ú"NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L9Ú#NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L10Ú#NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L11Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L6Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L7Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L8Ú NVML_FI_DEV_NVLINK_SPEED_MBPS_L9Ú!NVML_FI_DEV_NVLINK_SPEED_MBPS_L10Ú!NVML_FI_DEV_NVLINK_SPEED_MBPS_L11Ú%NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_TXÚ%NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_RXÚ$NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_TXÚ$NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_RXÚNVML_FI_DEV_REMAPPED_CORÚNVML_FI_DEV_REMAPPED_UNCÚNVML_FI_DEV_REMAPPED_PENDINGÚNVML_FI_DEV_REMAPPED_FAILUREÚ#NVML_FI_DEV_NVLINK_REMOTE_NVLINK_IDÚ)NVML_FI_DEV_NVSWITCH_CONNECTED_LINK_COUNTÚ*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L0Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L1Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L2Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L3Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L4Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L5Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L6Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L7Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L8Ú*NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L9Ú+NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L10Ú+NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L11Ú-NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_TOTALÚ"NVML_FI_DEV_NVLINK_ERROR_DL_REPLAYÚ$NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERYÚNVML_FI_DEV_NVLINK_ERROR_DL_CRCÚNVML_FI_DEV_NVLINK_GET_SPEEDÚNVML_FI_DEV_NVLINK_GET_STATEÚNVML_FI_DEV_NVLINK_GET_VERSIONÚ"NVML_FI_DEV_NVLINK_GET_POWER_STATEÚ&NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLDÚ'NVML_FI_DEV_PCIE_L0_TO_RECOVERY_COUNTERÚNVML_FI_DEV_C2C_LINK_COUNTÚNVML_FI_DEV_C2C_LINK_GET_STATUSÚNVML_FI_DEV_C2C_LINK_GET_MAX_BWÚ)NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORSÚ$NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVEDÚ%NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERRORÚNVML_FI_DEV_PCIE_COUNT_BAD_TLPÚ NVML_FI_DEV_PCIE_COUNT_NAKS_SENTÚNVML_FI_DEV_PCIE_COUNT_BAD_DLLPÚ&NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERRORÚ"NVML_FI_DEV_PCIE_COUNT_FATAL_ERRORÚ&NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQÚ!NVML_FI_DEV_PCIE_COUNT_LCRC_ERRORÚ!NVML_FI_DEV_PCIE_COUNT_LANE_ERRORÚ&NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTEDÚNVML_FI_DEV_POWER_AVERAGEÚNVML_FI_DEV_POWER_INSTANTÚNVML_FI_DEV_POWER_MIN_LIMITÚNVML_FI_DEV_POWER_MAX_LIMITÚNVML_FI_DEV_POWER_DEFAULT_LIMITÚNVML_FI_DEV_POWER_CURRENT_LIMITÚNVML_FI_DEV_ENERGYÚ!NVML_FI_DEV_POWER_REQUESTED_LIMITÚ'NVML_FI_DEV_TEMPERATURE_SHUTDOWN_TLIMITÚ'NVML_FI_DEV_TEMPERATURE_SLOWDOWN_TLIMITÚ&NVML_FI_DEV_TEMPERATURE_MEM_MAX_TLIMITÚ&NVML_FI_DEV_TEMPERATURE_GPU_MAX_TLIMITÚNVML_FI_DEV_PCIE_COUNT_TX_BYTESÚNVML_FI_DEV_PCIE_COUNT_RX_BYTESÚ5NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLEÚ*NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAXÚ%NVML_FI_DEV_NVLINK_COUNT_XMIT_PACKETSÚ#NVML_FI_DEV_NVLINK_COUNT_XMIT_BYTESÚ$NVML_FI_DEV_NVLINK_COUNT_RCV_PACKETSÚ"NVML_FI_DEV_NVLINK_COUNT_RCV_BYTESÚ%NVML_FI_DEV_NVLINK_COUNT_VL15_DROPPEDÚ0NVML_FI_DEV_NVLINK_COUNT_MALFORMED_PACKET_ERRORSÚ.NVML_FI_DEV_NVLINK_COUNT_BUFFER_OVERRUN_ERRORSÚ#NVML_FI_DEV_NVLINK_COUNT_RCV_ERRORSÚ*NVML_FI_DEV_NVLINK_COUNT_RCV_REMOTE_ERRORSÚ+NVML_FI_DEV_NVLINK_COUNT_RCV_GENERAL_ERRORSÚ4NVML_FI_DEV_NVLINK_COUNT_LOCAL_LINK_INTEGRITY_ERRORSÚ&NVML_FI_DEV_NVLINK_COUNT_XMIT_DISCARDSÚ8NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_SUCCESSFUL_EVENTSÚ4NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_FAILED_EVENTSÚ-NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_EVENTSÚ&NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0Ú&NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1Ú NVML_FI_DEV_NVLINK_COUNT_RAW_BERÚ)NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORSÚ&NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BERÚ&NVML_FI_DEV_NVLINK_COUNT_SYMBOL_ERRORSÚ#NVML_FI_DEV_NVLINK_COUNT_SYMBOL_BERÚ*NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MINÚ,NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_UNITSÚ0NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_SUPPORTEDÚNVML_FI_DEV_RESET_STATUSÚ"NVML_FI_DEV_DRAIN_AND_RESET_STATUSÚ&NVML_FI_DEV_PCIE_OUTBOUND_ATOMICS_MASKÚ%NVML_FI_DEV_PCIE_INBOUND_ATOMICS_MASKÚ#NVML_FI_DEV_GET_GPU_RECOVERY_ACTIONÚNVML_FI_DEV_C2C_LINK_ERROR_INTRÚ!NVML_FI_DEV_C2C_LINK_ERROR_REPLAYÚ%NVML_FI_DEV_C2C_LINK_ERROR_REPLAY_B2BÚ NVML_FI_DEV_C2C_LINK_POWER_STATEÚ&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_1Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_2Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_3Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_4Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_5Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_6Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_7Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_8Ú&NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_9Ú'NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_10Ú'NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_11Ú'NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_12Ú'NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_13Ú'NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_14Ú'NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_15ÚNVML_FI_PWR_SMOOTHING_ENABLEDÚNVML_FI_PWR_SMOOTHING_PRIV_LVLÚ+NVML_FI_PWR_SMOOTHING_IMM_RAMP_DOWN_ENABLEDÚ&NVML_FI_PWR_SMOOTHING_APPLIED_TMP_CEILÚ'NVML_FI_PWR_SMOOTHING_APPLIED_TMP_FLOORÚ3NVML_FI_PWR_SMOOTHING_MAX_PERCENT_TMP_FLOOR_SETTINGÚ3NVML_FI_PWR_SMOOTHING_MIN_PERCENT_TMP_FLOOR_SETTINGÚ=NVML_FI_PWR_SMOOTHING_HW_CIRCUITRY_PERCENT_LIFETIME_REMAININGÚ-NVML_FI_PWR_SMOOTHING_MAX_NUM_PRESET_PROFILESÚ/NVML_FI_PWR_SMOOTHING_PROFILE_PERCENT_TMP_FLOORÚ*NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_UP_RATEÚ,NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_RATEÚ0NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_HYST_VALÚ+NVML_FI_PWR_SMOOTHING_ACTIVE_PRESET_PROFILEÚ6NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PERCENT_TMP_FLOORÚ1NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_UP_RATEÚ3NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_RATEÚ7NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_HYST_VALÚ,NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_POWER_CAPÚ*NVML_FI_DEV_CLOCKS_EVENT_REASON_SYNC_BOOSTÚ1NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_THERM_SLOWDOWNÚ1NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_THERM_SLOWDOWNÚ7NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_POWER_BRAKE_SLOWDOWNÚ%NVML_FI_DEV_POWER_SYNC_BALANCING_FREQÚ#NVML_FI_DEV_POWER_SYNC_BALANCING_AFÚNVML_FI_DEV_EDPP_MULTIPLIERÚ)NVML_FI_PWR_SMOOTHING_PRIMARY_POWER_FLOORÚ+NVML_FI_PWR_SMOOTHING_SECONDARY_POWER_FLOORÚ2NVML_FI_PWR_SMOOTHING_MIN_PRIMARY_FLOOR_ACT_OFFSETÚ1NVML_FI_PWR_SMOOTHING_MIN_PRIMARY_FLOOR_ACT_POINTÚ'NVML_FI_PWR_SMOOTHING_WINDOW_MULTIPLIERÚ5NVML_FI_PWR_SMOOTHING_DELAYED_PWR_SMOOTHING_SUPPORTEDÚ3NVML_FI_PWR_SMOOTHING_PROFILE_SECONDARY_POWER_FLOORÚ8NVML_FI_PWR_SMOOTHING_PROFILE_PRIMARY_FLOOR_ACT_WIN_MULTÚ8NVML_FI_PWR_SMOOTHING_PROFILE_PRIMARY_FLOOR_TAR_WIN_MULTÚ6NVML_FI_PWR_SMOOTHING_PROFILE_PRIMARY_FLOOR_ACT_OFFSETÚ:NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_SECONDARY_POWER_FLOORÚ?NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PRIMARY_FLOOR_ACT_WIN_MULTÚ?NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PRIMARY_FLOOR_TAR_WIN_MULTÚ=NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PRIMARY_FLOOR_ACT_OFFSETÚ)NVML_FI_DEV_NVLINK_COUNT_RAW_ERRORS_LANE0Ú)NVML_FI_DEV_NVLINK_COUNT_RAW_ERRORS_LANE1Ú)NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0_V2Ú)NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1_V2Ú#NVML_FI_DEV_NVLINK_COUNT_RAW_BER_V2Ú"NVML_FI_DEV_NVLINK_PLR_XMIT_BLOCKSÚ(NVML_FI_DEV_NVLINK_PLR_XMIT_RETRY_BLOCKSÚ NVML_FI_DEV_NVLINK_GET_DATA_RATEÚNVML_FI_DEV_MMA_STALL_PERCENTÚNVML_FI_DEV_MCLK_SWITCH_TYPEÚ1NVML_FI_DEV_MCLK_MIN_SWITCH_INTERVAL_MILLISECONDSÚ1NVML_FI_PWR_SMOOTHING_SOC_POWER_SMOOTHING_ENABLEDÚ&NVML_FI_DEV_REMAPPED_ROWS_COR_INACTIVEÚ&NVML_FI_DEV_REMAPPED_ROWS_UNC_INACTIVEÚNVML_FI_MAXÚ#NVML_MCLK_SWITCH_TYPE_NOT_SUPPORTEDÚNVML_MCLK_SWITCH_TYPE_DEFERREDÚNVML_MCLK_SWITCH_TYPE_RUNTIMEÚNVML_NVLINK_STATE_INACTIVEÚNVML_NVLINK_STATE_ACTIVEÚNVML_NVLINK_STATE_SLEEPÚ*NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_100USÚ)NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_50USÚNVML_C2C_POWER_STATE_FULL_POWERÚNVML_C2C_POWER_STATE_LOW_POWERÚ!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_VSGArp  ÚLockrn  rÃ  r¢  r“  Ú_nvmlVgpuVmIdType_tÚNVML_VGPU_VM_ID_DOMAIN_IDÚNVML_VGPU_VM_ID_UUIDr×  Ú&NVML_GRID_LICENSE_FEATURE_CODE_UNKNOWNÚ#NVML_GRID_LICENSE_FEATURE_CODE_VGPUÚ)NVML_GRID_LICENSE_FEATURE_CODE_NVIDIA_RTXÚ+NVML_GRID_LICENSE_FEATURE_CODE_VWORKSTATIONÚ%NVML_GRID_LICENSE_FEATURE_CODE_GAMINGÚ&NVML_GRID_LICENSE_FEATURE_CODE_COMPUTErl  Ú_nvmlGridLicenseExpiryStatus_tÚ&NVML_GRID_LICENSE_EXPIRY_NOT_AVAILABLEÚ NVML_GRID_LICENSE_EXPIRY_INVALIDÚNVML_GRID_LICENSE_EXPIRY_VALIDÚ'NVML_GRID_LICENSE_EXPIRY_NOT_APPLICABLEÚ"NVML_GRID_LICENSE_EXPIRY_PERMANENTr	  ÚNVML_VGPU_CAP_NVLINK_P2PÚNVML_VGPU_CAP_GPUDIRECTÚ"NVML_VGPU_CAP_MULTI_VGPU_EXCLUSIVEÚNVML_VGPU_CAP_EXCLUSIVE_TYPEÚNVML_VGPU_CAP_EXCLUSIVE_SIZEÚNVML_VGPU_CAP_COUNTr—  Ú-NVML_VGPU_DRIVER_CAP_HETEROGENEOUS_MULTI_VGPUÚ NVML_VGPU_DRIVER_CAP_WARM_UPDATEÚNVML_VGPU_DRIVER_CAP_COUNTrš  Ú*NVML_DEVICE_VGPU_CAP_FRACTIONAL_MULTI_VGPUÚ5NVML_DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_PROFILESÚ2NVML_DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_SIZESÚ*NVML_DEVICE_VGPU_CAP_READ_DEVICE_BUFFER_BWÚ+NVML_DEVICE_VGPU_CAP_WRITE_DEVICE_BUFFER_BWÚ%NVML_DEVICE_VGPU_CAP_DEVICE_STREAMINGÚ%NVML_DEVICE_VGPU_CAP_MINI_QUARTER_GPUÚ-NVML_DEVICE_VGPU_CAP_COMPUTE_MEDIA_ENGINE_GPUÚ NVML_DEVICE_VGPU_CAP_WARM_UPDATEÚ+NVML_DEVICE_VGPU_CAP_HOMOGENEOUS_PLACEMENTSÚ.NVML_DEVICE_VGPU_CAP_MIG_TIMESLICING_SUPPORTEDÚ,NVML_DEVICE_VGPU_CAP_MIG_TIMESLICING_ENABLEDÚNVML_DEVICE_VGPU_CAP_COUNTr½  Ú1NVML_VGPU_INSTANCE_GUEST_INFO_STATE_UNINITIALIZEDÚ/NVML_VGPU_INSTANCE_GUEST_INFO_STATE_INITIALIZEDrÈ  ÚNVML_VGPU_VM_COMPATIBILITY_NONEÚNVML_VGPU_VM_COMPATIBILITY_COLDÚ$NVML_VGPU_VM_COMPATIBILITY_HIBERNATEÚ NVML_VGPU_VM_COMPATIBILITY_SLEEPÚNVML_VGPU_VM_COMPATIBILITY_LIVErÉ  Ú"NVML_VGPU_COMPATIBILITY_LIMIT_NONEÚ)NVML_VGPU_COMPATIBILITY_LIMIT_HOST_DRIVERÚ*NVML_VGPU_COMPATIBILITY_LIMIT_GUEST_DRIVERÚ!NVML_VGPU_COMPATIBILITY_LIMIT_GPUÚ#NVML_VGPU_COMPATIBILITY_LIMIT_OTHERr²  ÚNVML_HOST_VGPU_MODE_NON_SRIOVÚNVML_HOST_VGPU_MODE_SRIOVÚ _nvmlConfComputeGpusReadyState_tÚ'NVML_CC_ACCEPTING_CLIENT_REQUESTS_FALSEÚ&NVML_CC_ACCEPTING_CLIENT_REQUESTS_TRUEÚ_nvmlConfComputeGpuCaps_tÚ"NVML_CC_SYSTEM_GPUS_CC_NOT_CAPABLEÚNVML_CC_SYSTEM_GPUS_CC_CAPABLEÚ_nvmlConfComputeCpuCaps_tÚNVML_CC_SYSTEM_CPU_CAPS_NONEÚNVML_CC_SYSTEM_CPU_CAPS_AMD_SEVÚ!NVML_CC_SYSTEM_CPU_CAPS_INTEL_TDXÚ#NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV_SNPÚ$NVML_CC_SYSTEM_CPU_CAPS_AMD_SNP_VTOMÚ_nvmlConfComputeDevToolsMode_tÚ NVML_CC_SYSTEM_DEVTOOLS_MODE_OFFÚNVML_CC_SYSTEM_DEVTOOLS_MODE_ONÚNVML_CC_SYSTEM_MULTIGPU_NONEÚ&NVML_CC_SYSTEM_MULTIGPU_PROTECTED_PCIEÚNVML_CC_SYSTEM_MULTIGPU_NVLEÚ&NVML_CC_SYSTEM_ENVIRONMENT_UNAVAILABLEÚNVML_CC_SYSTEM_ENVIRONMENT_SIMÚNVML_CC_SYSTEM_ENVIRONMENT_PRODÚ_nvmlConfComputeCcFeature_tÚNVML_CC_SYSTEM_FEATURE_DISABLEDÚNVML_CC_SYSTEM_FEATURE_ENABLEDÚ0_nvmlConfComputeCcKeyRotationThreshAttackerAdv_tÚ2NVML_CC_KEY_ROTATION_THRESH_ATTACKER_ADVANTAGE_MINÚ2NVML_CC_KEY_ROTATION_THRESH_ATTACKER_ADVANTAGE_MAXr"  r  r  r  rH  rg  rk  r0  rm  rt  Úobjectrv  r‡  rŒ  Ú	StructurerŽ  rö  rú  r�  r¨  r°  ÚnvmlC2cModeInfo_v1rµ  rº  rÀ  rÄ  rÈ  re  rÊ  ÚnvmlPciInfoExt_v1rÙ  rá  rä  rï  rè  ÚNVML_CPER_ACCESS_TYPE_GPUÚNVML_CPER_CURSOR_HANDLE_INITrí  rò  rù  rÿ  r  ÚnvmlMemory_v2r
  r  r  r  r  rn  Úc_nvmlProcessInfo_tr'  ÚNVML_PROCESS_MODE_COMPUTEÚNVML_PROCESS_MODE_GRAPHICSÚNVML_PROCESS_MODE_MPSÚNVML_PROCESS_MODE_ALLÚNVML_PROCESS_MODE_MAXr  r#  r€  ÚnvmlProcessDetailList_v1r)  r-  r1  r8  r=  ÚUnionr@  rN  rR  rV  rm  rh  rb  rs  ro  r{  rx  r~  r�  r€  r‰  rƒ  r�  Ú!NVML_VGPU_PGPU_HETEROGENEOUS_MODEÚNVML_VGPU_PGPU_HOMOGENEOUS_MODErˆ  rŽ  rŠ  rÚ  r�  r•  r™  r  rŸ  r£  r¥  r3  r©  rÒ  r¬  ÚNVML_GRID_LICENSE_STATE_UNKNOWNÚ%NVML_GRID_LICENSE_STATE_UNINITIALIZEDÚ/NVML_GRID_LICENSE_STATE_UNLICENSED_UNRESTRICTEDÚ-NVML_GRID_LICENSE_STATE_UNLICENSED_RESTRICTEDÚ"NVML_GRID_LICENSE_STATE_UNLICENSEDÚ NVML_GRID_LICENSE_STATE_LICENSEDr¸  r½  rÆ  rÈ  rË  rV  rÏ  rÑ  rÚ  rà  rã  ræ  rè  rê  rì  rî  rë  rò  ró  ÚNVML_UUID_TYPE_NONEr!  r"  rñ  r÷  rõ  rü  rú  r  r   r  r  Ú#NVML_NVLINK_FIRMWARE_UCODE_TYPE_MSEÚ%NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIRÚ*NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_UPHYÚ)NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_CLNÚ)NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_DLNr  r  r  r  r  r$  r  r&  Ú NVML_DEVICE_ADDRESSING_MODE_NONEÚNVML_DEVICE_ADDRESSING_MODE_HMMÚNVML_DEVICE_ADDRESSING_MODE_ATSr/  r-  r5  r2  rM  Ú>NVML_PRM_COUNTER_ID_PPCNT_PHYSICAL_LAYER_CTRS_LINK_DOWN_EVENTSÚHNVML_PRM_COUNTER_ID_PPCNT_PHYSICAL_LAYER_CTRS_SUCCESSFUL_RECOVERY_EVENTSÚHNVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TOTAL_SUCCESSFUL_RECOVERY_EVENTSÚ@NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TIME_SINCE_LAST_RECOVERYÚHNVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TIME_BETWEEN_LAST_TWO_RECOVERIESÚ5NVML_PRM_COUNTER_ID_PPCNT_PORTCOUNTERS_PORT_XMIT_WAITÚ'NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_CODESÚ*NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_CODE_ERRÚ4NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_UNCORRECTABLE_CODEÚ(NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_CODESÚ.NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_RETRY_CODESÚ/NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_RETRY_EVENTSÚ)NVML_PRM_COUNTER_ID_PPCNT_PLR_SYNC_EVENTSÚ&NVML_PRM_COUNTER_ID_PPRM_OPER_RECOVERYr9  r?  rF  rO  rW  rY  r\  r_  r¸  ÚnvmlEventTypeSingleBitEccErrorÚnvmlEventTypeDoubleBitEccErrorÚnvmlEventTypePStateÚnvmlEventTypeXidCriticalErrorÚnvmlEventTypeClockÚnvmlEventTypePowerSourceChangeÚnvmlEventMigConfigChangeÚ#nvmlEventTypeSingleBitEccErrorStormÚ nvmlEventTypeDramRetirementEventÚ"nvmlEventTypeDramRetirementFailureÚ nvmlEventTypeNonFatalPoisonErrorÚnvmlEventTypeFatalPoisonErrorÚ nvmlEventTypeGpuUnavailableErrorÚnvmlEventTypeGpuRecoveryActionÚnvmlEventTypeNoneÚnvmlEventTypeAllÚnvmlClocksEventReasonGpuIdleÚ.nvmlClocksEventReasonApplicationsClocksSettingÚ&nvmlClocksEventReasonUserDefinedClocksÚnvmlClocksEventReasonSwPowerCapÚnvmlClocksEventReasonHwSlowdownÚnvmlClocksEventReasonSyncBoostÚ&nvmlClocksEventReasonSwThermalSlowdownÚ&nvmlClocksEventReasonHwThermalSlowdownÚ)nvmlClocksEventReasonHwPowerBrakeSlowdownÚ(nvmlClocksEventReasonDisplayClockSettingÚnvmlClocksEventReasonNoneÚnvmlClocksEventReasonAllÚnvmlClocksThrottleReasonGpuIdleÚ1nvmlClocksThrottleReasonApplicationsClocksSettingÚ)nvmlClocksThrottleReasonUserDefinedClocksÚ"nvmlClocksThrottleReasonSwPowerCapÚ"nvmlClocksThrottleReasonHwSlowdownÚ!nvmlClocksThrottleReasonSyncBoostÚ)nvmlClocksThrottleReasonSwThermalSlowdownÚ)nvmlClocksThrottleReasonHwThermalSlowdownÚ,nvmlClocksThrottleReasonHwPowerBrakeSlowdownÚ+nvmlClocksThrottleReasonDisplayClockSettingÚnvmlClocksThrottleReasonNoneÚnvmlClocksThrottleReasonAllrb  rg  ro  Ú"nvmlSystemEventTypeGpuDriverUnbindÚ nvmlSystemEventTypeGpuDriverBindÚnvmlSystemEventTypeCountrl  ri  rs  rq  rz  rw  r~  r…  r�  rŒ  r�  r“  r–  rˆ  r�  r’  r•  r£  r«  r°  r´  rÀ  rÅ  Ú"NVML_VGPU_SCHEDULER_POLICY_UNKNOWNÚ&NVML_VGPU_SCHEDULER_POLICY_BEST_EFFORTÚ&NVML_VGPU_SCHEDULER_POLICY_EQUAL_SHAREÚ&NVML_VGPU_SCHEDULER_POLICY_FIXED_SHARErþ  rå  ÚNVML_VGPU_SCHEDULER_ARR_DEFAULTÚNVML_VGPU_SCHEDULER_ARR_DISABLEÚNVML_VGPU_SCHEDULER_ARR_ENABLEÚ(NVML_VGPU_SCHEDULER_ENGINE_TYPE_GRAPHICSÚ&NVML_VGPU_SCHEDULER_ENGINE_TYPE_NVENC1Ú&NVML_VGPU_SCHEDULER_ENGINE_TYPE_NVENC0rË  rÐ  rÓ  r×  rÝ  rç  rê  rí  rï  rñ  rõ  r   ÚnvmlVgpuTypeIdInfo_v1r  rŠ  r  ÚnvmlActiveVgpuInstanceInfo_v1r  ÚnvmlVgpuSchedulerState_v1r  ÚnvmlVgpuSchedulerStateInfo_v1r  ÚnvmlVgpuSchedulerLogInfo_v1r  Ú!nvmlVgpuCreatablePlacementInfo_v1r  r  r  r  r  r"  ÚNVML_DEVICE_MIG_DISABLEÚNVML_DEVICE_MIG_ENABLEÚ!NVML_GPU_INSTANCE_PROFILE_1_SLICEÚ!NVML_GPU_INSTANCE_PROFILE_2_SLICEÚ!NVML_GPU_INSTANCE_PROFILE_3_SLICEÚ!NVML_GPU_INSTANCE_PROFILE_4_SLICEÚ!NVML_GPU_INSTANCE_PROFILE_7_SLICEÚ!NVML_GPU_INSTANCE_PROFILE_8_SLICEÚ!NVML_GPU_INSTANCE_PROFILE_6_SLICEÚ&NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1Ú&NVML_GPU_INSTANCE_PROFILE_2_SLICE_REV1Ú&NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV2Ú%NVML_GPU_INSTANCE_PROFILE_1_SLICE_GFXÚ%NVML_GPU_INSTANCE_PROFILE_2_SLICE_GFXÚ%NVML_GPU_INSTANCE_PROFILE_4_SLICE_GFXÚ'NVML_GPU_INSTANCE_PROFILE_1_SLICE_NO_MEÚ'NVML_GPU_INSTANCE_PROFILE_2_SLICE_NO_MEÚ(NVML_GPU_INSTANCE_PROFILE_1_SLICE_ALL_MEÚ(NVML_GPU_INSTANCE_PROFILE_2_SLICE_ALL_MEÚ%NVML_GPU_INSTANCE_PROFILE_3_SLICE_GFXÚNVML_GPU_INSTANCE_PROFILE_COUNTr)  r-  r;  r9  r?  rC  rU  Ú%NVML_COMPUTE_INSTANCE_PROFILE_1_SLICEÚ%NVML_COMPUTE_INSTANCE_PROFILE_2_SLICEÚ%NVML_COMPUTE_INSTANCE_PROFILE_3_SLICEÚ%NVML_COMPUTE_INSTANCE_PROFILE_4_SLICEÚ%NVML_COMPUTE_INSTANCE_PROFILE_7_SLICEÚ%NVML_COMPUTE_INSTANCE_PROFILE_8_SLICEÚ%NVML_COMPUTE_INSTANCE_PROFILE_6_SLICEÚ*NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE_REV1Ú)NVML_COMPUTE_INSTANCE_PROFILE_7_SLICE_NVLÚ#NVML_COMPUTE_INSTANCE_PROFILE_COUNTÚ+NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_SHAREDÚ*NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_COUNTrE  rG  rP  rN  rS  r`  ÚNVML_GPU_UTILIZATION_DOMAIN_GPUÚNVML_GPU_UTILIZATION_DOMAIN_FBÚNVML_GPU_UTILIZATION_DOMAIN_VIDÚNVML_GPU_UTILIZATION_DOMAIN_BUSrW  r]  rk  ÚNVML_THERMAL_TARGET_NONEÚNVML_THERMAL_TARGET_GPUÚNVML_THERMAL_TARGET_MEMORYÚ NVML_THERMAL_TARGET_POWER_SUPPLYÚNVML_THERMAL_TARGET_BOARDÚNVML_THERMAL_TARGET_VCD_BOARDÚNVML_THERMAL_TARGET_VCD_INLETÚNVML_THERMAL_TARGET_VCD_OUTLETÚNVML_THERMAL_TARGET_ALLÚNVML_THERMAL_TARGET_UNKNOWNÚNVML_THERMAL_CONTROLLER_NONEÚ$NVML_THERMAL_CONTROLLER_GPU_INTERNALÚNVML_THERMAL_CONTROLLER_ADM1032ÚNVML_THERMAL_CONTROLLER_ADT7461ÚNVML_THERMAL_CONTROLLER_MAX6649ÚNVML_THERMAL_CONTROLLER_MAX1617ÚNVML_THERMAL_CONTROLLER_LM99ÚNVML_THERMAL_CONTROLLER_LM89ÚNVML_THERMAL_CONTROLLER_LM64ÚNVML_THERMAL_CONTROLLER_G781ÚNVML_THERMAL_CONTROLLER_ADT7473Ú!NVML_THERMAL_CONTROLLER_SBMAX6649Ú NVML_THERMAL_CONTROLLER_VBIOSEVTÚNVML_THERMAL_CONTROLLER_OSÚ'NVML_THERMAL_CONTROLLER_NVSYSCON_CANOASÚ%NVML_THERMAL_CONTROLLER_NVSYSCON_E551Ú NVML_THERMAL_CONTROLLER_MAX6649RÚ NVML_THERMAL_CONTROLLER_ADT7473SÚNVML_THERMAL_CONTROLLER_UNKNOWNrb  ri  rq  ÚNVML_THERMAL_COOLER_SIGNAL_NONEÚ!NVML_THERMAL_COOLER_SIGNAL_TOGGLEÚ#NVML_THERMAL_COOLER_SIGNAL_VARIABLEÚ NVML_THERMAL_COOLER_SIGNAL_COUNTrr  ÚNVML_THERMAL_COOLER_TARGET_NONEÚNVML_THERMAL_COOLER_TARGET_GPUÚ!NVML_THERMAL_COOLER_TARGET_MEMORYÚ'NVML_THERMAL_COOLER_TARGET_POWER_SUPPLYÚ&NVML_THERMAL_COOLER_TARGET_GPU_RELATEDrm  ru  rt  rx  rã  rz  r~  r�  rž  r§  r¨  r©  Ú*NVML_CC_CEC_ATTESTATION_REPORT_NOT_PRESENTÚ&NVML_CC_CEC_ATTESTATION_REPORT_PRESENTr…  r�  rŠ  r�  r”  r˜  r   r«  rœ	  r¯  r¡	  r¹  r¿  rÁ  rÅ  rÂ  rÒ  r&  r×  rÝ  râ  rä  rç  ré  rî  rò  rõ  rù  rþ  r  r  r  r	  r  r  r  r  r  r  r   r(  r*  r-  r3  r2  r6  r9  r8  r<  r?  rB  rG  rF  rL  rP  rS  rX  r`  rc  re  rh  rj  rn  rq  rt  rw  r|  r  r‚  r„  rˆ  rŽ  r�  r’  r”  r—  r™  rŸ  r¡  r£  r¥  r¨  rª  r°  r³  r¶  rº  r½  r¼  rÀ  rÂ  rÅ  rÈ  rÏ  rÓ  rÖ  rÜ  rÞ  rÛ  rá  rã  rç  rê  rî  rô  rö  rù  rý  r  r  r  r  r  r  r  r  r  r   r#  r'  r*  r-  r/  r2  r8  r;  r?  rB  rG  rI  rL  rN  rW  rY  rQ  r]  r`  rb  re  rl  rp  rr  rt  rv  ry  r{  rx  r  r„  rˆ  rŠ  rŽ  r�  r’  r”  r–  r™  r›  r   r¢  r¦  r©  r­  r°  r²  rµ  r·  r»  r½  rÁ  rÃ  rÅ  rÇ  rÌ  rÑ  rÓ  r×  rÙ  rÛ  rß  rá  rã  rå  rç  ré  rë  rí  rñ  ró  rô  rû  r  r  r
  r  r  r  r  r%  r)  r-  r0  r6  r;  r>  r@  rD  rG  rK  rN  rR  rT  rW  rZ  r\  rb  re  rh  rj  rv  rx  r{  r  r„  rˆ  r�  r”  r–  r™  rœ  rž  r   rª  r¬  r¯  rµ  r·  r»  r¾  rÁ  rÅ  rÈ  rË  rÎ  rÑ  rŒ  rÖ  rÙ  rÝ  rá  rå  ré  rë  rî  rñ  rô  rö  rù  rü  rÿ  r  r  r  r  r  r  r  r  r  r  r!  r%  r+  r0  r2  r6  r;  rC  rG  rJ  rL  rO  rQ  rS  rU  rY  r]  r`  re  rh  rk  rn  rq  ru  rx  r{  r}  r�  r„  r†  r‰  rŒ  r�  r‘  r”  r—  r™  r›  r�  r   r¢  r¥  r§  rª  r¬  r®  r±  rµ  r¸  r½  rÁ  r¼  rÀ  rÃ  rÈ  rÊ  rÎ  rÐ  rÒ  rÕ  r×  rÚ  rÙ  rÝ  rß  rá  rå  rç  rê  rí  rï  rñ  ró  rö  rù  rü  rÿ  r	  r	  r	  r		  r	  r	  r	  r	  r	  r 	  r$	  r'	  r+	  r/	  r1	  r5	  r7	  r<	  rG	  ÚNVML_POWER_MIZER_MODE_ADAPTIVEÚ0NVML_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCEÚNVML_POWER_MIZER_MODE_AUTOÚ3NVML_POWER_MIZER_MODE_PREFER_CONSISTENT_PERFORMANCErD	  rI	  rM	  rO	  ÚnvmlClockOffset_v1rT	  rX	  rZ	  rc	  ri	  rK  ro	  rw	  ry	  r{	  r}	  r€	  rƒ	  r†	  rˆ	  r‹	  r�	  r‘	  r“	  r–	  r›	  r 	  ÚNVML_GPM_METRIC_GRAPHICS_UTILÚNVML_GPM_METRIC_SM_UTILÚNVML_GPM_METRIC_SM_OCCUPANCYÚNVML_GPM_METRIC_INTEGER_UTILÚNVML_GPM_METRIC_ANY_TENSOR_UTILÚ NVML_GPM_METRIC_DFMA_TENSOR_UTILÚ NVML_GPM_METRIC_HMMA_TENSOR_UTILÚ NVML_GPM_METRIC_DMMA_TENSOR_UTILÚ NVML_GPM_METRIC_IMMA_TENSOR_UTILÚNVML_GPM_METRIC_DRAM_BW_UTILÚNVML_GPM_METRIC_FP64_UTILÚNVML_GPM_METRIC_FP32_UTILÚNVML_GPM_METRIC_FP16_UTILÚNVML_GPM_METRIC_PCIE_TX_PER_SECÚNVML_GPM_METRIC_PCIE_RX_PER_SECÚNVML_GPM_METRIC_NVDEC_0_UTILÚNVML_GPM_METRIC_NVDEC_1_UTILÚNVML_GPM_METRIC_NVDEC_2_UTILÚNVML_GPM_METRIC_NVDEC_3_UTILÚNVML_GPM_METRIC_NVDEC_4_UTILÚNVML_GPM_METRIC_NVDEC_5_UTILÚNVML_GPM_METRIC_NVDEC_6_UTILÚNVML_GPM_METRIC_NVDEC_7_UTILÚNVML_GPM_METRIC_NVJPG_0_UTILÚNVML_GPM_METRIC_NVJPG_1_UTILÚNVML_GPM_METRIC_NVJPG_2_UTILÚNVML_GPM_METRIC_NVJPG_3_UTILÚNVML_GPM_METRIC_NVJPG_4_UTILÚNVML_GPM_METRIC_NVJPG_5_UTILÚNVML_GPM_METRIC_NVJPG_6_UTILÚNVML_GPM_METRIC_NVJPG_7_UTILÚNVML_GPM_METRIC_NVOFA_0_UTILÚNVML_GPM_METRIC_NVOFA_1_UTILÚ'NVML_GPM_METRIC_NVLINK_TOTAL_RX_PER_SECÚ'NVML_GPM_METRIC_NVLINK_TOTAL_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L0_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L0_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L1_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L1_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L2_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L2_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L3_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L3_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L4_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L4_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L5_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L5_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L6_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L6_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L7_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L7_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L8_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L8_TX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L9_RX_PER_SECÚ$NVML_GPM_METRIC_NVLINK_L9_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L10_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L10_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L11_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L11_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L12_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L12_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L13_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L13_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L14_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L14_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L15_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L15_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L16_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L16_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L17_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L17_TX_PER_SECÚ$NVML_GPM_METRIC_C2C_TOTAL_TX_PER_SECÚ$NVML_GPM_METRIC_C2C_TOTAL_RX_PER_SECÚ#NVML_GPM_METRIC_C2C_DATA_TX_PER_SECÚ#NVML_GPM_METRIC_C2C_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK0_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK0_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK0_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK0_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK1_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK1_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK1_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK1_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK2_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK2_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK2_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK2_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK3_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK3_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK3_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK3_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK4_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK4_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK4_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK4_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK5_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK5_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK5_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK5_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK6_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK6_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK6_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK6_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK7_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK7_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK7_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK7_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK8_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK8_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK8_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK8_DATA_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK9_TOTAL_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK9_TOTAL_RX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK9_DATA_TX_PER_SECÚ)NVML_GPM_METRIC_C2C_LINK9_DATA_RX_PER_SECÚ+NVML_GPM_METRIC_C2C_LINK10_TOTAL_TX_PER_SECÚ+NVML_GPM_METRIC_C2C_LINK10_TOTAL_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK10_DATA_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK10_DATA_RX_PER_SECÚ+NVML_GPM_METRIC_C2C_LINK11_TOTAL_TX_PER_SECÚ+NVML_GPM_METRIC_C2C_LINK11_TOTAL_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK11_DATA_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK11_DATA_RX_PER_SECÚ+NVML_GPM_METRIC_C2C_LINK12_TOTAL_TX_PER_SECÚ+NVML_GPM_METRIC_C2C_LINK12_TOTAL_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK12_DATA_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK12_DATA_RX_PER_SECÚ+NVML_GPM_METRIC_C2C_LINK13_TOTAL_TX_PER_SECÚ+NVML_GPM_METRIC_C2C_LINK13_TOTAL_RX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK13_DATA_TX_PER_SECÚ*NVML_GPM_METRIC_C2C_LINK13_DATA_RX_PER_SECÚ!NVML_GPM_METRIC_HOSTMEM_CACHE_HITÚ"NVML_GPM_METRIC_HOSTMEM_CACHE_MISSÚ!NVML_GPM_METRIC_PEERMEM_CACHE_HITÚ"NVML_GPM_METRIC_PEERMEM_CACHE_MISSÚNVML_GPM_METRIC_DRAM_CACHE_HITÚNVML_GPM_METRIC_DRAM_CACHE_MISSÚNVML_GPM_METRIC_NVENC_0_UTILÚNVML_GPM_METRIC_NVENC_1_UTILÚNVML_GPM_METRIC_NVENC_2_UTILÚNVML_GPM_METRIC_NVENC_3_UTILÚ(NVML_GPM_METRIC_GR0_CTXSW_CYCLES_ELAPSEDÚ'NVML_GPM_METRIC_GR0_CTXSW_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_GR0_CTXSW_REQUESTSÚ(NVML_GPM_METRIC_GR0_CTXSW_CYCLES_PER_REQÚ$NVML_GPM_METRIC_GR0_CTXSW_ACTIVE_PCTÚ(NVML_GPM_METRIC_GR1_CTXSW_CYCLES_ELAPSEDÚ'NVML_GPM_METRIC_GR1_CTXSW_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_GR1_CTXSW_REQUESTSÚ(NVML_GPM_METRIC_GR1_CTXSW_CYCLES_PER_REQÚ$NVML_GPM_METRIC_GR1_CTXSW_ACTIVE_PCTÚ(NVML_GPM_METRIC_GR2_CTXSW_CYCLES_ELAPSEDÚ'NVML_GPM_METRIC_GR2_CTXSW_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_GR2_CTXSW_REQUESTSÚ(NVML_GPM_METRIC_GR2_CTXSW_CYCLES_PER_REQÚ$NVML_GPM_METRIC_GR2_CTXSW_ACTIVE_PCTÚ(NVML_GPM_METRIC_GR3_CTXSW_CYCLES_ELAPSEDÚ'NVML_GPM_METRIC_GR3_CTXSW_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_GR3_CTXSW_REQUESTSÚ(NVML_GPM_METRIC_GR3_CTXSW_CYCLES_PER_REQÚ$NVML_GPM_METRIC_GR3_CTXSW_ACTIVE_PCTÚ(NVML_GPM_METRIC_GR4_CTXSW_CYCLES_ELAPSEDÚ'NVML_GPM_METRIC_GR4_CTXSW_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_GR4_CTXSW_REQUESTSÚ(NVML_GPM_METRIC_GR4_CTXSW_CYCLES_PER_REQÚ$NVML_GPM_METRIC_GR4_CTXSW_ACTIVE_PCTÚ(NVML_GPM_METRIC_GR5_CTXSW_CYCLES_ELAPSEDÚ'NVML_GPM_METRIC_GR5_CTXSW_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_GR5_CTXSW_REQUESTSÚ(NVML_GPM_METRIC_GR5_CTXSW_CYCLES_PER_REQÚ$NVML_GPM_METRIC_GR5_CTXSW_ACTIVE_PCTÚ(NVML_GPM_METRIC_GR6_CTXSW_CYCLES_ELAPSEDÚ'NVML_GPM_METRIC_GR6_CTXSW_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_GR6_CTXSW_REQUESTSÚ(NVML_GPM_METRIC_GR6_CTXSW_CYCLES_PER_REQÚ$NVML_GPM_METRIC_GR6_CTXSW_ACTIVE_PCTÚ(NVML_GPM_METRIC_GR7_CTXSW_CYCLES_ELAPSEDÚ'NVML_GPM_METRIC_GR7_CTXSW_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_GR7_CTXSW_REQUESTSÚ(NVML_GPM_METRIC_GR7_CTXSW_CYCLES_PER_REQÚ$NVML_GPM_METRIC_GR7_CTXSW_ACTIVE_PCTÚ%NVML_GPM_METRIC_NVLINK_L18_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L18_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L19_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L19_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L20_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L20_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L21_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L21_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L22_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L22_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L23_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L23_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L24_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L24_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L25_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L25_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L26_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L26_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L27_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L27_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L28_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L28_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L29_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L29_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L30_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L30_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L31_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L31_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L32_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L32_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L33_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L33_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L34_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L34_TX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L35_RX_PER_SECÚ%NVML_GPM_METRIC_NVLINK_L35_TX_PER_SECÚ!NVML_GPM_METRIC_SM_CYCLES_ELAPSEDÚ NVML_GPM_METRIC_SM_CYCLES_ACTIVEÚ!NVML_GPM_METRIC_MMA_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_DMMA_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_HMMA_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_IMMA_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_DFMA_CYCLES_ACTIVEÚNVML_GPM_METRIC_PCIE_TXÚNVML_GPM_METRIC_PCIE_RXÚ%NVML_GPM_METRIC_INTEGER_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_FP64_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_FP32_CYCLES_ACTIVEÚ"NVML_GPM_METRIC_FP16_CYCLES_ACTIVEÚNVML_GPM_METRIC_NVLINK_L0_RXÚNVML_GPM_METRIC_NVLINK_L0_TXÚNVML_GPM_METRIC_NVLINK_L1_RXÚNVML_GPM_METRIC_NVLINK_L1_TXÚNVML_GPM_METRIC_NVLINK_L2_RXÚNVML_GPM_METRIC_NVLINK_L2_TXÚNVML_GPM_METRIC_NVLINK_L3_RXÚNVML_GPM_METRIC_NVLINK_L3_TXÚNVML_GPM_METRIC_NVLINK_L4_RXÚNVML_GPM_METRIC_NVLINK_L4_TXÚNVML_GPM_METRIC_NVLINK_L5_RXÚNVML_GPM_METRIC_NVLINK_L5_TXÚNVML_GPM_METRIC_NVLINK_L6_RXÚNVML_GPM_METRIC_NVLINK_L6_TXÚNVML_GPM_METRIC_NVLINK_L7_RXÚNVML_GPM_METRIC_NVLINK_L7_TXÚNVML_GPM_METRIC_NVLINK_L8_RXÚNVML_GPM_METRIC_NVLINK_L8_TXÚNVML_GPM_METRIC_NVLINK_L9_RXÚNVML_GPM_METRIC_NVLINK_L9_TXÚNVML_GPM_METRIC_NVLINK_L10_RXÚNVML_GPM_METRIC_NVLINK_L10_TXÚNVML_GPM_METRIC_NVLINK_L11_RXÚNVML_GPM_METRIC_NVLINK_L11_TXÚNVML_GPM_METRIC_NVLINK_L12_RXÚNVML_GPM_METRIC_NVLINK_L12_TXÚNVML_GPM_METRIC_NVLINK_L13_RXÚNVML_GPM_METRIC_NVLINK_L13_TXÚNVML_GPM_METRIC_NVLINK_L14_RXÚNVML_GPM_METRIC_NVLINK_L14_TXÚNVML_GPM_METRIC_NVLINK_L15_RXÚNVML_GPM_METRIC_NVLINK_L15_TXÚNVML_GPM_METRIC_NVLINK_L16_RXÚNVML_GPM_METRIC_NVLINK_L16_TXÚNVML_GPM_METRIC_NVLINK_L17_RXÚNVML_GPM_METRIC_NVLINK_L17_TXÚNVML_GPM_METRIC_NVLINK_L18_RXÚNVML_GPM_METRIC_NVLINK_L18_TXÚNVML_GPM_METRIC_NVLINK_L19_RXÚNVML_GPM_METRIC_NVLINK_L19_TXÚNVML_GPM_METRIC_NVLINK_L20_RXÚNVML_GPM_METRIC_NVLINK_L20_TXÚNVML_GPM_METRIC_NVLINK_L21_RXÚNVML_GPM_METRIC_NVLINK_L21_TXÚNVML_GPM_METRIC_NVLINK_L22_RXÚNVML_GPM_METRIC_NVLINK_L22_TXÚNVML_GPM_METRIC_NVLINK_L23_RXÚNVML_GPM_METRIC_NVLINK_L23_TXÚNVML_GPM_METRIC_NVLINK_L24_RXÚNVML_GPM_METRIC_NVLINK_L24_TXÚNVML_GPM_METRIC_NVLINK_L25_RXÚNVML_GPM_METRIC_NVLINK_L25_TXÚNVML_GPM_METRIC_NVLINK_L26_RXÚNVML_GPM_METRIC_NVLINK_L26_TXÚNVML_GPM_METRIC_NVLINK_L27_RXÚNVML_GPM_METRIC_NVLINK_L27_TXÚNVML_GPM_METRIC_NVLINK_L28_RXÚNVML_GPM_METRIC_NVLINK_L28_TXÚNVML_GPM_METRIC_NVLINK_L29_RXÚNVML_GPM_METRIC_NVLINK_L29_TXÚNVML_GPM_METRIC_NVLINK_L30_RXÚNVML_GPM_METRIC_NVLINK_L30_TXÚNVML_GPM_METRIC_NVLINK_L31_RXÚNVML_GPM_METRIC_NVLINK_L31_TXÚNVML_GPM_METRIC_NVLINK_L32_RXÚNVML_GPM_METRIC_NVLINK_L32_TXÚNVML_GPM_METRIC_NVLINK_L33_RXÚNVML_GPM_METRIC_NVLINK_L33_TXÚNVML_GPM_METRIC_NVLINK_L34_RXÚNVML_GPM_METRIC_NVLINK_L34_TXÚNVML_GPM_METRIC_NVLINK_L35_RXÚNVML_GPM_METRIC_NVLINK_L35_TXr´	  r¤	  r³	  r¦	  rª	  r®	  ÚNVML_GPM_METRICS_GET_VERSIONr¶	  rÇ	  r¹	  r¼	  rÀ	  rÂ	  rÄ	  rÆ	  rÊ	  rÌ	  Ú"NVML_NVLINK_POWER_STATE_HIGH_SPEEDÚNVML_NVLINK_POWER_STATE_LOWÚ#NVML_NVLINK_LOW_POWER_THRESHOLD_MINÚ#NVML_NVLINK_LOW_POWER_THRESHOLD_MAXÚ%NVML_NVLINK_LOW_POWER_THRESHOLD_RESETÚ'NVML_NVLINK_LOW_POWER_THRESHOLD_DEFAULTrÎ	  rÑ	  rà	  r×	  Ú#NVML_GPU_FABRIC_STATE_NOT_SUPPORTEDÚ!NVML_GPU_FABRIC_STATE_NOT_STARTEDÚ!NVML_GPU_FABRIC_STATE_IN_PROGRESSÚNVML_GPU_FABRIC_STATE_COMPLETEDrÔ	  Ú5NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_NOT_SUPPORTEDÚ,NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_TRUEÚ-NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_FALSEÚ-NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_DEGRADED_BWÚ-NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_DEGRADED_BWÚ8NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_NOT_SUPPORTEDÚ/NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_TRUEÚ0NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_FALSEÚ0NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_RECOVERYÚ0NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_RECOVERYÚ9NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_NOT_SUPPORTEDÚ0NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_TRUEÚ1NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_FALSEÚ1NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_UNHEALTHYÚ1NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_UNHEALTHYÚANVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_NOT_SUPPORTEDÚ8NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_TRUEÚ9NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_FALSEÚ9NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ACCESS_TIMEOUT_RECOVERYÚ9NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ACCESS_TIMEOUT_RECOVERYÚANVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NOT_SUPPORTEDÚ8NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NONEÚENVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_SYSGUIDÚHNVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_CHASSIS_SNÚ@NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NO_PARTITIONÚHNVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INSUFFICIENT_NVLINKSÚGNVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCOMPATIBLE_GPU_FWÚCNVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIURATION_INVALID_LOCATIONÚDNVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INVALID_LOCATIONÚENVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_GPU_STATE_INVALIDÚ9NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_INCORRECT_CONFIGURATIONÚ9NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_INCORRECT_CONFIGURATIONÚ<NVML_GPU_FABRIC_HEALTH_MASK_PARTITION_ASSIGNED_NOT_SUPPORTEDÚ3NVML_GPU_FABRIC_HEALTH_MASK_PARTITION_ASSIGNED_TRUEÚ4NVML_GPU_FABRIC_HEALTH_MASK_PARTITION_ASSIGNED_FALSEÚ4NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_PARTITION_ASSIGNEDÚ4NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_PARTITION_ASSIGNEDÚ,NVML_GPU_FABRIC_HEALTH_SUMMARY_NOT_SUPPORTEDÚ&NVML_GPU_FABRIC_HEALTH_SUMMARY_HEALTHYÚ(NVML_GPU_FABRIC_HEALTH_SUMMARY_UNHEALTHYÚ/NVML_GPU_FABRIC_HEALTH_SUMMARY_LIMITED_CAPACITYrÜ	  rÙ	  Úc_nvmlGpuFabricInfoV_trâ	  rå	  rè	  rì	  ÚNVML_GPU_NVLINK_BW_MODE_FULLÚNVML_GPU_NVLINK_BW_MODE_OFFÚNVML_GPU_NVLINK_BW_MODE_MINÚNVML_GPU_NVLINK_BW_MODE_HALFÚ NVML_GPU_NVLINK_BW_MODE_3QUARTERÚNVML_GPU_NVLINK_BW_MODE_COUNTrî	  rñ	  rö	  ÚNVML_POWER_SCOPE_GPUÚNVML_POWER_SCOPE_MODULEÚNVML_POWER_SCOPE_MEMORYÚNVML_POWER_SCOPE_GPU_BASEÚNVML_POWER_SCOPE_COUNTró	  ÚnvmlPowerValue_v2rø	  rý	  r
  r
  ÚNVML_DEV_CAP_EGMr
  r
  r
  r
  r&
  r!
  r,
  r/
  r3
  r2
  r5
  rF
  ÚNVML_POWER_PROFILE_MAX_PÚNVML_POWER_PROFILE_MAX_QÚNVML_POWER_PROFILE_COMPUTEÚNVML_POWER_PROFILE_MEMORY_BOUNDÚNVML_POWER_PROFILE_NETWORKÚNVML_POWER_PROFILE_BALANCEDÚ NVML_POWER_PROFILE_LLM_INFERENCEÚNVML_POWER_PROFILE_LLM_TRAININGÚNVML_POWER_PROFILE_RBMÚNVML_POWER_PROFILE_DCPCIEÚNVML_POWER_PROFILE_HMMA_SPARSEÚNVML_POWER_PROFILE_HMMA_DENSEÚ NVML_POWER_PROFILE_SYNC_BALANCEDÚNVML_POWER_PROFILE_HPCÚNVML_POWER_PROFILE_MIGÚNVML_POWER_PROFILE_MAXr<
  r8
  rD
  r@
  rL
  rH
  rR
  rP
  Ú"NVML_POWER_PROFILE_OPERATION_CLEARÚ NVML_POWER_PROFILE_OPERATION_SETÚ.NVML_POWER_PROFILE_OPERATION_SET_AND_OVERWRITEÚ NVML_POWER_PROFILE_OPERATION_MAXÚ)nvmlWorkloadPowerProfileUpdateProfiles_v1rU
  rY
  r\
  r_
  rc
  re
  rh
  rk
  ro
  ru
  rr
  rx
  r{
  r~
  r€
  Ú'NVML_POWER_SMOOTHING_NUM_PROFILE_PARAMSÚ%NVML_POWER_SMOOTHING_MAX_NUM_PROFILESÚ+NVML_POWER_SMOOTHING_ADMIN_OVERRIDE_NOT_SETÚ4NVML_POWER_SMOOTHING_PROFILE_PARAM_PERCENT_TMP_FLOORÚ/NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_UP_RATEÚ1NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_RATEÚ7NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_HYSTERESISÚ8NVML_POWER_SMOOTHING_PROFILE_PARAM_SECONDARY_POWER_FLOORÚ=NVML_POWER_SMOOTHING_PROFILE_PARAM_PRIMARY_FLOOR_ACT_WIN_MULTÚ=NVML_POWER_SMOOTHING_PROFILE_PARAM_PRIMARY_FLOOR_TAR_WIN_MULTÚ;NVML_POWER_SMOOTHING_PROFILE_PARAM_PRIMARY_FLOOR_ACT_OFFSETr…
  rƒ
  r‹
  rˆ
  rŽ
  r‘
  r“
  r•
  r›
  rŸ
  r¢
  r¥
  r¨
  rª
  r®
  r²
  r´
  ÚNVML_RUSD_POLL_NONEÚNVML_RUSD_POLL_CLOCKÚNVML_RUSD_POLL_PERFÚNVML_RUSD_POLL_MEMORYÚNVML_RUSD_POLL_POWERÚNVML_RUSD_POLL_THERMALÚNVML_RUSD_POLL_PCIÚNVML_RUSD_POLL_FANÚNVML_RUSD_POLL_PROC_UTILÚNVML_RUSD_POLL_ALLr¹
  r¶
  r¼
  r¾
  rÆ
  r  r  r  Ú<module>rÜ     s‚9  ðô@ Ý $Ý Û 
Û 	Û Û ð Ð ØÐ ØÐ àÐ Ø!"Ð Ø!"Ð Ø!"Ð Ø!"€Ø!"€Ø!"Ð Ø!"Ð Ø!"Ð Ø!"Ð Ø!"Ð Ø!#Ð Ø!#Ð Ø!?Ð Ø!#Ð Ø!#Ð Ø!#Ð Ø!#Ð Ø!#Ð Ø!#Ð à%Ð Ø+,Ð #Ø+,Ð #Ø+,Ð "Ø+,Ð "Ø+,Ð 'Ø+,Ð (Ø+,Ð 'Ø+,Ð #Ø+,Ð  à"Ð ØÐ ØÐ ð Ð Ø%&Ð Ø%&Ð !Ø%&Ð Ø%&Ð "Ø%&Ð àÐ Ø !Ð Ø !Ð Ø%&Ð "ØÐ Ø%&Ð "Ø&'Ð #Ø#$Ð  ØÐ ØÐ ØÐ àÐ ð .Ð à"Ð ØÐ Ø !Ð Ø !Ð Ø !Ð Ø !Ð ØÐ à#)Ð  Ø!"Ð Ø!"Ð Ø!"Ð Ø!"Ð Ø!"Ð à Ð Ø !Ð Ø !Ð Ø !Ð Ø !Ð Ø !Ð Ø !Ð Ø !Ð à(.Ð %Ø+.Ð !Ø+.Ð "Ø+.Ð #Ø+.Ð #Ø+/Ð $Ø+/Ð #Ø+/Ð &Ø+/Ð (Ø+/Ð !à%+Ð "Ø$%Ð Ø$%Ð  Ø$%Ð Ø$%Ð !Ø$%Ð à Ð Ø"&Ð Ø"&Ð Ø"&Ð Ø"&Ð ð Ð ØÐ ØÐ ØÐ àÐ ØÐ ØÐ ØÐ àÐ Ø%&Ð  Ø%&Ð "Ø%&Ð àÐ ØÐ Ø€Ø€ØÐ ØÐ à€Ø#$Ð Ø#$Ð Ø#$Ð Ø#$Ð  Ø#$Ð àÐ ØÐ Ø€ØÐ àÐ à€Ø€Ø€Ø€Ø€Ø€Ø€Ø€Ø€Ø€Ø€Ø €Ø €Ø €Ø €Ø €Ø €Ø Ð àÐ ØÐ ØÐ ØÐ ØÐ ØÐ à€Ø'(€Ø'(Ð Ø'(Ð Ø'(Ð Ø'(Ð Ø'(Ð Ø'(Ð Ø'(Ð Ø'(Ð Ø'(Ð Ø')Ð Ø')Ð Ø')Ð Ø')Ð Ø')Ð Ø')Ð Ø')Ð Ø')Ð Ø')Ð "Ø')Ð Ø')Ð Ø')Ð Ø')Ð !Ø')Ð !Ø')Ð Ø')Ð $Ø')Ð Ø')Ð Ø')Ð Ø')Ð Ø')Ð #Ø'*Ð à€Ø€Ø€à Ð Ø+,Ð (Ø+,Ð à€ØÐ ØÐ à Ð Ø"#€Ø"#Ð Ø"#€à#Ð Ø<=Ð 9Ø<=Ð /Ø<=Ð  àÐ Ø<=Ð *Ø<=Ð +Ø<=Ð àÐ ØÐ ØÐ ØÐ àÐ ØÐ Ø Ð Ø !Ð Ø%&Ð "Ø#$Ð  ØÐ Ø!"Ð ØÐ àÐ ØÐ ØÐ ØÐ ØÐ ØÐ ØÐ ØÐ ØÐ ØÐ àÐ ØÐ ØÐ ØÐ Ø Ð Ø#$Ð  Ø Ð Ø$&Ð !Ø%'Ð "ØÐ à Ð ØÐ ØÐ ØÐ Ø Ð àÐ Ø !Ð ØÐ ØÐ ØÑ ØÑ àÑ ØÑ ØÑ àÑ ØÑ ØÑ àÑ ØÑ Ø Ñ Ø"#Ñ Ø Ñ Ø Ñ ØÑ ØÑ ØÑ Ø Ñ Ø Ñ ØÑ àÑ ØÑ ØÑ ØÑ à Ñ ØÑ ØÑ ØÑ ØÑ ØÑ Ù&Ñ ØÑ àÑ ØÑ ØÑ ØÑ ØÑ ð
 Ñ ØÑ ØÑ àÑ ØÑ Ø'(Ñ $Ù(LÑ %Ø$%Ñ !Ø,-Ñ *Ø$%Ñ "Ø Ñ ØÑ à"Ñ ØÑ ØÑ ØÑ ØÑ ØÑ ØÑ ØÑ ØÑ Ø!Ñ Ø Ñ Ø&Ñ ð �ØÑ ØÑ ØÑ ØÑ ØÑ àÑ Ø)Ñ Ø)Ñ Ø)Ñ à!'Ñ Ø.8Ñ +Ø-7Ñ *àÑ Ø",Ñ Ø",Ñ Ø",Ñ à Ñ Ø%/Ñ  Ø%/Ñ !Ø%/Ñ !Ø%/Ñ !Ø%/Ñ "Ø%/Ñ "Ø%/Ñ "à%Ñ Ø$(Ñ  Ø$(Ñ  Ø$(Ñ Ø$(Ñ Ø$(Ñ Ø$(Ñ Ø$(Ñ Ø$%Ñ àÑ ØÑ ØÑ à!'Ñ Ø'(Ñ Ø'(Ñ "Ø'(Ñ $Ø'(Ñ "Ø+,Ñ (Ø/0Ñ ,ð  �Ø�Ø%Ñ Ø%Ñ Ø%Ñ à Ñ ð 02Ñ 'Ø/1Ñ Ø/1Ñ Ø/1Ñ &Ø/1Ñ $Ø/1Ñ Ø/1Ñ Ø/1Ñ Ø/1Ñ #Ø/1Ñ 'Ø/1Ñ %Ø/1Ñ "Ø/1Ñ %Ø/2Ñ Ø/1Ñ Ø/0Ñ #Ú/5°f«~ÀÑ/CÑ #Ø/2Ñ (Ø/3Ñ +Ø/3Ñ ð '9Ñ !Ø&8Ñ â%0°£_Ñ "Ù & r£
Ñ ðð
 $%Ñ Ø#$Ñ ð $%Ñ Ø#$Ñ Ø#$Ñ Ø#$Ñ à#$Ñ Ø#$Ñ Ø#$Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ Ø#%Ñ ð $&Ñ Ø#%Ñ Ø#%Ñ ð 02Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø02Ñ -ð 02Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø02Ñ -ð 02Ñ (Ø/1Ñ (Ø/1Ñ (Ø/1Ñ (Ø/1Ñ (Ø/1Ñ (Ø/1Ñ +ð 02Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø02Ñ -ð )+Ñ "Ø(*Ñ "Ø(*Ñ "Ø(*Ñ "Ø(*Ñ "Ø(*Ñ "Ø(*Ñ %ð )+Ñ "Ø(*Ñ "Ø(*Ñ "Ø(*Ñ "Ø(*Ñ "Ø(*Ñ "Ø(*Ñ %ð -/Ñ Ø,.Ñ Ø,.Ñ "Ø,.Ñ #Ø,.Ñ 'Ø,.Ñ #Ø,.Ñ (Ø,.Ñ )ð Ñ ð (*Ñ $ð (*Ñ  Ø')Ñ  Ø')Ñ  Ø')Ñ  Ø')Ñ  Ø')Ñ  Ø')Ñ $ð !#Ñ ð #%Ñ Ø"$Ñ ð #%Ñ Ø+-Ñ (ð 02Ñ *Ø/1Ñ *Ø/1Ñ *Ø/1Ñ *Ø/2Ñ +Ø/2Ñ +ð 03Ñ *Ø/2Ñ *Ø/2Ñ *Ø/2Ñ *Ø/2Ñ +Ø/2Ñ +ð 03Ñ (Ø/2Ñ (Ø/2Ñ (Ø/2Ñ (Ø/2Ñ )Ø/2Ñ )ð 03Ñ *Ø/2Ñ *Ø/2Ñ *Ø/2Ñ *Ø/2Ñ +Ø/2Ñ +ð ),Ñ "Ø(+Ñ "Ø(+Ñ "Ø(+Ñ "Ø(+Ñ #Ø(+Ñ #ð ),Ñ "Ø(+Ñ "Ø(+Ñ "Ø(+Ñ "Ø(+Ñ #Ø(+Ñ #ð (+Ñ  Ø'*Ñ  Ø'*Ñ  Ø'*Ñ  Ø'*Ñ !Ø'*Ñ !ð ),Ñ %Ø(+Ñ %Ø(+Ñ $Ø(+Ñ $ð #&Ñ Ø"%Ñ Ø"%Ñ Ø"%Ñ ð '*Ñ #ð -0Ñ )ð 14Ñ *Ø03Ñ *Ø03Ñ *Ø03Ñ *Ø03Ñ *Ø03Ñ *Ø03Ñ *Ø03Ñ *Ø03Ñ *Ø03Ñ *Ø03Ñ +Ø03Ñ +Ø03Ñ -à03Ñ "Ø03Ñ $Ø03Ñ Ø03Ñ Ø03Ñ Ø03Ñ à03Ñ "Ø03Ñ &à03Ñ 'à03Ñ Ø03Ñ Ø03Ñ à03Ñ )Ø03Ñ $Ø03Ñ %Ø03Ñ Ø03Ñ  Ø03Ñ Ø03Ñ &Ø03Ñ "Ø03Ñ &Ø03Ñ !Ø03Ñ !à03Ñ &à03Ñ Ø03Ñ Ø03Ñ Ø03Ñ Ø03Ñ Ø03Ñ Ø03Ñ Ø03Ñ !à03Ñ 'Ø03Ñ 'Ø03Ñ &Ø03Ñ &à03Ñ Ø03Ñ à:=Ñ 5à:=Ñ *à;>Ñ %Ø;>Ñ #Ø;>Ñ $Ø;>Ñ "Ø;>Ñ %Ø;>Ñ 0Ø;>Ñ .Ø;>Ñ #Ø;>Ñ *Ø;>Ñ +Ø;>Ñ 4Ø;>Ñ &à;>Ñ 8Ø;>Ñ 4Ø;>Ñ -à;>Ñ &Ø;>Ñ &Ø;>Ñ  Ø;>Ñ )Ø;>Ñ &Ø;>Ñ &Ø;>Ñ #à;>Ñ *Ø;>Ñ ,Ø;>Ñ 0à;>Ñ Ø;>Ñ "Ø;>Ñ &Ø;>Ñ %Ø;>Ñ #à;>Ñ Ø;>Ñ !Ø;>Ñ %Ø;>Ñ  à;>Ñ &Ø;>Ñ &Ø;>Ñ &Ø;>Ñ &Ø;>Ñ &Ù;>Ñ &Ù;>Ñ &Ù;>Ñ &Ù;>Ñ &Ù;>Ñ &Ù;>Ñ 'Ù;>Ñ 'Ù;>Ñ 'Ù;>Ñ 'Ù;>Ñ 'Ù;>Ñ 'ÙBEÑ ÙBEÑ ÙBEÑ +ÙBEÑ &ØBEÑ 'ØBEÑ 3ÙBEÑ 3ÙBEÑ =ÙBEÑ -ÙBEÑ /ÙBEÑ *ÙBEÑ ,ÙBEÑ 0ÙBEÑ +ÙBEÑ 6ÙBEÑ 1ÙBEÑ 3ÙBEÑ 7Ù;XÑ ,Ù;]Ñ *Ù;>Ñ 1Ù;>Ñ 1Ù;>Ñ 7Ù;>Ñ %Ù;>Ñ #Ù!Ñ ÙBEÑ )ÙBEÑ +ÙBEÑ 2ÙBEÑ 1ÙBEÑ 'ÙBEÑ 5ÙBEÑ 3ÙBEÑ 8ÙBEÑ 8ÙBEÑ 6ÙBEÑ :ÙBEÑ ?ÙBEÑ ?ÙBEÑ =ÙBEÑ )ÙBEÑ )ÙBEÑ )ÙBEÑ )ÙBEÑ #ÙBEÑ "ÙBEÑ (ÙBEÑ  ÙBEÑ ÙBEÑ ÙBEÑ 1ÙBEÑ 1ÙBEÑ &ÙBEÑ &ÙBE�ð '*Ñ #Ø&)Ñ Ø&)Ñ ð !Ñ Ø Ñ Ø Ñ à-.Ñ *Ø-.Ñ )ð #$Ñ Ø!"Ñ ð ,-Ñ !Ø+,Ñ (Ø+,Ñ !Ø+,Ñ &Ø+,Ñ &ð �Ø�n‹nÓ�ØÑ ð Ñ ØÑ àÑ Ø Ñ Ø Ñ à &Ñ Ø./Ñ &Ø./Ñ #Ø./Ñ )Ø./Ñ +Ø./Ñ %Ø./Ñ &á!(Ñ Ø,.Ñ &Ù,.Ñ  Ù,.Ñ Ù,.Ñ 'Ù,.Ñ "àÑ Ø./Ñ Ø./Ñ Ø./Ñ "Ø./Ñ Ø./Ñ Ø./Ñ à$Ñ Ø23Ñ -Ø23Ñ  Ø23Ñ à$Ñ Ø9:Ñ *Ø9:Ñ 5Ø9:Ñ 2Ø9:Ñ *Ø9:Ñ +Ø9:Ñ %Ø9:Ñ %Ø9:Ñ -Ø9:Ñ  Ø9:Ñ +Ø9;Ñ .Ø9;Ñ ,Ø9;Ñ à"Ñ Ø45Ñ 1Ø45Ñ /à#Ñ Ø*-Ñ Ø*-Ñ Ø*-Ñ $Ø*-Ñ  Ø*-Ñ à(.Ñ %Ø.1Ñ "Ø.1Ñ )Ø.1Ñ *Ø.1Ñ !Ù.8Ñ #àÑ Ø"#Ñ Ø"#Ñ à#)Ñ  Ø*+Ñ 'Ø)*Ñ &à"Ñ Ø%&Ñ "Ø!"Ñ à"Ñ Ø Ñ Ø"#Ñ Ø$%Ñ !Ø&'Ñ #Ø'(Ñ $à!'Ñ Ø#$Ñ  Ø"#Ñ à Ñ Ø)*Ñ &Ø Ñ à)*Ñ &Ø!"Ñ Ø"#Ñ à$Ñ Ø"#Ñ Ø!"Ñ à39Ñ 0Ø57Ñ 2Ø57Ñ 2ð &*Ñ "ö	™yõ 	ö+)‘	õ +)ôZ5ô
>ò2 Ô ôò !%£Ñ ôö0'™õ 'ôô	ö	™)õ 	âÑ*Ó+�ö2B™)õ 2BöhÑ*õ öÑ0õ ñ
 Ñ öÑ*õ öÑ)õ öÑ-õ öÑ/õ ö	™Iõ 	âÑ.Ó/�öÑ-õ ñ. Ñ öÑ*õ ö.Ñ'õ ö.Ñ(;õ ñ &Ñ öÑ!4õ ð Ñ Ø Ñ öÑ/õ öÑ,õ öÑ%8õ ö"Ñ(õ "ö"Ñ+õ "ñ �ö"Ñ,õ "ö™Iõ ð
 �ö™õ ö"&Ñ0õ &ñ 0Ñ á,Ñ àÑ ØÑ ØÑ ØÑ ØÑ ØÑ ö™yõ ö,Ñ#6õ ,ñ 9Ñ á$Ñ öÑ0õ öÑ"5õ öÑ0õ ö#Ñ-õ #öÑ+õ ö	‘Eõ 	öÑ(õ öÑ/õ ö	Ñ,õ 	ð (*Ñ $á )Ñ ögÑ(;õ gñ #Ñ öYÑ!4õ Yñ #Ñ öYÑ!4õ YöÑ':õ ñ %Ñ öÑ!4õ ñ Ñ öÑ#6õ ñ !Ñ à&'Ñ !Ø&'Ñ öÑ#6õ ñ !Ñ öÑ"5õ ñ  Ñ öÑ,?õ ö
Ñ-@õ 
öÑ.Aõ ñ #-Ñ ö
Ñ+>õ 
öÑ,?õ öÑ.Aõ ñ #-Ñ öÑ 3õ ñ  Ñ ö	Ñ 3õ 	ð 34Ñ Ø23Ñ %Ø23Ñ /Ø23Ñ -Ø23Ñ "Ø23Ñ  öÑ1õ ö
Ñ0õ 
öÑ':õ ö
Ñ(;õ 
öÑ*=õ ñ )Ñ ö	Ñ 3õ 	öÑ':õ öÑ(;õ öÑ':õ öÑ(;õ öÑ':õ öÑ(;õ öÑ$7õ öÑ%8õ öÑ#6õ ñ %Ñ à Ñ Ø Ñ àÑ ØÑ ØÑ ö™õ ñ �ö@Ñ&õ @ñ �
ö>Ñ%õ >ñ  Ñ öPÑ.õ Pñ Ñ öOÑ/õ Oð .1Ñ #Ø-0Ñ %Ø-0Ñ *Ø-0Ñ )Ø-0Ñ )Ø-0Ñ #öÑ$7õ öÑ!4õ ñ Ñ öOÑ/õ Oñ Ñ öIÑ+õ Iôð '(Ñ  Ø&'Ñ Ø&'Ñ á'Ñ ö`Ñ#6õ `ñ &Ñ ö_Ñ$7õ _ð Ñ àABÑ >ØKLÑ HàKNÑ HØCFÑ @ØKNÑ Hà8;Ñ 5á*-Ñ 'Ù-0Ñ *Ù7:Ñ 4Ù+.Ñ (Ù14Ñ .Ù25Ñ /Ù,/Ñ )á)-Ñ &öIÑ!4õ IöUÑ!4õ UöXÑ/õ XöXÑ 3õ Xôö
&Ñ0õ &ôö	™iõ 	âÑ2Ó3Ñ à&8Ñ Ø&8Ñ Ø&8Ñ Ø&8Ñ Ø&8Ñ Ø&8Ñ Ø&8Ñ Ù&8Ñ #Ù&8Ñ  Ø&8Ñ "Ù&8Ñ  Ù&8Ñ Ù&8Ñ  Ù&8Ñ Ø&8Ñ á(9Ù*Hñ)Iá*Hñ)Iñ +>ñ)>ñ +=ñ	)=ñ
 +Iñ)Iñ +Hñ)Hñ +Cñ)Cñ +Nñ)Nñ +Kñ	)Kñ +Mñ
)Mñ +Kñ)Kñ +Hñ)Hñ +Kñ)Kñ +Iñ)Iñ ð& -?Ñ Ø1CÑ .Ù1_Ñ &Ø,>Ñ Ø,>Ñ Ø,>Ñ Ø,>Ñ &Ø,>Ñ &Ø,>Ñ )Ø,>Ñ (Ø,>Ñ á2KÙ2Nñ3Oá2`ñ3añ 3Rñ3Rñ 3Rñ	3Rñ
 3Qñ3Qñ 3Yñ3Yñ 3Yñ3Yñ 3\ñ3\ñ 3[ñ	3[ñ ð 0BÑ Ø4FÑ 1Ù4eÑ )Ø/AÑ "Ø/AÑ "Ø/AÑ !Ø/AÑ )Ø/AÑ )Ø/AÑ ,Ø/AÑ +Ø/AÑ á2NÙ2Qñ3Rá2cñ3dñ 3Uñ3Uñ 3Uñ	3Uñ
 3Tñ3Tñ 3\ñ3\ñ 3\ñ3\ñ 3_ñ3_ñ 3^ñ	3^ñ ö$Ñ+õ $ö	¡Iõ 	â Ñ!>Ó?Ñ à%7Ñ "Ø%7Ñ  àÑ á%.Ñ "öqÑ-@õ qñ $-Ñ  ömÑ+>õ mñ %.Ñ !öoÑ,?õ oö$Ñ!4õ $ñ $-Ñ  ömÑ+>õ môôôô
ô ô*)ô +ô$öB	Ñ1õ 	öÑ!4õ ö™)õ ö
Ñ.õ ö	Ñ2õ 	ö¡Iõ ð +,Ñ "Ø*+Ñ &Ø*+Ñ &Ø*+Ñ &ð /0Ñ *à.1Ñ !ð %&Ñ Ø$%Ñ Ø$%Ñ à./Ñ (Ø./Ñ &Ø./Ñ &öÑ#6õ öÑ/õ ö
¡%õ öÑ$7õ öÑ2õ öÑ$7õ öÑ&9õ öÑ2õ ö
¡Uõ öÑ$7õ ö
Ñ(;õ 
öÑ 3õ ñ "Ñ öÑ%8õ ñ 'Ñ öÑ(;õ ñ !*Ñ öÑ$7õ ñ &Ñ öÑ(;õ ñ !*Ñ ö	Ñ&9õ 	ñ (Ñ öÑ,?õ ñ %.Ñ !öÑ(;õ ö	Ñ':õ 	öÑ&9õ öÑ$7õ ö‘yõ öÑ,õ ð  Ñ ØÑ à),Ñ !Ø),Ñ !Ø),Ñ !Ø),Ñ !Ø),Ñ !Ø),Ñ !Ø),Ñ !Ø),Ñ &Ø),Ñ &Ø),Ñ &Ø+.Ñ %Ø+.Ñ %Ø+.Ñ %Ø+.Ñ 'Ø+.Ñ 'Ø+.Ñ (Ø+/Ñ (à-1Ñ %Ø-1Ñ ö¡9õ ö
¡Yõ ñ !+Ñ ögÑ(;õ gö&™iõ ö	¡õ 	âÑ8Ó9Ñ à-0Ñ %Ø-0Ñ %Ø-0Ñ %Ø-0Ñ %Ø-0Ñ %Ø-0Ñ %Ø-0Ñ %Ø-0Ñ *Ø-0Ñ )Ø-0Ñ #à.1Ñ +Ø-0Ñ *ö¡yõ ö

©õ 
ñ %/Ñ !öoÑ,?õ oö"¡)õ ð Ñ Ø%&Ñ Ø%&Ñ Ø%&Ñ Ø%&Ñ ö*©9õ *ö
c¡Iõ cð $%Ñ  à$%Ñ Ø$%Ñ Ø$%Ñ Ø$%Ñ  Ø$%Ñ Ø$%Ñ Ø$&Ñ Ø$&Ñ Ø$&Ñ Ø$&Ñ à*+Ñ Ø*+Ñ $Ø*+Ñ Ø*+Ñ Ø*+Ñ Ø*+Ñ Ø*+Ñ Ø*+Ñ Ø*+Ñ Ø*+Ñ Ø*,Ñ Ø*,Ñ !Ø*,Ñ  Ø*,Ñ Ø*,Ñ 'Ø*,Ñ %Ø*,Ñ  Ø*,Ñ  Ø*,Ñ ö#™yõ #öY¡õ Yð Ñ Ø)*Ñ Ø)*Ñ !Ø)*Ñ #Ø)*Ñ  àÑ Ø,2Ñ Ø,2Ñ Ø,2Ñ !Ø,2Ñ 'Ù,JÑMnÑ,nñ  rYñ  -YÑ &öÑ,õ ñ Ñ ôGö	¡Yõ 	â!Ñ"@ÓAÑ ö
™Yõ 
ö¡yõ ñ +1Ñ Ù*0Ñ $Ø*.Ñ Ù*0Ñ #Ù*0Ñ 'Ø-.Ñ *Ø-.Ñ &ö¡Yõ ñ $-Ñ  öm©9õ mö¡Iõ ö
¡Yõ ö
©	õ ö©iõ ö±Yõ ñ -6Ñ )ö±Yõ ñ -6Ñ )ôô6
ôô"ô "ôDñ" òó ññ òó ñô ô ñ òó ññ òó ñôô.ôôôôôôôôôôôôñ òó ññ òó ññ òó ññ òó ññ òó ñöÑ!4õ ñ #Ñ áòó ñöÑ)<õ ñ "+Ñ áò!ó ñ!ôôôôô.ñ òó ññ òó ññ ,2«8ö 	ôôôôôôôô ñ òó ññ òó ññ òó ñôôô3ôôôôôô+ôôôôôôôô8ô6ôöÑ.õ ñ  Ñ ôôôôñ 28³ÁFÃHö Mñ DJÃ8ö CôöÑ0õ ñ Ñ ôñ 7Iö >ôôôô.ôôôôô0ôôôôô5ô4ô4÷
ôôô*ô5ô+ô+ô"ôôô	ôô2ô2ô2ô2ôô5ô5ô/ô/ô/ñ òó ñôô> ñD ò;ó ñ;ôô< ñD ò<ó ñ<ñ ò>ó ñ>ô ôD ôD!ôF9ôôôôôôôôôôôôò 4FÓ3Gö 9ôôôôôôôôô4ôô$ôôôôôôôôôôôôôôôô/ô!ô4ô.kô2 ô#ôôôJô*ôô,ô ,ô"ô2ôôôôôôôôôôôôôôôôôô'ô+ô(ôô#÷÷0ô*ôôôôô4ô4 ñ òó ññ òó ñô5ôôô(ñ òó ñôôô"ôô!ô(ôôñ4 ò/ó ñ/ñ òó ññ òó ññ ò"ó ñ"ô"ôô;ôôôô$ô.ôô ôñ òó ñôô4ô<ô,ô:÷<ñ 4:³8ÉËö Qô$ôô2ô:Môô4ôô4Môô4ôô4ô,ô4ôô#ñ ò6ó ñ6ôôôôô÷Eôô$ôôôô$,ôô,ô#ô!ôô"(ôô&ô&ô$ô$ôôôôô"ô$ô6÷ôñ (KÑ $Ù+RÑ (ôôôôôôôô÷ñ 1]Ñ -ôôôôôôôôô:ôô!ô%ôôôôô.ôKôôôôôôôôô+ôò B_ÓA`ö Aôò IcÓHdö Hñ MSËHÑbhÓbjö Sð Ñ Ø78Ñ Ø78Ñ 0Ø78Ñ Ø78Ñ 3öÑ':õ ôô
ö
Ñ-õ ñ Ñ ôô
ô
ô&ôò 9>»Ê5Ë7ö Oôôò 9>»Ê5Ë7ö Oôôôôôôôôôôôô ð /0Ñ Ø./Ñ Ø./Ñ Ø./Ñ Ø./Ñ Ø./Ñ  Ø./Ñ  Ø./Ñ  Ø./Ñ  Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ Ø.0Ñ 'Ø.0Ñ 'Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ $Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.0Ñ %Ø.1Ñ $Ø.1Ñ $Ø.1Ñ #Ø.1Ñ #Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ *Ø.1Ñ *Ø.1Ñ )Ø.1Ñ )Ø.1Ñ +Ø.1Ñ +Ø.1Ñ *Ø.1Ñ *Ø.1Ñ +Ø.1Ñ +Ø.1Ñ *Ø.1Ñ *Ø.1Ñ +Ø.1Ñ +Ø.1Ñ *Ø.1Ñ *Ø.1Ñ +Ø.1Ñ +Ø.1Ñ *Ø.1Ñ *Ø.1Ñ !Ø.1Ñ "Ø.1Ñ !Ø.1Ñ "Ø.1Ñ Ø.1Ñ Ø.1Ñ Ø.1Ñ Ø.1Ñ Ø.1Ñ Ø.1Ñ (Ø.1Ñ 'Ø.1Ñ "Ø.1Ñ (Ø.1Ñ $Ø.1Ñ (Ø.1Ñ 'Ø.1Ñ "Ø.1Ñ (Ø.1Ñ $Ø.1Ñ (Ø.1Ñ 'Ø.1Ñ "Ø.1Ñ (Ø.1Ñ $Ø.1Ñ (Ø.1Ñ 'Ø.1Ñ "Ø.1Ñ (Ø.1Ñ $Ø.1Ñ (Ø.1Ñ 'Ø.1Ñ "Ø.1Ñ (Ø.1Ñ $Ø.1Ñ (Ø.1Ñ 'Ø.1Ñ "Ø.1Ñ (Ø.1Ñ $Ø.1Ñ (Ø.1Ñ 'Ø.1Ñ "Ø.1Ñ (Ø.1Ñ $Ø.1Ñ (Ø.1Ñ 'Ø.1Ñ "Ø.1Ñ (Ø.1Ñ $Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ø.1Ñ %Ù.1Ñ %Ù.1Ñ %Ù.1Ñ %Ù.1Ñ %Ù.1Ñ %Ù.1Ñ %Ù.1Ñ %Ù.1Ñ %Ù.1Ñ !Ù.1Ñ  Ù.1Ñ !Ù.1Ñ "Ù.1Ñ "Ù.1Ñ "Ù.1Ñ "Ø.1Ñ Ø.1Ñ Ù.1Ñ %Ù.1Ñ "Ù.1Ñ "Ù.1Ñ "Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ Ù.1Ñ öÑ*õ ö	™yõ 	âÑ4Ó5Ñ ö‘Yõ öÑ+õ öÑ/õ ð  !Ñ öÑ,õ ð Ñ ôôôôôôôôð ),Ñ "Ø(+Ñ à*-Ñ #Ù*0Ñ #Ø*4Ñ %Ù*OÑ 'ö™yõ ô
ð Ñ àÑ Ø&'Ñ #Ø&'Ñ !Ø&'Ñ !Ø&'Ñ öÑ/õ ð 9:Ñ 5Ø89Ñ ,Ø89Ñ -Ø89Ñ -Ø8;Ñ -à=>Ñ 8Ø=>Ñ /Ø=>Ñ 0Ø=>Ñ 0Ø=@Ñ 0à=>Ñ 9Ø=>Ñ 0Ø=>Ñ 1Ø=>Ñ 1Ø=@Ñ 1àDEÑ AØDEÑ 8ØDEÑ 9ØDEÑ 9ØDGÑ 9àKLÑ AØKLÑ 8ØKLÑ EØKLÑ HØKLÑ @ØKLÑ HØKLÑ GØKLÑ Cñ LOÑ DØKLÑ EàKLÑ 9ØKNÑ 9à?@Ñ <Ø?@Ñ 3Ø?@Ñ 4à79Ñ 4Ø7:Ñ 4à23Ñ ,Ø23Ñ &Ø23Ñ (Ø23Ñ /á!Ñ öUÑ2õ Uñ 2Ñ öUÑ2õ Uñ !Ñ ôôð %(Ñ Ø$'Ñ Ø$'Ñ Ø$'Ñ Ø$'Ñ  Ø$'Ñ ôôð Ñ ØÑ ØÑ ØÑ ØÑ ØÑ ö"Ñ/õ "ñ Ñ áQbö ö_Ñ$7õ _ñ( &Ñ ôð Ñ Ù%Ñ ö_Ñ$7õ _ôöSÑ1õ SöSÑ1õ Sñ  Ñ ÙÑ ôð $&Ñ  öÑ-õ ö
Ñ)õ ð
 '*Ñ  Ø&'Ñ Ø&'Ñ Ø&'Ñ Ø&'Ñ Ø&'Ñ Ø&'Ñ Ø&'Ñ  Ø&'Ñ Ø&'Ñ Ø&'Ñ Ø&(Ñ Ø&(Ñ Ø&(Ñ  Ø&(Ñ Ø&(Ñ Ø&(Ñ á"+Ñ ö	kÑ*=õ 	kñ +4Ñ 'ö{Ñ2Eõ {ñ .7Ñ *ö	AÑ5Hõ 	Añ 09Ñ ,öEÑ7Jõ Eð &'Ñ "Ø#$Ñ  Ø12Ñ .Ø#$Ñ  á,5Ñ )öÑ4Gõ ôôôôôôôôñ 'Ñ ö\Ñ!4õ \ôIô6ô6ôð ;<Ñ 'Ø:;Ñ %Ø:DÑ +Ø:;Ñ 4Ø:;Ñ /Ø:;Ñ 1Ø:;Ñ 7Ø@AÑ 8Ø@AÑ =Ø@AÑ =Ø@AÑ ;á$Ñ öaÑ%8õ añ 'Ñ ö	eÑ':õ 	eôô
ô
ö
	Ñ4Gõ 	öAÑ5Hõ Añ .7Ñ *ôôôôHñ òó ñôô'ð Ñ ØÑ ØÑ ØÑ ØÑ ØÑ ØÑ ØÑ ØÑ Ù-Ñ áÑ ö	+Ñ1õ 	+ôö
Ñ"5õ õr  