§
    ƒÛgah  ã                   ó^  — 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(\  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„ ZldEdC„ZmendDk    r em¦   «          dS dS )Fé    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 Š|                     | i ¦  «        Š‰                     dd¦  «        }t          rºt          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© ó    úN/granary/edev/quantum/lib/python3.11/site-packages/numba/misc/numba_sysinfo.pyÚCmdBufferOutr+   q   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   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   ó4   K  — | ]}t          |¦  «        V — Œd S ©N©Ústr)Ú.0Úns     r2   ú	<genexpr>z#get_os_spec_info.<locals>.<genexpr>·   s(   è è € Ð/MÐ/M¸1µ°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Ý',¨U°2¬YÑ'7Ô'7ˆL�Ñ$Ø× Ò ¥¨bÑ1Ô1×7Ò7Ñ9Ô9ˆØð 	9Ý(-¨e°B¬iÑ(8Ô(8ˆL�Ñ%Ø×Ò�J¨Ñ+Ô+¨rÒ1Ð1Ø$×(Ò(­°RÑ8Ô8ˆIØ%×)Ò)­+°rÑ:Ô:ˆJØ&¨Ñ3ˆNØ*8ˆL�Ñ'Ð'Ð'ð	 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ÐO 1À1Ç9Â9Á;Ä;ÐO˜QÐ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ˆØ�Š�V—Z’Z ¨Ñ,Ô,Ñ-Ô-Ð-Ý�nÐ-ð 	:ð 	:ˆAØ—W’WÐOÐO¨×(8Ò(8¸¸BÑ(?Ô(?ÐOÑOÔOÑOÔOˆFÝ! & +¨AÑ.Ô.°°q´Ñ9ˆL˜‰OˆOà× Ò ¥°Ñ3Ô3×9Ò9Ñ;Ô;ˆØð 	OØ�b”	ˆAØ—’˜‘”˜RÔ ˆAÝ*-­cµ#°a°f¸1¸b±/´/Ñ.BÔ.BÑ*CÔ*C×*IÒ*IÈ#Ñ*NÔ*NˆL�Ñ'Ø× Ò ¥¨RÑ0Ô0×6Ò6Ñ8Ô8ˆØð 	1Ø',¨R¤yˆL�Ñ$Ð$Ð$ð	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   €  3§8¢8­HÔ,=Ñ,?Ô,?Ñ#@Ô#@€ 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   €  c§h¢hð /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   €  b§g¢gð .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$   € Ð=Ð=Ð=¡D A q˜˜A˜A™CœCÐ=Ð=Ð=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°   e   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€Lðd €LØ×Ò˜g rÑ*Ô*€FØ—:’:˜e RÑ(Ô(€Låð 7ÝÔ"Ñ$Ô$ˆØ×ÒÝ˜œÝ˜BœLð
