
    xKgah                     P   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m	Z	 d dl
mZ d dlmZmZmZ d dlZd dlmZ d dlmZ d dlmZmZ d dlmZ d d	lmZ  d d
l!m"Z# d dl$m%Z% dZ&	 d dl'Z'dZ&ddgZ)d\  Z*Z+Z,dZ-dZ.d\  Z/Z0d\  Z1Z2dZ3d\  Z4Z5dZ6d\  Z7Z8d\  Z9Z:d\  Z;Z<dZ=dZ>dZ?dZ@dZAd ZBd!ZCd"ZDd#ZEd$ZFd%ZGd&ZHd'ZId(\  ZJZKd)ZLd*ZMd+ZNd,ZOd-ZPd.ZQd/ZRd0ZSd1\  ZTZUd2ZVd3ZWd4\  ZXZYd5\  ZZZ[d6Z\d7\  Z]Z^d8Z_d9\  Z`Zad:\  ZbZcd;Zdd<Zed=Zfd>Zgd?Zhg Zig Zjd@ ZkdA ZldDdBZmendCk(  r em        yy# e($ r Y w xY w)E    N)redirect_stdout)datetime)StringIO)check_outputPIPECalledProcessError)__version__)cudar	   )cudadrv)driver)runtime)configFTget_sysinfodisplay_sysinfo)Startz	Start UTCRuntimeNumba VersionMachine)CPU Name	CPU Count)zCPUs AllowedzList CPUs AllowedCPU Features)z	CFS Quotaz
CFS PeriodzCFS Restriction)z	Mem TotalzMem Available)Platform NamePlatform Release)OS Name
OS VersionOS Specific VersionLibc VersionzPython CompilerzPython ImplementationzPython VersionzPython Localellvmlite VersionLLVM VersionzCUDA Device InitCUDA Driver VersionCUDA Runtime VersionzNVIDIA CUDA BindingszNVIDIA CUDA Bindings In Use)zCUDA Detect OutputzCUDA Lib Testz1NVIDIA CUDA Minor Version Compatibility Availablez.NVIDIA CUDA Minor Version Compatibility Neededz.NVIDIA CUDA Minor Version Compatibility In UseNumPy VersionNumPy Supported SIMD featuresNumPy Supported SIMD dispatchNumPy Supported SIMD baselinezNumPy AVX512_SKX detected)z
SVML StatezSVML Lib LoadedzLLVM SVML PatchedSVML Operational)zTBB ThreadingzTBB Threading Error)zOpenMP ThreadingzOpenMP Threading ErrorzOpenMP vendor)zWorkqueue ThreadingzWorkqueue Threading ErrorzNumba Env Vars)zConda Buildz	Conda Env)zConda PlatformzConda Python VersionzConda Root WritablezInstalled PackageszPsutil AvailableErrorsWarningsc           	          G d dt               } G d dt               } |d       |d      f |d       |d      ft        t        t        t        t
        t        d	d
