
    J/Phi                     b   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&n# e($ r Y nw xY w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(ZJd)\  ZKZLd*ZMd+ZNd,ZOd-ZPd.ZQd/ZRd0ZSd1ZTd2\  ZUZVd3ZWd4ZXd5\  ZYZZd6\  Z[Z\d7Z]d8\  Z^Z_d9Z`d:\  ZaZbd;\  ZcZdd<Zed=Zfd>Zgd?Zhd@Zig Zjg ZkdA ZldB ZmdFdDZneodEk    r en             dS dS )G    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 Target Implz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 |                    | i                               dd          }t          rt          j
                    }                    t          |j        t          |j        i           t          j                    }t          |d          r|                                ng }|r>t#          |          t          <   d                    d |D                       t          <   n3t&                              d           |                    dd          z  }g }|D ]}	t          |	d          rt*          j                            |	d                   r	 t1          |	d         d          5 }
|
                                }|r;d                    |	d         |d         f          |d<   |                    |           d d d            n# 1 swxY w Y   # t6          $ r'}t8                              d|            Y d }~d }~ww xY wt&                              d                    |	d                              #	 t=          |	t>                     }n<# t6          t@          f$ r(}t8                              d!|            Y d }~od }~ww xY wt          |	d"          r4d#                    d$ |!                                D                       d%z   }|                    |"                                !                                                               d&i           }|D ]}|#                                |$                                z  }|r3t#          |          dk    r ||%                                         }||<   `t#          |          dk    rtM          d'|            fd(}fd)}	  |             t          s
 |             n4# tN          $ r'}t8                              d*|            Y d }~nd }~ww xY wtP          d+ itR          d, itR          d- id}|                    | i           }                    d. |*                                D                        S )/Nc                       e Zd ZdZdS )&get_os_spec_info.<locals>.CmdBufferOutTN)__name__
__module____qualname__buffer_output_flag     X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/misc/numba_sysinfo.pyCmdBufferOutr+   r   s        !r1   r3   c                       e Zd ZdZdS )%get_os_spec_info.<locals>.CmdReadFileTN)r,   r-   r.   read_file_flagr0   r1   r2   CmdReadFiler5   u   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   4   K   | ]}t          |          V  d S Nstr).0ns     r2   	<genexpr>z#get_os_spec_info.<locals>.<genexpr>   s(      /M/M1A/M/M/M/M/M/Mr1   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   | ]}|V  d S rL   r0   )rO   lines     r2   rQ   z#get_os_spec_info.<locals>.<genexpr>   s"      BBBBBBBBr1      
r<   zAmbiguous output: c                                          t          d                                          } | rt          | d                   t          <                        t          d                                          } | rt          | d                   t          <                        t          d          dk    rG                     t          d          }                     t          d          }||z  }|t
          <   d S d S )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06688 	8',U2Y'7'7L$  b117799 	9(-eBi(8(8L%J++r11$((R88I%))+r::J&3N*8L'''	 21r1   c                     t           dt          di} |                                         di                      t           t          fD ]R}d                    d                     |d          D                       }t          |pd          | |         z  |<   S                    t          d                                          }|rj|d         }|                    d          d         }t          t          t          |pdd                              
                    d	          t          <                       t          d                                          }|r|d         t          <   d S d S )