ñ 	ô 	ð 	õ ŒNÑÔˆÝ+2°1°nÑ+EÔ+EÐM�q—~’~Ñ'Ô'Ð'È2ˆØð 	NÝ*-¨lÑ*;Ô*;ˆL�Ñ'Ø'*§x¢xÐ/MÐ/MÀÐ/MÑ/MÔ/MÑ'MÔ'MˆL�Ñ$øõ 	×Òð9ñ	:ô 	:ð 	:ð 	˜Ÿ
š
 >°2Ñ6Ô6Ñ6ˆð
 €FØð 5ñ 5ˆÝ�3Ð(Ñ)Ô)ñ 	5åŒw�~Š~˜c !œfÑ%Ô%ð ðÝ˜c !œf cÑ*Ô*ð /¨aØŸkšk™mœm˜Øð /Ø%(§X¢X¨s°1¬v°s¸1´vÐ.>Ñ%?Ô%?˜C ™FØ"ŸMšM¨#Ñ.Ô.Ð.ð	/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /øøõ
 ð ð ð Ý×%Ò%Ð&?¸AÐ&?Ð&?Ñ@Ô@Ð@Ø�H�H�H�Høøøøðøøøõ ×#Ò#Ð$;×$BÒ$BÀ3ÀqÄ6Ñ$JÔ$JÑKÔKÐKÙðÝ" 3­tÐ4Ñ4Ô4��øÝÕ/Ð0ð ð ð Ý×!Ò!Ð"<¸Ð"<Ð"<Ñ=Ô=Ð=Ø���‘øøøøðøøøõ �sÐ0Ñ1Ô1ð KØ—i’iÐBÐB°·²Ñ1AÔ1AÐBÑBÔBÑBÔBÀUÑJ�Ø�MŠM˜#Ÿ*š*™,œ,×1Ò1Ñ3Ô3Ñ4Ô4Ð4Ñ4ð �:Š:�f˜bÑ!Ô!€DØð /ð /ˆØ—	’	‘”˜dŸjšj™lœlÑ*ˆØð 	/•S˜‘Z”Z 1’_�_Ø�U—Y’Y‘[”[Ô!ˆAØ"ˆL˜‰OˆOÝ�‰ZŒZ˜!Š^ˆ^ÝÐ- tÐ-Ð-Ñ.Ô.Ð.øð9ð 9ð 9ð 9ð 9ð1ð 1ð 1ð 1ð 1ð 1ð"?Øˆ‰ŒˆÝð 	ØˆOÑÔÐøøÝð ?ð ?ð ?Ý×ÒÐ=¸!Ð=Ð=Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>øøøøð?øøøõ Ð@Ð@ð
õ ð 1ð 1ð
õ
 ð Hð Hð
ðð Ðð !×$Ò$ W¨bÑ1Ô1€HØ×ÒÐ=Ð=¨H¯NªNÑ,<Ô,<Ð=Ñ=Ô=Ñ>Ô>Ð>ØÐ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	 te          j3        ¦   «         d          	 d| th          <   tk          ¦   «         }tm          |¦  «        5  te          j7        ¦   «          d d d ¦  «         n# 1 swxY w Y   | 8                    ¦   «         | tr          <   | :                    ¦   «          tw          j<        ¦   «         }t{          j<        ¦   «         }d|z  | t|          <   d|z  | t~          <   tk          ¦   «         }tm          |¦  «        5  t€          jA         B                    ¦   «          d d d ¦  «         n# 1 swxY w Y   | 8                    ¦   «         | t†          <   | :                    ¦   «          	 ddlDmD} d}n# tŠ          $ r d}Y nw xY w|| tŒ          <   t�          t€          jH        jI        ¦  «        }	|	| t”          <   	 ddlKmL}
 ddlMmN} d| tž          <   n# tŠ          $ r d| tž          <   Y nw xY w||k    | t           <   t�          t¢          jR        ¦  «        | t¦          <   nì# tb          $ r7}t¨           -                    dt«          |¦  «        › d|› �¦  «         Y d }~n°d }~ww xY w# tb          $ r›}d| th          <   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        jY        | t´          <   	 ddl[m\}m]}m^} d„ |                     ¦   «         D ¦   «         }|| t¾          <   || tÀ          <   || tÂ          <   | b                    dd¦  «        | tÆ          <   n# tŠ          $ r d| tÆ          <   Y nw xY wd}	 tÈ          j         e                    d¦  «        rt          jf        d¦  «         njtÈ          j         e                    d ¦  «        rt          jf        d!¦  «         n6tÈ          j         e                    d"¦  «        rt          jf        d#¦  «         nd}n# tb          $ r d}Y nw xY wt­          t          jg        d$d ¦  «        }|r
 |¦   «         nd| tÐ          <   t¢          ji        | tÔ          <   || tÖ          <   tÙ          | tÔ                   | tÖ                   | tÐ                   f¦  «        | tÚ          <   d%„ }	 dd&lnmo} dd'lpmq}  |¦   «          d| tä          <   n5# tŠ          $ r(}d| tä          <    ||d(¦  «        | tæ          <   Y d }~nd }~ww xY w	 dd)lnmt} d| tê          <   |jv        | tî          <   n5# tŠ          $ r(}d| tê          <    ||d*¦  «        | tð          <   Y d }~nd }~ww xY w	 dd+lnmy} 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 ]\  }!}"| b                    |!d/¦  «        | |"<   Œd0}	 tù          |¦  «        }|                     ¦   «          …                    ¦   «         }#d1„ |#D ¦   «         | �t          <   nî# �t          $ r'}tX           -                    d2|› �¦  «         Y d }~nÁd }~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>3  s>   € ð 5ð 5ð 5¡6 A qØŸ\š\¨(Ñ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>6  s(   è è € ÐKÐK¨1¥ A¡¤ÐKÐKÐKÐKÐKÐKr1   c                 ó   — g | ]	\  }}|¯|‘Œ