d |d       |d      ft        t        dd
ddt        t        dt        dt        didd}i |j                  | i       j                  dd      }t        rt        j                         }j                  t        |j                  t        |j                  i       t        j                         }t        |d      r|j!                         ng }|r\t#        |      t        <   dj%                  d |D              t        <   n*t&        j)                  d       |j                  dd      z  }g }|D ]&  }	t        |	d      rt*        j,                  j/                  |	d         rY	 t1        |	d   d      5 }
|
j3                         }|r-dj%                  |	d   |d   f      |d<   |j5                  |       d d d        t&        j)                  dj;                  |	d                	 t=        |	t>               }t        |	d"      r)d#j%                  d$ |jC                         D              d%z   }|j5                  |jE                         jC                                ) j                  d&i       }|D ]i  }|jG                         |jI                         z  }|r't#        |      dk(  r||jK                            }||<   Mt#        |      dkD  s\tM        d'|        k fd(}fd)}	  |        t        s |        tP        d+ itR        d, itR        d- id}|j                  | i       }j                  |jU                         D 
ci c]  \  }}
| |
        c}
}       S # 1 sw Y   xY w# t6        $ r#}t8        j)                  d|        Y d }~ed }~ww xY w# t6        t@        f$ r#}t8        j)                  d!|        Y d }~d }~ww xY w# tN        $ r"}t8        j)                  d*|        Y d }~d }~ww xY wc c}
}w ).Nc                       e Zd ZdZy)&get_os_spec_info.<locals>.CmdBufferOutTN)__name__
__module____qualname__buffer_output_flag     \/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/misc/numba_sysinfo.pyCmdBufferOutr+   q   s    !r1   r3   c                       e Zd ZdZy)%get_os_spec_info.<locals>.CmdReadFileTN)r,   r-   r.   read_file_flagr0   r1   r2   CmdReadFiler5   t   s    r1   r7   )'/sys/fs/cgroup/cpuacct/cpu.cfs_quota_us)(/sys/fs/cgroup/cpuacct/cpu.cfs_period_us)z/proc/meminfo)z/proc/self/status)z	MemTotal:zMemAvailable:zCpus_allowed:zCpus_allowed_list:r8   r9   )cmdcmd_optionalkwdsr0   )wmicOSgetTotalVirtualMemorySize)r=   r>   r?   FreeVirtualMemory)r@   rA   ))sysctlz
hw.memsizevm_stat)zhw.memsize:zfree:   i   )r:   r;   r<   units)LinuxWindowsDarwinr:   cpu_affinity c              3   2   K   | ]  }t        |        y wNstr).0ns     r2   	<genexpr>z#get_os_spec_info.<locals>.<genexpr>   s     /M1A   zWWarning (psutil): psutil cannot be imported. For more accuracy, consider installing it.r;   r6   r   rzError (file read): zWarning (no file): {})stderrzError (subprocess): r/       c              3       K   | ]  }|  y wrL   r0   )rO   lines     r2   rQ   z#get_os_spec_info.<locals>.<genexpr>   s     B1A1A      
r<   zAmbiguous output: c                     j                  t        d      j                         } | rt        | d         t        <   j                  t        d      j                         } | rt        | d         t        <   j                  t        d      dk7  r;j                  t        d      }j                  t        d      }||z  }|t
        <   y y )N )r?   