Ni   rE   rY   c              3   B   K   | ]}|                                 |V  d S rL   )isdigit)rO   ds     r2   rQ   z<get_os_spec_info.<locals>.format_optional.<locals>.<genexpr>   s/      OO1199;;OQOOOOOOr1   r   rZ   ,   1)
_mem_total_mem_availableupdater?   joinint_cpus_allowedr\   rN   bincount
_cpus_list)rE   kdigitsr\   rP   rc   paramss        r2   format_optionalz)get_os_spec_info.<locals>.format_optional   sW   T>48VZZ,,---n- 	: 	:AWWOO(8(8B(?(?OOOOOF!&+A..q9LOO  3399;; 	Ob	AR A*-c#af1b//.B.B*C*C*I*I#*N*NL'  R006688 	1',RyL$$$	1 	1r1   zError (format shell output): c                  N    d                     t          j                              S )NrJ   )ro   platformlibc_verr0   r1   r2   <lambda>z"get_os_spec_info.<locals>.<lambda>  s    388H,=,?,?#@#@ r1   c                  b    d                     d t          j                    D                       S )NrJ   c              3      K   | ]}|V  d S rL   r0   )rO   ss     r2   rQ   z5get_os_spec_info.<locals>.<lambda>.<locals>.<genexpr>  s3       /1 /1/1 /1 /1 /1 /1 /1r1   )ro   rz   	win32_verr0   r1   r2   r|   z"get_os_spec_info.<locals>.<lambda>  s9    chh /1 /1#-///1 /1 /1 '1 '1 r1   c                  |    d                     d t          t          j                              D                       S )NrY   c              3   (   K   | ]}|D ]}|pd V  	dS )rJ   Nr0   )rO   r   is      r2   rQ   z5get_os_spec_info.<locals>.<lambda>.<locals>.<genexpr>  sV       .H .HQ.H .H@AS.H .H .H .H .H .H .Hr1   )ro   tuplerz   mac_verr0   r1   r2   r|   z"get_os_spec_info.<locals>.<lambda>  sH    bgg .H .H"'(8(:(:";";.H .H .H 'H 'H r1   c                 *    i | ]\  }}| |            S r0   r0   )rO   ru   fs      r2   
<dictcomp>z$get_os_spec_info.<locals>.<dictcomp>   s$    ===DAqAACC===r1   )+r   rl   rm   rq   rt   r[   r^   r?   _psutil_importpsutilvirtual_memoryrn   total	availableProcesshasattrrI   lenro   _warning_logappendospathexistsopen	readlinesextendOSError
_error_logrd   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:   r   outer<   rV   matchru   rd   rx   os_specific_funcskey_funcrc   rw   s                        @@r2   get_os_spec_infor   f   s|   " " " " "u " " "    e    HIIIJJ
 .//233 (!/!.&0;E<G 
 
( LMMGHH +5%3 
 
   *'  A
 
A0 0Ld Lgr**F::eR((L 7"$$BL
 	 	 	 N+21n+E+EMq~~'''2 	N*-l*;*;L''*xx/M/M/M/M/M'M'ML$ 	9	: 	: 	: 	

>2666
 F 5 53()) 	5w~~c!f%% c!fc** /akkmm /%(XXs1vs1v.>%?%?CF"MM#...	/ / / / / / / / / / / / / / /
    %%&?A&?&?@@@HHHH ##$;$B$B3q6$J$JKKK"3t444/0   !!"<"<"<=== s011 KiiBB1A1ABBBBBUJMM#**,,11334444 ::fb!!D / /		djjll* 	/SZZ1__UYY[[!A"LOOZZ!^^-t--...9 9 9 9 91 1 1 1 1 1"? 	O ? ? ?=!==>>>>>>>>? @@
  1 1

  H H
  !$$Wb11H==HNN,<,<===>>>sm   %J%;AJJ%J	J% J	!J%%
K/KKL&&M7MMR' '
S1SS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          j                    t2          t          j                    t6          d t8          j                                        D             t>          t@          tB          d"                    d t          j#        D                       tH          tJ          tL          tN          } 	 t          j(                    }tS          d |                                D                       }d"                    |          | tT          <   n4# tV          $ r'}tX          -                    d|            Y d }~nd }~ww xY w	 d"                    d	 t]          j/                    D                       | t`          <   n4# tb          $ r'}tX          -                    d
|            Y d }~nd }~ww xY w	 td          j3        | th          <   n# tj          $ r Y nw xY w	 te          j6                    d          	 d| tn          <   tq                      }ts          |          5  te          j:                     d d d            n# 1 swxY w Y   |;                                | tx          <   |=                                 t}          j?                    }t          j?                    }d|z  | t          <   d|z  | t          <   tq                      }ts          |          5  t          jD        E                                 d d d            n# 1 swxY w Y   |;                                | t          <   |=                                 	 ddlGmG} d}n# t          $ r d}Y nw xY w|| t          <   t          t          jK        jL                  }	|	| t          <   	 ddlNmO}
 ddlPmQ} d| t          <   n# t          $ r d| t          <   Y nw xY w||k    | t          <   t          t          jU                  | t          <   n# tb          $ r7}t          -                    dt          |           d|            Y d }~nd }~ww xY w# tb          $ r}d| tn          <   d}d}d}d}t          |dd           }|||v r||z   }n(||v r||z   }n|dz   |z   }n|dz   t          |          z   }t          -                    d|dt          t          |                               Y d }~nd }~ww xY wt          j        j\        | t          <   	 ddl^m_}m`}ma} d |                                D             }|| t          <   || t          <   || t          <   |e                    dd          | t          <   n# t          $ r d| t          <   Y nw xY wd}	 t          j        h                    d          rt          ji        d           njt          j        h                    d           rt          ji        d!           n6t          j        h                    d"          rt          ji        d#           nd}n# tb          $ r d}Y nw xY wt          t          jj        d$d           }|r
 |            nd| t          <   t          jl        | t          <   || t          <   t          | t                   | t                   | t                   f          | t          <   d% }	 dd&lqmr} dd'lsmt}  |             d| t          <   n5# t          $ r(}d| t          <    ||d(          | t          <   Y d }~nd }~ww xY w	 dd)lqmw} d| t          <   |jy        | t          <   n5# t          $ r(}d| t          <    ||d*          | t          <   Y d }~nd }~ww xY w	 dd+lqm|} d| t          <   n5# t          $ r(}d| t          <    ||d,          | t          <   Y d }~nd }~ww xY wd-}	 t          |          }t          j        |                                          }t          t          t
          t          t          d.} |                                 D ]\  }!}"|e                    |!d/          | |"<   d0}	 t          |          }|                                                                }#d1 |#D             | t          <   n# t          $ r'}tX          -                    d2|            Y d }~nd }~ww xY w# tb          $ r}t          -                    d3| d4           t          j        d5d6d7f}	 t          |          }$|$                                                                | t          <   n4# tb          $ r'}tX          -                    d8|            Y d }~nd }~ww xY wY d }~nd }~ww xY w|                     t          | t"                                        tX          | t          <   t          | t          <   t          j                    | t                    z
                                  | t"          <   | S )9NT)aliasedc                 D    i | ]\  }}|                     d           ||S )NUMBA_
startswithrO   ru   vs      r2   r   zget_sysinfo.<locals>.<dictcomp>4  s>     5 5 56Aq\\(335!Q 5 5 5r1   .c              3   4   K   | ]}t          |          V  d S rL   rM   rO   r   s     r2   rQ   zget_sysinfo.<locals>.<genexpr>7  s(      KK1AKKKKKKr1   c                     g | ]	\  }}||
S r0   r0   )rO   keyvalues      r2   
<listcomp>zget_sysinfo.<locals>.<listcomp>B  s!    NNN:3N3NNNr1   rJ   zError (CPU features): c                 ,    g | ]}t          |          S r0   rM   r   s     r2   r   zget_sysinfo.<locals>.<listcomp>J  s0     -H -H -HSVV -H -H -Hr1   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__c                     g | ]	\  }}||
S r0   r0   r   s      r2   r   zget_sysinfo.<locals>.<listcomp>  s!    EEEtq!1EEEEr1   
AVX512_SKXlinuxz
libsvml.sodarwinzlibsvml.dylibwinsvml_dispmdhas_svmlc                     	 d | j                             d          D             \  }}}t          j                            |          d         }||v r|d|S n# t          $ r Y nw xY wdS )Nc                 6    g | ]}|                                 S r0   )strip)rO   xs     r2   r   z4get_sysinfo.<locals>.parse_error.<locals>.<listcomp>  s     $I$I$I1QWWYY$I$I$Ir1   :rD   r   zUnknown import problem.)r   r\   r   r   r   )r   backendr   problemsymbolextn_dsos         r2   parse_errorz get_sysinfo.<locals>.parse_error  s    	$I$IC8H8H$I$I$I!D'6w}}T**1-H(""#*77FF33 # 	 	 	D	((s   AA 
A('A()tbbpool)_check_tbb_version_compatibler   )omppoolr   )	workqueuer   )condainfoz--json)conda_build_versionconda_env_versionrz   python_versionroot_writablezN/A)r   listc                 <    g | ]}|                     d           |S )#r   )rO   ls     r2   r   zget_sysinfo.<locals>.<listcomp>  s)    "L"L"L!,,s:K:K"L1"L"L"Lr1   zError (conda): z)Warning: Conda not available.
 Error was 
z-mpipr   zError (pip): )_startr   now
_start_utcutcnow_machinerz   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   _numba_versionversion_number_llvm_versionro   llvm_version_info_llvmlite_versionllvmlite_version_psutilr   get_host_cpu_featuressorted_cpu_featuresRuntimeErrorr   r   localegetdefaultlocale_python_localer   cuimplementation_cu_target_implAttributeError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getattrrN   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sysr   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   
executablern   r   _errors	_warningstotal_seconds_runtime)%sys_infofeature_mapfeaturesr   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reqss%                                        r2   r   r   $  s   HO%% 	("$$ 	8-//	
 	O-// 	)$777 	8+-- 	(/## 	X%'' 	h.00 	h466 	022 	 5 5RZ-=-=-?-? 5 5 5 	  	sxxKK0JKKKKK!" 	+#$ 	%H,5466 NN1B1B1D1DNNNOO"%((8"4"4	  8 8 861667777777782 $'88 -H -H-3-D-F-F-H -H -H $I $I   2 2 20Q00111111112$&$5!!    	
B*
!*,	*%)H\"ZZF ((  	              '-'8'8H^$LLNNN!-//J!-//I$+j$8H[!#*Y#6HZ ZZF (( $ $!!###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $%+__%6%6H\"LLNNN2%%%%%%,0)) 2 2 2,1)))2,EH()"7>#@AAO1@H-.4333333333333.2*++ 4 4 4.3*+++4 (1:'=H^$'+>(@ (@H^$$ 	* 	* 	*)q'') )%&) )* * * * * * * *	*y  5 5 5!&=1<Ca%%?##''1%,,.8-;cA)C/#a&&8G$WWc$q''lll4 	5 	5 	5 	5 	5 	5 	5 	5#5F  "z6H^6	E 	E 	E 	E 	E 	E 	E 	E 	E 	E FE'7'='='?'?EEE3@/03C/03C/0  u55 	+,,  5 5 5/4+,,,5 O
 <""7++ 	$-l;;;;\$$X.. 	$-o>>>>\$$U++ 	$-m<<<<#O       8#Z66D-1#<44666uH "-H[,H\"%#$' # #H
) 
) 
)9****** 	JIIIII%%''' $ 9 9 9 %*{1i889
<******#' #*#8   < < <#( "-+a";";<;,,,,,, $ ; ; ; $*{1k::;
 &C!M %%	 
9++--..#3!/'/1
 
 #'**,, 	< 	<GY"'))GU";";HY  	M$S))I ##%%0022D"L"Ld"L"L"LHY	 " 	5 	5 	533344444444	57  	= 	= 	=NNNNOOO~tUF3	=$$D #'++--":":"<"<HY  	3 	3 	31a1122222222	3	=B OO$Xh%788999"HW&HY",..8F+;;JJLLHXOs  6H 
IH>>I8J   
J1
J,,J15K
 

KKT. 5'S* L<0S* <M  S* M BS* O?3S* ?PS* P3S* ;Q S* QS* Q5S* 	R  S*  R74S* 6R772S* *
T+4-T&&T+.
W8BWW0
Y Y,+Y,2B\ \ \ 1 _ 
`_??``( (
a2aaa/ /
b!9bb!'f9 9f f6f11f69
i/.i*2h10i*1
i";ii*i""i**i/-   c                 4  	  G d dt                     } G d dt                    } G d dt                    }| t                      } d d	d	}g d
dd|                     t          d          fd|                     t
          d          fd|                     t          d          fddd|                     t          d          fd|                     t          d          fd|                     t          d          fd|                     t          d          fd|                     t          d          fd|                     t          d          fddd                    fdt          t          j        |                     t"          d          dz
                      D                       fdd|                     t$          d          |z  pdf|                     t&          d           d!k    s|                     t(          d"          rd#nd$|                     t*          d          |z  pdfdd%d&|                     t,          d          fd'|                     t.          d          fd(|                     t&          d          fd)|                     t0          d          fd*|                     t2          d          fd+|                     t4          d          fdd, |d- |                                 D                       dd.d/|                     t8          d          fd0|                     t:          d          fdd1d2|                     t<          d          fdd3d4|                     t>          d          fd5|                     t@          d          fd6|                     tB          d          fd7|                     tD          d          fd8|                     tF          d          fd9|                     tH          d          fd:|                     tJ          d          fd;|                     tL          d          fd<|                     tN          d          fd=|                     tP          d          fd>|                     tR          d          fdd?d@|                     tT          d          fdA ||                     tV          g           pdB          fdC ||                     tX          g           pdB          fdD ||                     tZ          g           pdB          fdE|                     t\          d          fddFdG|                     t^          d          fdH|                     t`          d          fdI|                     tb          d          fdJ|                     td          d          fddKdL|                     tf          d          f|                     tf          d          rdMndN|                     th          d           fdO|                     tj          d          f|                     tj          d"          rdP|                     tl          d           ndN|                     tn          d           fdQ|                     tp          d          f|                     tp          d"          rdRndN|                     tr          d           fddS ||                     tt          i                     pdBddT |dU |                                 D                       pdVddW ||                     tv          dX                    d|                     tx          g           rdYndZf ||                     tx          g                     d|                     tz          g           rd[nd\f ||                     tz          g                     d
d]R }|D ]}t}          |d^          rt          |d_di t}          |d`          r8t          t          	fda|                                D                       d_di gt}          |db          r>|D ]:}t          t          	fdc|                                D                       dddd ;t          |          dek    rt          	|z             t          |  d S )fNc                       e Zd ZdZdS )#display_sysinfo.<locals>.DisplayMapTN)r,   r-   r.   display_map_flagr0   r1   r2   
DisplayMaprp            r1   rr  c                       e Zd ZdZdS )#display_sysinfo.<locals>.DisplaySeqTN)r,   r-   r.   display_seq_flagr0   r1   r2   
DisplaySeqru     rs  r1   rw  c                       e Zd ZdZdS )'display_sysinfo.<locals>.DisplaySeqMapsTN)r,   r-   r.   display_seqmaps_flagr0   r1   r2   DisplaySeqMapsry  #  s        #r1   r{  z%-zs : %-si   )zP--------------------------------------------------------------------------------)z__Time Stamp__zReport started (local time)?zUTC start timezRunning time (s))rY   )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   <   K   | ]\  }}|rd dz   z  |z   n|V  dS )rJ      Nr0   )rO   r   r   sep_poss      r2   rQ   z"display_sysinfo.<locals>.<genexpr>;  sS       #
 #
1 ()/C7Q;!##a#
 #
 #
 #
 #
 #
r1   O   )widthzMemory Total (MB)r   rY   rH   FzMemory Available (MB)zFree Memory (MB))z__OS Information__r   r   r   r   r   r   )z__Python Information__c                 D    i | ]\  }}|                     d           ||S )Pythonr   r   s      r2   r   z#display_sysinfo.<locals>.<dictcomp>S  s/    LLLTQQ\\(5K5KLAqLLLr1   )z__Numba Toolchain Versions__r   r   )z__LLVM Information__r   )z__CUDA Information__zCUDA Target Implementationz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__c                 D    i | ]\  }}|                     d           ||S )Condar   r   s      r2   r   z#display_sysinfo.<locals>.<dictcomp>  s>     / / /daW--/Q / / /r1   )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.
=============================================================
rv  seprq  c              3   ,   K   | ]\  }}||fz  V  d S rL   r0   rO   ru   r   fmts      r2   rQ   z"display_sysinfo.<locals>.<genexpr>  s/      >>&1a1v>>>>>>r1   rz  c              3   2   K   | ]\  }}d |z   |fz  V  dS )	Nr0   r  s      r2   rQ   z"display_sysinfo.<locals>.<genexpr>  s4      IIVaSD1Ha=0IIIIIIr1   )r  end   )Adictr   r   r?   r   r   rW  r   r   r   rq   rt   r_   ro   	enumeratetextwrapwrapr  rl   r   r	  rm   r   r   r   r   r   r   r  r  r  r  r  r  r  r$  r'  r*  r+  r-  r  r"  r2  r4  r5  r6  r7  r=  r>  r;  r@  rC  rD  rE  rG  rH  rI  rJ  r  rR  rT  rU  r   r   r   )
r   r  rr  rw  r{  MBtemplatetrh   r  s
    `       @r2   r   r     sQ            T               U      $ $ $ $ $ $ $ $ |}}
w


C	B~~~ 
'(=(=>~ 
488J445	~
 
TXXh445~ 	~ 	&~ 
DHHXs++,~ 
TXXi--.~ 
dhhz3//0~ 
%dhh}c&B&BC~ 
)$((:s*C*CD~ 
4HH]F++	-~ 	~  
 #
 #
 #
 #
!HH]C00w,   #
 #
 #
 
 
 	!~2 	3~4 