S r0   r0   )rO   ÚkeyÚvalues      r2   ú
<listcomp>zget_sysinfo.<locals>.<listcomp>A  s!   € ÐNÐNÐN¡: 3¨ÈÐN˜3ÐNÐNÐNr1   rJ   zError (CPU features): c                 ó,   — g | ]}t          |¦  «        ‘ŒS r0   rM   r»   s     r2   r¿   zget_sysinfo.<locals>.<listcomp>I  s0   € ð -Hð -Hð -H¸­S°©V¬Vð -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ÐE™t˜q !À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Ð$I°1 Q§W¢W¡Y¤YÐ$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¸¼¿ºÀCÑ8HÔ8HÐ$IÑ$IÔ$IÑ!ˆD�'˜6Ý”w—}’} TÑ*Ô*¨1Ô-ˆHØ˜(Ð"Ð"Ø#* 7 7¨F¨FÐ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Ð"L 1Ð"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Ú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á  € ðÝ•”‘”ðå•H”OÑ%Ô%ðõ 	•(Ô"Ñ$Ô$ðõ 	•8Ô-Ñ/Ô/ð	õ
 	•OÔ-Ñ/Ô/ðõ 	�Ô)°$Ð7Ñ7Ô7ðõ 	�8Ô+Ñ-Ô-ðõ 	•(”/Ñ#Ô#ðõ 	•XÔ%Ñ'Ô'ðõ 	•hÔ.Ñ0Ô0ðõ 	•hÔ4Ñ6Ô6ðõ 	�Ô0Ñ2Ô2ðõ 	ð 5ð 5­R¬Z×-=Ò-=Ñ-?Ô-?ð 5ñ 5ô 5ðõ 	�ðõ  	�s—x’xÐKÐKµÔ0JÐKÑKÔKÑKÔKð!õ" 	Õ+ð#õ$ 	•ð%€Hð,5ÝÔ4Ñ6Ô6ˆõ ÐNÐN°×1BÒ1BÑ1DÔ1DÐNÑNÔNÑOÔOˆØ"%§(¢(¨8Ñ"4Ô"4ˆ•ÑÐøõ	 ð 8ð 8ð 8Ý×ÒÐ6°1Ð6Ð6Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7øøøøð8øøøð2ð $'§8¢8ð -Hð -HÝ-3Ô-DÑ-FÔ-Fð-Hñ -Hô -Hñ $Iô $Iˆ•Ñ Ð øåð 2ð 2ð 2Ý×ÒÐ0¨QÐ0Ð0Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1øøøøð2øøøðB*Ý
ŒÑÔ˜!ÔÐð*,	*Ø%)ˆH•\Ñ"å‘Z”ZˆFÝ  Ñ(Ô(ð ð Ý”	‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à'-§¢Ñ'8Ô'8ˆH•^Ñ$Ø�LŠL‰NŒNˆNå!Ô-Ñ/Ô/ˆJÝ!Ô-Ñ/Ô/ˆIØ$+¨jÑ$8ˆH•[Ñ!Ø#*¨YÑ#6ˆH•ZÑ å‘Z”ZˆFÝ  Ñ(Ô(ð $ð $Ý”×!Ò!Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $à%+§_¢_Ñ%6Ô%6ˆH•\Ñ"Ø�LŠL‰NŒNˆNð2Ø%Ð%Ð%Ð%Ð%Ð%Ø,0Ð)Ð)øÝð 2ð 2ð 2Ø,1Ð)Ð)Ð)ð2øøøà,EˆHÕ(Ñ)å"¥7¤>Ô#@ÑAÔAˆOØ1@ˆ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±&´&Ñ8ˆGå×ÒÐØ$˜W˜W¥c­$¨q©'¬'¡l¤l lð4ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøøð#5øøøõF  "œzÔ6€H�^Ñð6ð	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð FÐEÐ'7×'=Ò'=Ñ'?Ô'?ÐEÑEÔEˆØ3@ˆÕ/Ñ0Ø3CˆÕ/Ñ0Ø3CˆÕ/Ñ0à× Ò  ¨uÑ5Ô5ð 	Õ+Ñ,Ð,øõ ð 5ð 5ð 5Ø/4ˆÕ+Ñ,Ð,Ð,ð5øøøð €Oð
 ÝŒ<×"Ò" 7Ñ+Ô+ð 	$ÝÔ-¨lÑ;Ô;Ð;Ð;ÝŒ\×$Ò$ XÑ.Ô.ð 	$ÝÔ-¨oÑ>Ô>Ð>Ð>ÝŒ\×$Ò$ UÑ+Ô+ð 	$ÝÔ-¨mÑ<Ô<Ð<Ð<à#ˆOøøÝð  ð  ð  Øˆˆˆð øøøå•8Ô# Z°Ñ6Ô6€DØ-1Ð#< 4 4¡6¤6 6°u€HÕÑ Ý"Ô-€H�[ÑØ,€H�\ÑÝ"%Ø•ÔØ•ÔØÕ#Ô$ð'ñ #ô #€HÕÑð
)ð 
)ð 
)ð9à*Ð*Ð*Ð*Ð*Ð*ð 	JÐIÐIÐIÐIÐIØ%Ð%Ñ'Ô'Ð'Ø $ˆ•ÑÐøÝð 9ð 9ð 9à %ˆ•ÑØ*˜{¨1¨iÑ8Ô8ˆ•ÑÐÐÐÐÐøøøøð9øøøð
<Ø*Ð*Ð*Ð*Ð*Ð*Ø#'ˆ•Ñ Ø#*Ô#8ˆ•Ñ Ð øÝð <ð <ð <Ø#(ˆ•Ñ Ø"- +¨a°Ñ";Ô";ˆ•ÑÐÐÐÐÐøøøøð<øøøð;Ø,Ð,Ð,Ð,Ð,Ð,Ø $ˆ•ÑÐøÝð ;ð ;ð ;Ø $ˆ•ÑØ*˜{¨1¨kÑ:Ô:ˆ•ÑÐÐÐÐÐøøøøð;øøøð
 &€Cð!MÝ  Ñ%Ô%ˆ	õ ”