_cfs_quotasplitfloat_cfs_period_cfs_restrict)r^   	cfs_quota
cfs_periodruntime_amountos_spec_infos       r2   formatz get_os_spec_info.<locals>.format   s      R0668',U2Y'7L$  b1779(-eBi(8L%J+r1$((R8I%))+r:J&3N*8L'	 2r1   c                  Z   t         dt        di} | j                  j                  di              t         t        fD ]B  }dj	                  d j                  |d      D              }t        |xs d      | |   z  |<   D j                  t        d      j                         }|rQ|d   }|j                  d      d   }t        t        t        |xs dd                  j                  d	      t        <   j                  t        d      j                         }|r|d   t        <   y y )
Ni   rE   r[   c              3   B   K   | ]  }|j                         s|  y wrL   )isdigit)rO   ds     r2   rQ   z<get_os_spec_info.<locals>.format_optional.<locals>.<genexpr>   s     O(?1199;Q(?s   r   r\   ,   1)
_mem_total_mem_availableupdater?   joinint_cpus_allowedr^   rN   bincount
_cpus_list)rE   kdigitsr^   rP   re   paramss        r2   format_optionalz)get_os_spec_info.<locals>.format_optional   s   T>48VZZ,-n-AWWO(8(8B(?OOF!&+A.q9LO .   399;b	AR A*-c#af1b/.B*C*I*I#*NL'  R0668',RyL$ r1   zError (format shell output): c                  H    dj                  t        j                               S )NrJ   )rq   platformlibc_verr0   r1   r2   <lambda>z"get_os_spec_info.<locals>.<lambda>  s    388H,=,=,?#@r1   c                  V    dj                  d t        j                         D              S )NrJ   c              3       K   | ]  }|  y wrL   r0   )rO   ss     r2   rQ   z5get_os_spec_info.<locals>.<lambda>.<locals>.<genexpr>  s      /1/a/rX   )rq   r|   	win32_verr0   r1   r2   r~   z"get_os_spec_info.<locals>.<lambda>  s#    chh /1#--//1 '1r1   c                  h    dj                  d t        t        j                               D              S )Nr[   c              3   6   K   | ]  }|D ]
  }|xs d    yw)rJ   Nr0   )rO   r   is      r2   rQ   z5get_os_spec_info.<locals>.<lambda>.<locals>.<genexpr>  s$      .H";QQSQ";s   )rq   tupler|   mac_verr0   r1   r2   r~   z"get_os_spec_info.<locals>.<lambda>  s+    bgg .H"'(8(8(:";.H 'Hr1   )+r   rn   ro   rs   rv   r]   r`   r?   _psutil_importpsutilvirtual_memoryrp   total	availableProcesshasattrrI   lenrq   _warning_logappendospathexistsopen	readlinesextendOSError
_error_logrf   r   r   r   
splitlinesdecodekeysr^   popprint	Exception_libc_version_os_spec_versionitems)os_namer3   r7   shell_paramscmd_selectedvmpcpus_allowedoutputr:   fouter<   rW   matchrw   rf   rz   os_specific_funcskey_funcre   ry   s                        @@r2   get_os_spec_infor   e   sK   "u "e  HIIJ
 ./23 (!/!.&0;E<G
( LMGH +5%3
   *' A
A0Ld Lgr*F::eR(L""$BLL
 	 NN+21n+Eq~~'2*-l*;L''*xx/M/M'ML$ 	9	: 	

>266
 F3()ww~~c!f%c!fc*akkm%(XXs1vs1v.>%?CF"MM#.	 + ##$;$B$B3q6$JK"3t4 s01iiB1ABBUJMM#**,11343 8 ::fb!D		djjl*SZ1_UYY[!A"LOZ!^&tf-. 91"? @
  1

  H
 !$$Wb1HHNN,<=,<DAqAC,<=>o +*
  %%(;A3&?@ /0 !!$8"<=j  ?9!=>>?$ >sg   O"&A O&O"PQ 9Q4
O	O""	P+P		PQ P>>Q	Q1Q,,Q1c                     i t         t        j                         t        t        j                         t
        t        j                         t        t        j                         t        t        j                         t        t        j                  d      t        t        j                          t"        t        j$                         t&        t        j(                         t*        t        j,                         t.        t        j0                         t2        t        j4                         t6        t8        j:                  j=                         D  ci c]  \  } }| j?                  d      r| | c}} t@        tB        tD        djG                  d t        jH                  D              tJ        tL        tN        tP        }	 t        jR                         }tU        |j=                         D cg c]
  \  }}|s	| c}}      }djG                  |      |tV        <   	 djG                  t_        j`                         D cg c]  }tc        |       c}      |td        <   	 ti        jj                         d	    	 d|tl        <   to               }	tq        |	      5  ti        jr                          d d d        |	ju                         |tv        <   |	jy                          t{        j|                         }
t        j|                         }d
|
z  |t        <   d
|z  |t        <   to               }	tq        |	      5  t        j                  j                          d d d        |	ju                         |t        <   |	jy                          	 d	dlFmF} d}||t        <   t        t        j                  j                        }||t        <   	 d	dlMmN} d	dlOmP} d|t        <   ||
kD  |t        <   t        t        j                        |t        <   t        j(                  j                  |t        <   	 d	dl\m]}m^}m_} |j=                         D  cg c]
  \  } }|s	|  }} }||t        <   ||t        <   ||t        <   |j                  dd      |t        <   d}	 t        j                  j?                  d      rt        j                  d       nlt        j                  j?                  d      rt        j                  d       n7t        j                  j?                  d      rt        j                  d        nd}t        t        j                  d!d       }|r |       nd|t        <   t        j                  |t        <   ||t        <   t        |t           |t           |t           f      |t        <   d" }	 d	d#lnmo} d	d$lpmq}  |        d|t        <   	 d	d&lnmt}  d|t        <   | j                  |t        <   	 d	d(lnmy}! d|t        <   d*}"	 t        |"      }#t        j                  |#j                               }$t         t        t        t        t        d+}%|%j=                         D ]  \  }&}'|$j                  |&d,      ||'<    d-}"	 t        |"      }#|#j                         j                         }(|(D )cg c]  })|)j?                  d.      r|) c})|t        <   |j                  t        |t"                        tZ        |t        <   t        |t        <   t        j                         |t            z
  j                         |t        <   |S c c}} w c c}}w # tX        $ r#}tZ        j]                  d|        Y d }~Rd }~ww xY wc c}w # tf        $ r#}tZ        j]                  d|        Y d }~Dd }~ww xY w# 1 sw Y   xY w# 1 sw Y   lxY w# t        $ r d}Y Mw xY w# t        $ r d|t        <   Y w xY w# tf        $ r/}t        j]                  dt        |       d|        Y d }~&d }~ww xY w# tf        $ r}d|tl        <   d}d}d}d}t        |dd       }|||v r||z   }n$||v r||z   }n|dz   |z   }n|dz   tc        |      z   }t        j]                  d|dtc        t        |                   Y d }~d }~ww xY wc c}} w # t        $ r d|t        <   Y Vw xY w# tf        $ r d}Y w xY w# t        $ r$}d|t        <    ||d%      |t        <   Y d }~Yd }~ww xY w# t        $ r$}d|t        <    ||d'      |t        <   Y d }~fd }~ww xY w# t        $ r$}d|t        <    ||d)      |t        <   Y d }~d }~ww xY wc c})w # t        $ r#}tZ        j]                  d/|        Y d }~d }~ww xY w# tf        $ r}t        j]                  d0| d1       t        j                  d2d3d4f}"	 t        |"      }*|*j                         j                         |t        <   n.# tf        $ r"}tZ        j]                  d5|        Y d }~nd }~ww xY wY d }~d }~ww xY w)6NT)aliasedNUMBA_.c              3   2   K   | ]  }t        |        y wrL   rM   )rO   r   s     r2   rQ   zget_sysinfo.<locals>.<genexpr>6  s     K0J1A0JrR   rJ   zError (CPU features): zError (locale): r   z%s.%s)r
   F)compile_ptx)CubinLinkerzYWarning (cuda): Probing CUDA failed (device and driver present, runtime problem?)