dhhz155;BsC5~8 xx"%%11TXXgu5M5M1 
!	 #TXXna%@%@B%F%M#	O7~< 	=~> 	 ?~@ 
$((>3778A~B 
TXX&7==>C~D 
DHHXs++,E~F 
txxS112G~H 
)93 ? ?@I~J 
-556K~L 	M~N 	$O~P 	
LLTZZ\\LLLMMQ~R 	S~T 	*U~V 
$((>3778W~X 
TXX&7==>Y~Z 	[~\ 	"]~^ 
-556_~` 	a~b 	"c~d 
&txx'E'EFe~f 
#DHH\3$?$?@g~h 
c : :;i~j 
 *c!:!:;k~l 
*4884G+M+MNm~n 
'	*C	0	0	2o~r 
6	#S	)	)	+s~v 
3	.#	&	&	(w~z 
3	.#	&	&	({~~ 	!~@ 
.&	)	)+A~B 	)C~D 
,	'	')E~F 	G~H 	#I~J 
$((>3778K~L 
)	DHH;R@@ ('
) 
)	*M~R 
)	DHH;R@@ ('
) 
)	*S~X 
)	DHH;R@@ ('
) 
)	*Y~^ 
-	,c	2	2	4_~b 	c~d 	"e~f 
)$((;*D*DEg~h 
s ; ;<i~j 
,TXX6H#-N-NOk~l 
TXX&7==>m~n 	o~p 	-q~r 
)$((;*D*DEs~t .2XXk3-G-G 
E	)	)D*c)B)BDD	Gu~x 
,TXXnc-J-JKy~| xx..
H	755	7	7	7G-)E)EGG	J{~@ 
/c0J0JKA~B 4888K3O3O 
E	/	/D*c)B)BDD	GC~F 	G~H 	8I~J 
DHH_b11	2	2	F6FK~L 	M~N 	#O~P 
 / /djjll / / / 
0 
0 
M3LS~T 	U~V 	$W~X 	
488I'LMMNNY~Z 	[~\ !HHWb11 
'&	)]~` 	
488GR(())a~b 	c~d #hhy"55 
)		(	+e~h 	
488Ir**++i~j 	k~l	Mm~ ~H~   1()) 	1$Q*++ 		5>>>>AGGII>>>>>IDIIIIQ.// 	 * *uIIIIqwwyyIIIIID* * * * ** VVq[[#'NNNN1III r1   __main__)Nrm  )prK  r  r   r   rz   r  r8  
contextlibr   r   ior   
subprocessr   r   r   numpyr0  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   rW  r  r   r   r   rq   rt   r  r[   r^   r_   rl   rm   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r$  r'  r  r"  r*  r+  r-  r2  r4  r5  r6  r7  r=  r>  r;  r@  rC  rD  rE  rH  rG  rI  rJ  r  rM  rN  rO  rP  rQ  rR  r	  rT  rU  r   r   r   r   r   r,   r0   r1   r2   <module>r     s8         				   



 & & & & & &             = = = = = = = = = =     # # # # # # 4 4 4 4 4 4 ; ; ; ; ; ; ; ;       8 8 8 8 8 8 ; ; ; ; ; ;      MMM NN  	 	 	D	
 +
,
  ? 
H / 	:? z4 
K!9 
N$G !!/ +(  &" & $!##
, 8 D G AA !@ !@ !@ 8 ; \( & @ Z L  L Z"#=   .%M "",  	

	 
{ { {|u u upZ Z Z Zz zO s   ,A3 3A;:A;