˜9×+Ò+Ñ-Ô-Ñ.Ô.ˆæ#3Þ!/Þ'Þ/Þ1ð
ð 
ˆð #'§*¢*¡,¤,ð 	<ð 	<ÑˆG�YØ"'§)¢)¨G°UÑ";Ô";ˆH�YÑÐð  ˆð	MÝ$ SÑ)Ô)ˆIð ×#Ò#Ñ%Ô%×0Ò0Ñ2Ô2ˆDØ"LÐ"L¨dÐ"LÑ"LÔ"LˆH–YÑÐøö	 "ð 	5ð 	5ð 	5Ý×ÒÐ3°Ð3Ð3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4øøøøð	5øøøøõ7 ð 	=ð 	=ð 	=Ý×ÒÐNÈÐNÐNÐNÑOÔOÐOåŒ~˜t U¨FÐ3ˆð	=Ý Ñ$Ô$ˆDð #'§+¢+¡-¤-×":Ò":Ñ"<Ô"<ˆH–YÑÐøõ ð 	3ð 	3ð 	3Ý×ÒÐ1¨aÐ1Ð1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2øøøøð	3øøøøøøøøøøøøð	=øøøðB ‡O‚OÖ$ X­hÔ%7Ñ8Ô8Ñ9Ô9Ð9Ý"€HŽWÑÝ&€HŽYÑÝ"œ,™.œ.¨8µFÔ+;Ñ;×JÒJÑLÔL€HŽXÑØ€Os¹  Æ6H È
IÈH>È>IÉ8J  Ê 
J1Ê
J,Ê,J1Ê5T Ë'S Ë6LÌ
S ÌLÌS ÌLÌBS Î.OÏS ÏOÏS Ï OÏ!3S ÐP ÐS ÐP-Ð*S Ð,P-Ð-5S Ñ#Q: Ñ9S Ñ:RÒS ÒRÒ2S Ó
TÓ-T Ô TÔ
V-ÔBV(Ö(V-×

X/ Ø/YÙYÙB[+ Û+[:Û9[:Þ ^, Þ,
_Þ6_ß_ß"` à
`4à`/à/`4à8a	 á	
a;áa6á6a;âf äe åfå(f
æ
fæ
iæ.içh
ç0iè

h;èh6è1iè6h;è;iéié-   c                 óú  ‡‡	—  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‘d>‘d?|                      tR          d¦  «        f‘d@ ||                      tT          g ¦  «        pdA¦  «        f‘dB ||                      tV          g ¦  «        pdA¦  «        f‘dC ||                      tX          g ¦  «        pdA¦  «        f‘dD|                      tZ          d¦  «        f‘d‘dE‘dF|                      t\          d¦  «        f‘dG|                      t^          d¦  «        f‘dH|                      t`          d¦  «        f‘dI|                      tb          d¦  «        f‘d‘dJ‘dK|                      td          d¦  «        f‘|                      td          d¦  «        rdLndM|                      tf          d¦  «        › �f‘dN|                      th          d¦  «        f‘|                      th          d"¦  «        rdO|                      tj          d¦  «        › �ndM|                      tl          d¦  «        › �f‘dP|                      tn          d¦  «        f‘|                      tn          d"¦  «        rdQndM|                      tp          d¦  «        › �f‘d‘dR‘ ||                      tr          i ¦  «        ¦  «        pdA‘d‘dS‘ |dT„ |                      ¦   «         D ¦   «         ¦  «        pdU‘d‘dV‘ ||                      tt          dW¦  «        ¦  «        ‘d‘|                      tv          g ¦  «        rdXndYf‘ ||                      tv          g ¦  «        ¦  «        ‘d‘|                      tx          g ¦  «        rdZnd[f‘ ||                      tx          g ¦  «        ¦  «        ‘d
‘d\‘R }|D ]ä}t{          |d]¦  «        rt}          |d^diŽ Œt{          |d_¦  «        r8t}          t          ˆ	fd`„|                     ¦   «         D ¦   «         ¦  «        d^diŽ Œgt{          |da¦  «        r>|D ]:}t}          t          ˆ	fdb„|                     ¦   «         D ¦   «         ¦  «        dddcœŽ Œ;Œµt          |¦  «        ddk    rt}          ‰	|z  ¦  «         ŒÛt}          |Ž  Œåd S )eNc                   ó   — e Zd ZdZdS )ú#display_sysinfo.<locals>.DisplayMapTN)r,   r-   r.   Údisplay_map_flagr0   r1   r2   Ú
DisplayMaprm    ó   € € € € € ØÐÐÐr1   ro  c                   ó   — e Zd ZdZdS )ú#display_sysinfo.<locals>.DisplaySeqTN)r,   r-   r.   Údisplay_seq_flagr0   r1   r2   Ú
DisplaySeqrr    rp  r1   rt  c                   ó   — e Zd ZdZdS )ú'display_sysinfo.<locals>.DisplaySeqMapsTN)r,   r-   r.   Údisplay_seqmaps_flagr0   r1   r2   ÚDisplaySeqMapsrv    s   € € € € € Ø#ÐÐÐr1   rx  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>3  sS   øè è € ð #
ð #
á��1ð ()Ð/ˆC�7˜Q‘;Ñ !Ñ#Ð#¨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>K  s/   € ÐLÐLÐL™T˜Q °Q·\²\À(Ñ5KÔ5KÐL�A�qÐLÐLÐLr1   )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__c                 óD   — i | ]\  }}|                      d ¦  «        ¯||“ŒS )ÚCondarµ   r·   s      r2   rˆ   z#display_sysinfo.<locals>.<dictcomp>Š  s>   € ð /ð /ð /™d˜a ØŸš 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.
=============================================================
rs  Úseprn  c              3   ó,   •K  — | ]\  }}‰||fz  V — Œd S rL   r0   ©rO   ru   r¸   Úfmts      €r2   rQ   z"display_sysinfo.<locals>.<genexpr>¥  s/   øè è € Ð>Ð>©&¨1¨a˜  1˜v™Ð>Ð>Ð>Ð>Ð>Ð>r1   rw  c              3   ó2   •K  — | ]\  }}‰d |z   |fz  V — ŒdS )ú	Nr0   r†  s      €r2   rQ   z"display_sysinfo.<locals>.<genexpr>¨  s4   øè è € ÐIÐI±V°a¸˜S D¨1¡H¨a =Ñ0ÐIÐIÐIÐIÐIÐIr1   )r„  Úendé   )@Údictr„   r   r?   ré   rë   rT  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/  r1  r2  r3  r4  r:  r;  r8  r=  r@  rA  rB  rD  rE  rF  rG  r  rO  rQ  rR  r�   rŸ   r�   )
rÞ   r}  ro  rt  rx  ÚMBÚtemplateÚtrh   r‡  s
    `       @r2   r   r     s1  øø€ ð ð  ð  ð  ð  •Tñ  ô  ð  ð ð  ð  ð  ð  •Uñ  ô  ð  ð$ð $ð $ð $ð $�ñ $ô $ð $ð €|Ý‰}Œ}ˆà