(cuda) : z#CUDA driver library cannot be foundzCUDA is disabledz( or no CUDA enabled devices are present.z#CUDA device initialisation problem.msgz	 Message:zWarning (cuda): z
Exception class: )__cpu_features____cpu_dispatch____cpu_baseline__
AVX512_SKXlinuxz
libsvml.sodarwinzlibsvml.dylibwinsvml_dispmdhas_svmlc                     	 | j                   j                  d      D cg c]  }|j                          c}\  }}}t        j                  j                  |      d   }||v r|d|S 	 yc c}w # t
        $ r Y yw xY w)N:rD   r   zUnknown import problem.)r   r^   stripr   r   r   )r   backendxr   problemsymbolextn_dsos          r2   parse_errorz get_sysinfo.<locals>.parse_error  s    	89C8H$I8H1QWWY8H$I!D'6ww}}T*1-H("#*F33 # ) %J  	(	s!   A1 A,3A1 ,A1 1	A=<A=)tbbpool)_check_tbb_version_compatibler   )omppoolr   )	workqueuer   )condainfoz--json)conda_build_versionconda_env_versionr|   python_versionroot_writablezN/A)r   list#zError (conda): z)Warning: Conda not available.
 Error was 
z-mpipr   zError (pip): )_startr   now
_start_utcutcnow_machiner|   machine	_cpu_namellvmbindget_host_cpu_name
_cpu_countmultiprocessing	cpu_count_platform_name_platform_releaserelease_os_namesystem_os_versionversion_python_comppython_compiler_python_implpython_implementation_python_versionr   _numba_env_varsr   environr   
startswith_numba_versionversion_number_llvm_versionrq   llvm_version_info_llvmlite_versionllvmlite_version_psutilr   get_host_cpu_featuressorted_cpu_featuresRuntimeErrorr   r   localegetdefaultlocalerN   _python_localer   culist_devices_cu_dev_initr   r   detectgetvalue_cu_detect_outclosecudriverget_version	curuntime_cu_drv_ver
_cu_rt_verr   libstest_cu_lib_testr
   ImportError_cu_nvidia_bindingsboolr   USE_NV_BINDING_cu_nvidia_bindings_usedptxcompilerr   cubinlinkerr   _cu_mvc_available_cu_mvc_neededr   'CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY_cu_mvc_in_user   typegetattrnpfull_version_numpy_versionnumpy.core._multiarray_umathr   r   r   _numpy_supported_simd_features_numpy_supported_simd_dispatch_numpy_supported_simd_baseliner?   _numpy_AVX512_SKX_detectedsysload_library_permanentlytargets_llvm_svml_patched
USING_SVML_svml_state_svml_loadedall_svml_operationalnumba.np.ufuncr   numba.np.ufunc.parallelr   _tbb_thread
_tbb_errorr   _openmp_threadopenmp_vendor_openmp_vendor_openmp_errorr   _wkq_thread
_wkq_errorr   jsonloadsr   _conda_build_ver_conda_env_ver_conda_platform_conda_python_ver_conda_root_writabler   	_inst_pkgr   
executablerp   r   _errors	_warningstotal_seconds_runtime)+rw   vsys_infofeature_mapkeyvaluefeaturesr   r   r   
cu_drv_ver	cu_rt_verr
   nvidia_bindings_availablenv_binding_usedr   r   msg_not_foundmsg_disabled_by_usermsg_endmsg_generic_problemr   err_msgr   r   r   feat_filteredsvml_lib_loadedfuncr   r   r   r   r   r:   	conda_outjsondr   conda_k	sysinfo_kdatalreqss+                                              r2   r   r   #  sV	   HOO% 	(""$ 	8--/	
 	O--/ 	))$7 	8++- 	(//# 	X%%' 	h..0 	h446 	002 	RZZ-=-=-? 5-?6Aq\\(3 Q$-? 5 	  	sxxK0J0JKK!" 	+#$ 	%H,5446 1B1B1DN1D:331DNO"%((8"42 $'88-3-D-D-F-H-F 9:SV-F-H $I B*
!*,	*%)H\"ZF (		 )'-'8H^$LLN!--/J!--/I$+j$8H[!#*Y#6HZ ZF (!!# )%+__%6H\"LLN2%,0) -FH()"7>>#@#@AO1@H-.433.2*+ (1:'=H^$'+>>(@H^$  "zz66H^6	E 	E (8'='='?E'?tq!1'?E3@/03C/03C/0  u5 	+, O
 <<""7+--l;\\$$X.--o>\\$$U+--m<#O 8##Z6D-146uH "--H[,H\"%#$' #H
)9* 	J%' $<*#' #*#8#8 
;, $ &C!M %	 