ˆwÐ
Ð
Ð
€CØ	€Bð}Øð}àð}ð 
'¨¯ªµ¸Ñ(=Ô(=Ð>ð}ð 
˜4Ÿ8š8¥J°Ñ4Ô4Ð5ð	}ð
 
˜TŸXšX¥h°Ñ4Ô4Ð5ð}ð 	ð}ð 	&ð}ð 
�D—H’H�X sÑ+Ô+Ð,ð}ð 
�T—X’X�i¨Ñ-Ô-Ð.ð}ð 
�d—h’h�z¨3Ñ/Ô/Ð0ð}ð 
% d§h¢h­}¸cÑ&BÔ&BÐCð}ð 
)¨$¯(ª(µ:¸sÑ*CÔ*CÐDð}ð 
4Ø�HŠH•] FÑ+Ô+ð	-ð}ð 	ð}ð  
˜Ÿšð #
ð #
ð #
ð #
å!Ý”Ø—H’H�]¨CÑ0Ô0Ø˜w™,ðñ ô ñô ð#
ñ #
ô #
ñ 
ô 
ð 	ð!}ð2 	ð3}ð4 
˜dŸhšh¥z°1Ñ5Ô5¸Ñ;ÐB¸sÐCð5}ð8 �xŠx� "Ñ%Ô%¨Ò1Ð1°T·X²X½gÀuÑ5MÔ5MÐ1ð 
!Ð	 à# T§X¢X­n¸aÑ%@Ô%@ÀBÑ%FÐ%MÈ#ð	Oð7}ð< 	ð=}ð> 	 ð?}ð@ 
˜$Ÿ(š(¥>°3Ñ7Ô7Ð8ðA}ðB 
˜TŸXšXÕ&7¸Ñ=Ô=Ð>ðC}ðD 
�D—H’H�X sÑ+Ô+Ð,ðE}ðF 
�t—x’x¥¨SÑ1Ô1Ð2ðG}ðH 
 §¢Õ)9¸3Ñ ?Ô ?Ð@ðI}ðJ 