9++-.#3!/'/1
 #'**,GY"'))GU";HY #/  	M$S)I ##%002D.2"Ld!,,s:K1d"LHYOO$Xh%789"HW&HY",,.8F+;;JJLHXO}5 O  821#6778-H 2,QC0112< )( )(  2,1)2  4.3*+4  	*q'"QC)* *	*y  5!&=1<Ca%?#''1%,.8-;cA)C/#a&8G$c$q'l4 	5 	5#5X F  5/4+,50    D  9 %*1i89  <#( "-a";<  ; $*1k:;N #M	 " 	5s344	57  	=H2NO~~tUF3	=$D #'++-":":"<HY  	3aS122	3	=s  ] 
] 2
]
=]
"!^  ];^  $`/ <_4 ^//B_4 3^</_4 _	 
5_4  _ ,_4 #
c  
cc	B!c  %c2 "d" %e 7f7 6f $f;f	]8]33]8;^   	^,	^''^,/^94_4 <__4 	__4 __4 _1-_4 0_11_4 4	`,=$`''`,/	b>8A;b99b>cc c/.c/2	d;dd"	e+e

e	e?e::e?
f4f//f47	i .i/h":(i"	i+iiiiic                     G d dt               } G d dt              } G d dt              }| 
t               } d dd	}g d
dd| j                  t        d      fd| j                  t
        d      fd| j                  t        d      fddd| j                  t        d      fd| j                  t        d      fd| j                  t        d      fd| j                  t        d      fd| j                  t        d      fd| j                  t        d      fdddj                  fdt        t        j                   | j                  t"        d      dz
              D              fdd| j                  t$        d      |z  xs df| j                  t&        d       d!k7  s| j                  t(        d"      rd#nd$| j                  t*        d      |z  xs dfdd%d&| j                  t,        d      fd'| j                  t.        d      fd(| j                  t&        d      fd)| j                  t0        d      fd*| j                  t2        d      fd+| j                  t4        d      fdd, || j7                         D ci c]  \  }}|j9                  d-      s|| c}}      dd.d/| j                  t:        d      fd0| j                  t<        d      fdd1d2| j                  t>        d      fdd3d4| j                  t@        d      fd5| j                  tB        d      fd6| j                  tD        d      fd7| j                  tF        d      fd8| j                  tH        d      fd9| j                  tJ        d      fd:| j                  tL        d      fd;| j                  tN        d      fd<| j                  tP        d      fd=| j                  tR        d      fdd>d?| j                  tT        d      fd@ || j                  tV        g       xs dA      fdB || j                  tX        g       xs dA      fdC || j                  tZ        g       xs dA      fdD| j                  t\        d      fddEdF| j                  t^        d      fdG| j                  t`        d      fdH| j                  tb        d      fdI| j                  td        d      fddJdK| j                  tf        d      f| j                  tf        d      rdLndM| j                  th        d       fdN| j                  tj        d      f| j                  tj        d"      rdO| j                  tl        d       ndM| j                  tn        d       fdP| j                  tp        d      f| j                  tp        d"      rdQndM| j                  tr        d       fddR || j                  tt        i             xs dAddS || j7                         D ci c]  \  }}|j9                  dT      r|| c}}      xs dUddV || j                  tv        dW            d| j                  tx        g       rdXndYf || j                  tx        g             d| j                  tz        g       rdZnd[f || j                  tz        g             d
d\}|D ]  }	t}        |	d]      rt        |	d^di t}        |	d_      r,t        t        fd`|	j7                         D              d^di St}        |	da      r4|	D ].  }
t        t        fdb|
j7                         D              dddc 0 t        |	      ddk(  rt        |	z         t        |	   y c c}}w c c}}w )eNc                       e Zd ZdZy)#display_sysinfo.<locals>.DisplayMapTN)r,   r-   r.   display_map_flagr0   r1   r2   
DisplayMaprb        r1   rd  c                       e Zd ZdZy)#display_sysinfo.<locals>.DisplaySeqTN)r,   r-   r.   display_seq_flagr0   r1   r2   
DisplaySeqrg    re  r1   ri  c                       e Zd ZdZy)'display_sysinfo.<locals>.DisplaySeqMapsTN)r,   r-   r.   display_seqmaps_flagr0   r1   r2   DisplaySeqMapsrk    s    #r1   rm  z%-zs : %-si   )zP--------------------------------------------------------------------------------)z__Time Stamp__zReport started (local time)?zUTC start timezRunning time (s))r[   )z__Hardware Information__r   r   r   zNumber of accessible CPUszList of accessible CPUs coresz(CFS Restrictions (CPUs worth of runtime)Noner   r   c              3   B   K   | ]  \  }}|rd dz   z  |z   n|  yw)rJ      Nr0   )rO   r   r^  sep_poss      r2   rQ   z"display_sysinfo.<locals>.<genexpr>3  s6      #
1 ()C7Q;!#a/s   O   )widthzMemory Total (MB)r   r[   rH   FzMemory Available (MB)zFree Memory (MB))z__OS Information__r   r   r   r   r   r   )z__Python Information__Python)z__Numba Toolchain Versions__r   r   )z__LLVM Information__r   )z__CUDA Information__zCUDA Device Initializedr    r!   zCUDA NVIDIA Bindings AvailablezCUDA NVIDIA Bindings In Usez*CUDA Minor Version Compatibility Availablez'CUDA Minor Version Compatibility Neededz'CUDA Minor Version Compatibility In Use)zCUDA Detect Output:)zCUDA Libraries Test Output:)z__NumPy Information__r"   r#   )zNone found.r$   r%   z!NumPy AVX512_SKX support detected)z__SVML Information__zSVML State, config.USING_SVMLzSVML Library Loadedz llvmlite Using SVML Patched LLVMr&   )z__Threading Layer Information__zTBB Threading Layer Availablez+-->TBB imported successfully.z+--> Disabled due to z OpenMP Threading Layer Availablez+-->Vendor: z#Workqueue Threading Layer Availablez$+-->Workqueue imported successfully.)z*__Numba Environment Variable Information__)z__Conda Information__Conda)zConda not available.)z__Installed Packages__)z Couldn't retrieve packages info.z__Error log__zNo errors reported.z__Warning log__zNo warnings reported.)a  If requested, please copy and paste the information between
the dashed (----) lines, or from a given specific section as
appropriate.

=============================================================
IMPORTANT: Please ensure that you are happy with sharing the
contents of the information present, any information that you
wish to keep private you should remove before sharing.
=============================================================
rh  seprc  c              3   2   K   | ]  \  }}||fz    y wrL   r0   rO   rw   rG  fmts      r2   rQ   z"display_sysinfo.<locals>.<genexpr>  s     >I&1a1vIs   rl  c              3   8   K   | ]  \  }}d |z   |fz    yw)	Nr0   ry  s      r2   rQ   z"display_sysinfo.<locals>.<genexpr>  s#     IyVaSD1Ha=0ys   )rw  end   )Adictr   r   r?   r   r   rF  r   r   r   rs   rv   ra   rq   	enumeratetextwrapwrapr   rn   r   r   ro   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  r3  r4  r6  r7  r8  r9  r   rA  rC  rD  r   r   r   )r   rr  rd  ri  rm  MBrw   rG  templatetrj   rz  s    `         @r2   r   r     s-
    T   U  $ $ |}wiw