˜Ÿš¥-°Ñ5Ô5Ð6ðK}ðL 	ðM}ðN 	$ðO}ðP 	ˆ
ÐLÐL T§Z¢Z¡\¤\ÐLÑLÔLÑMÔMðQ}ðR 	ðS}ðT 	*ðU}ðV 
˜$Ÿ(š(¥>°3Ñ7Ô7Ð8ðW}ðX 
˜TŸXšXÕ&7¸Ñ=Ô=Ð>ðY}ðZ 	ð[}ð\ 	"ð]}ð^ 
˜Ÿš¥-°Ñ5Ô5Ð6ð_}ð` 	ða}ðb 	"ðc}ðd 
# D§H¢H­\¸3Ñ$?Ô$?Ð@ðe}ðf 
 §¢­°cÑ :Ô :Ð;ðg}ðh 
  §¢­*°cÑ!:Ô!:Ð;ði}ðj 
*¨4¯8ª8Õ4GÈÑ+MÔ+MÐNðk}ðl 
'Ø	�ŠÕ*¨CÑ	0Ô	0ð	2ðm}ðp 
6Ø	�ŠÕ# SÑ	)Ô	)ð	+ðq}ðt 
3Ø	�Š•. #Ñ	&Ô	&ð	(ðu}ðx 
3Ø	�Š•. #Ñ	&Ô	&ð	(ðy}ð| 	!ð}}ð~ 
�Š•. &Ñ	)Ô	)Ð+ð}ð@ 	)ðA}ðB 
�Š•, Ñ	'Ô	'Ð)ðC}ðD 	ðE}ðF 	#ðG}ðH 
˜$Ÿ(š(¥>°3Ñ7Ô7Ð8ðI}ðJ 
)Ø	ˆ�D—H’HÕ;¸RÑ@Ô@ð (Ø'ñ
)ô 
)ð	*ðK}ðP 
)Ø	ˆ�D—H’HÕ;¸RÑ@Ô@ð (Ø'ñ
)ô 
)ð	*ðQ}ðV 
)Ø	ˆ�D—H’HÕ;¸RÑ@Ô@ð (Ø'ñ
)ô 
)ð	*ðW}ð\ 
-Ø	�ŠÕ,¨cÑ	2Ô	2ð	4ð]}ð` 	ða}ðb 	"ðc}ðd 
)¨$¯(ª(µ;ÀÑ*DÔ*DÐEðe}ðf 
 §¢­°sÑ ;Ô ;Ð<ðg}ðh 