C	B}}} 
'(=>} 
488J45	}
 
TXXh45} 	} 	&} 
DHHXs+,} 
TXXi-.} 
dhhz3/0} 
%dhh}c&BC} 
)$((:s*CD} 
4HH]F+	-} 	}  
 #
!HH]C0w,#
 
 	!}2 	3}4 
dhhz15;BsC5}8 xx"%1TXXgu5M 
!#TXXna%@B%F%M#	O7}< 	=}> 	 ?}@ 
$((>378A}B 
TXX&7=>C}D 
DHHXs+,E}F 
txxS12G}H 
)93 ?@I}J 
-56K}L 	M}N 	$O}P 	TZZ\L\TQQ\\(5KAqD\LMQ}R 	S}T 	*U}V 
$((>378W}X 
TXX&7=>Y}Z 	[}\ 	"]}^ 
-56_}` 	a}b 	"c}d 
#DHH\3$?@e}f 
c :;g}h 
 *c!:;i}j 
*4884G+MNk}l 
'	*C	0	2m}p 
6	#S	)	+q}t 
3	.#	&	(u}x 
3	.#	&	(y}| 	!}}~ 
.&	)+}@ 	)A}B 
,	')C}D 	E}F 	#G}H 
$((>378I}J 
)	DHH;R@ ('
)	*K}P 
)	DHH;R@ ('
)	*Q}V 
)	DHH;R@ ('
)	*W}\ 
-	,c	2	4]}` 	a}b 	"c}d 
)$((;*DEe}f 
s ;<g}h 
,TXX6H#-NOi}j 
TXX&7=>k}l 	m}n 	-o}p 
)$((;*DEq}r .2XXk3-G	)(*c)B(CD	Gs}v 
,TXXnc-JKw}z xx. 56	7(-)E(FG	Jy}~ 
/c0JK}@ 4888K3O	/(*c)B(CD	GA}D 	E}F 	8G}H 
DHH_b1	2	F6FI}J 	K}L 	#M}N 
djjl /ldaW- Tl / 
0 
M3LQ}R 	S}T 	$U}V 	488I'LMNW}X 	Y}Z !HHWb1&	)[}^ 	488GR()_}` 	a}b #hhy"5	(	+c}f 	488Ir*+g}h 	i}j	Mk}H| 1()1$Q*+5>AGGI>>IDIQ./uIqwwyIID*  Vq[#'N1I m M~/s   ^60^67^<__main__)N-   )or:  r   r   r   r|   r  r'  
contextlibr   r   ior   
subprocessr   r   r   numpyr  llvmlite.bindingbindingr   llvmliter	   r   numbar
   r  r   
numba.cudar   numba.cuda.cudadrv.driverr   r
  numba.cuda.cudadrv.runtimer   r  
numba.corer   r   r   r  __all__r   r   rF  r   r   r   r   rs   rv   r   r]   r`   ra   rn   ro   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  r3  r4  r7  r6  r8  r9  r   r<  r=  r>  r?  r@  rA  r   rC  rD  r   r   r   r   r   r,   r0   r1   r2   <module>r     s      	   
 &   = =  # 4 ;  8 ;  N+
,
  ? 
H / 	:? z4 
K!9 
N$G !!/ +(  &" & !##
, 8 D G AA !@ !@ !@ 8 ; \( & @ Z L  L Z"#=   .%M "",  	

	 
{|nbYx z q  		s   ,D D%$D%