,¨T¯XªXÕ6HÈ#Ñ-NÔ-NÐOði}ðj 
˜TŸXšXÕ&7¸Ñ=Ô=Ð>ðk}ðl 	ðm}ðn 	-ðo}ðp 
)¨$¯(ª(µ;ÀÑ*DÔ*DÐEðq}ðr .2¯XªXµkÀ3Ñ-GÔ-Gð 
EÐ	)Ð	)ØD¨¯ªµ*¸cÑ)BÔ)BÐDÐDð	Gðs}ðv 
,¨T¯XªXµnÀcÑ-JÔ-JÐKðw}ðz �xŠx�¨Ñ.Ô.ð
HÐ	7˜Ÿš¥°Ñ5Ô5Ð	7Ð	7Ð	7àG¨¯ªµ-ÀÑ)EÔ)EÐGÐGð	Jðy}ð~ 
/°·²½ÀcÑ0JÔ0JÐKð}ð@ 48·8²8½KÈÑ3OÔ3Oð 
EÐ	/Ð	/ØD¨¯ªµ*¸cÑ)BÔ)BÐDÐDð	GðA}ðD 	ðE}ðF 	8ðG}ðH 
ˆ�D—H’H�_¨bÑ1Ô1Ñ	2Ô	2Ð	FÐ6FðI}ðJ 	ðK}ðL 	#ðM}ðN 
ˆð /ð / d§j¢j¡l¤lð /ñ /ô /ñ 
0ô 
0ð 
MØ3LðQ}ðR 	ðS}ðT 	$ðU}ðV 	ˆ
�4—8’8�IÐ'LÑMÔMÑNÔNðW}ðX 	ðY}ðZ !ŸHšH¥W¨bÑ1Ô1ð 
'ˆˆØ&ð	)ð[}ð^ 	ˆ
�4—8’8�G RÑ(Ô(Ñ)Ô)ð_}ð` 	ða}ðb #Ÿhšh¥y°"Ñ5Ô5ð 
)Ð	Ð	Ø(ð	+ðc}ðf 	ˆ
�4—8’8�I rÑ*Ô*Ñ+Ô+ðg}ðh 	ði}ðj	Mðk}ð }€Hð| ð ð ˆÝ�1Ð(Ñ)Ô)ð 	Ý�1Ð˜$ÐÐÐÐÝ�QÐ*Ñ+Ô+ð 		Ý•5Ð>Ð>Ð>Ð>°A·G²G±I´IÐ>Ñ>Ô>Ñ>Ô>ÐIÀDÐIÐIÐIÐIÝ�QÐ.Ñ/Ô/ð 	Øð *ð *�Ý•uÐIÐIÐIÐI¸q¿wºw¹y¼yÐIÑIÔIÑIÔIØ Dð*ð *ð *ð *ð *ð*õ �‰VŒV�qŠ[ˆ[Ý�#˜‘'‰NŒNˆNˆNå�1ˆIˆIˆIðð r1   Ú__main__)Nrj  )orH  r  ró   r“   rz   rŽ  r5  Ú
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ë   rT  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/  r1  r2  r3  r4  r:  r;  r8  r=  r@  rA  rB  rE  rD  rF  rG  r  rJ  rK  rL  rM  rN  rO  r	  rQ  rR  rš   r‘   r°   r   r   r,   r0   r1   r2   ú<module>r¡     s3  ðØ €€€Ø €€€Ø Ð Ð Ð Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð Ð Ð Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð Ð Ð à€ðØ€M€M€Mð €N€Nøð ð 	ð 	ð 	Ø€Dð	øøøð
 Ð+Ð
,€ð
  ?Ñ €ˆ
�HØ €à€Ø/Ñ €	ˆ:Ø?Ñ €ˆzØ€Ø4Ñ €
ˆKØ!€Ø9Ñ €
ˆNà$GÑ !€Ð!Ø/Ñ €ˆ+Ø(Ð Ø€à €Ø&€Ø"€Ø €à&Ð Ø€à!€Ø#€Ø#€
Ø,Ð Ø8Ð ØDÑ €�ØGÐ ØA€ØA€à €Ø!@Ð Ø!@Ð Ø!@Ð Ø8Ð à;Ñ €ˆ\Ø(Ð Ø&Ð à@Ñ €ˆZØ LÑ €�Ø €ØLÑ €ˆZà"€à#=Ñ  Ð �.Ø%MÑ "€Ð"Ø,Ð à €	à
€à
€Ø€	ð €
Ø€ð{ð {ð {ð|nð nð nðbYð Yð Yð Yðx ˆzÒÐØ€OÑÔÐÐÐð Ðs   Á,A3 Á3A;Á:A;