
    gg#                        S SK r S SKJrJrJr  \" SS5      \" SS5      /r\" SS\R                  SS	5      \" S
S\R                  SS	5      \" SS\R                  SS	5      \" SS\R                  SS	5      /r\" SS\R                  SS	5      \" S
S\R                  SS	5      \" SS\R                  SS	5      \" SS\R                  SS	5      /r\" SS\R                  S 5      \" SS\R                  S 5      \" SS\R                  S 5      \" SS\R                  S S	5      \" SS\R                  S S	5      /r	S r
S rS rS rS rS rS  rg)!    N)
ImportanceMetricRequestRequestedMetricsParser*device__attribute_compute_capability_majorcc_major*device__attribute_compute_capability_minorcc_minorz<lts__t_sectors_srcunit_tex.avg.pct_of_peak_sustained_elapsedlts_srcunit_peak_sustained_rateFz*lts__t_sectors_srcunit_tex_lookup_miss.sumlts_srcunit_lookup_missz8lts__t_sectors_srcunit_tex_aperture_peer_lookup_miss.sumz:lts__t_sectors_srcunit_tex_aperture_sysmem_lookup_miss.sumz;syslts__t_sectors_srcunit_tex_aperture_peer_lookup_miss.sumz=syslts__t_sectors_srcunit_tex_aperture_sysmem_lookup_miss.sumzdram__bytes.sum.per_seconddram_bandwidthzpcie__read_bytes.sum.per_secondpcie_read_bandwidthz pcie__write_bytes.sum.per_secondpcie_write_bandwidthznvlrx__bytes.sum.per_secondnvlink_read_bandwidthznvltx__bytes.sum.per_secondnvlink_write_bandwidthc                      g)NMemoryApertureUsage r       7nsight-compute-2025.1.1/sections/MemoryApertureUsage.pyget_identifierr   9   s     r   c                      g)NzMemory Aperture Usager   r   r   r   get_namer   <   s    "r   c                      g)NzjDetection of frequent memory accesses backed by apertures with slower memory bandwidth and higher latency.r   r   r   r   get_descriptionr   ?   s    wr   c                      g)NMemoryWorkloadAnalysis_Chartr   r   r   r   get_section_identifierr   B   s    )r   c                      S/$ )NMemoryr   r   r   r   get_parent_rules_identifiersr    E   s
    :r   c                 6   U S   R                  5       nX   R                  5       nU S   R                  5       nU S   R                  5       U S   R                  5       -   nU S   R                  5       U S   R                  5       -   nUS:X  a  UnO.US:X  a  [        Xg5      nO[        R                  R                  S	4$ US	:w  a8  US	:w  a2  US	:w  a,  XC-  S
X-  -
  -  S-  n	[        R                  R
                  n
X4$ S	n	[        R                  R                  n
X4$ )Nr   r   r   r   r   r   sysmempeerr      d   )valuemaxNvRules	IFrontendSpeedupType_LOCALSpeedupType_GLOBAL)metricsapertureaperture_miss_metricall_lookup_missesaperture_lookup_missesr   pcie_bandwidthnvlink_bandwidthaperture_bandwidthimprovement_percentspeedup_types              r   get_estimated_speedupr6   H   s;    9:@@B$:@@B-.446N2399;gF\>]>c>c>eeN67==?'JbBcBiBiBkk8+	V	 B   22A55A.A"5:LPQ:Q5IaRdRuNuvy||((;;
 ,,  ((::,,r   c                    [         R                  " U 5      nUR                  S5      R                  S5      nUR	                  5       n[        X5      R                  [        5      nUS   R                  5       S-  US   R                  5       -   n US:X  d  US:X  d  US:X  a  g SS	S
.n[        nUS:  a  [        nU[        -  n[        X5      R                  U5      nUS   n	US   n
U	b  U
c  g U	R                  5       nU
R                  5       nSnSnSnUS:  a  SnU GHb  nUU   nSR                  UU5      nUU   nUc  M%  UR                  5       nU(       a  SU-  U-  OSnX:  d  MM  UU:  d  MU  SR                  UU5      nUSR                  UR                  5       5      -  nUS-  nSU::  a'  USR                  UR                  5       5      -  nUS-  nUR                  [         R                  R                   USR                  U5      5      n[#        UUU5      u  nnUR%                  UUU5        UR'                  UUU[         R                  R(                  SR                  UR                  5       5      5        GMe     g )Nr   r   
   r	   H   W   e   PeerSystem)r#   r"   r%   r
   r   2   (   ltssysltsz5{}__t_sectors_srcunit_tex_aperture_{}_lookup_miss.sumg      Y@g        zl{} memory backs {:.1f}% of the data in the L2 cache that was requested by L1TEX and had cache misses in L2. zFetching data from {} memory is considerably slower than accessing the device's dedicated DRAM, as the data needs to be communicated over PCIE or NVLINK. zPConsider moving frequently accessed data to DRAM before launching this workload.P   zj Tweaking the L2 cache policies can help optimizing the cache hit rates for accesses to slower {} memory. zRLookup CUaccessProperty and policy CU_ACCESS_PROPERTY_PERSISTING for more details.z{} Memory Usagez'Decrease the lookup misses to {} memory)r(   get_contextrange_by_idxaction_by_idxfrontendr   parserequested_metrics_baser&   requested_metricsrequested_metrics_gb10xrequested_metrics_optionalformatlowermessager)   MsgType_MSG_OPTIMIZATIONr6   speedupfocus_metricSeverity_SEVERITY_DEFAULT)handlectxactionfemetrics_basecc	aperturesrequested_metrics_for_chipr,   *lts__t_sectors_srcunit_tex_peak_pct_metric-lts__t_sectors_srcunit_tex_lookup_miss_metric#lts__t_sectors_srcunit_tex_peak_pct&lts__t_sectors_srcunit_tex_lookup_misslts__high_utilization_threshold(lts__high_aperture_utilization_thresholdunit_prefixr-   aperture_infometric_name6lts__t_sectors_srcunit_tex_aperture_lookup_miss_metric/lts__t_sectors_srcunit_tex_aperture_lookup_miss5lts__t_sectors_srcunit_tex_aperture_lookup_miss_ratiorN   msg_idr5   speedup_values                             r   applyri   e   s@   


f
%Ca ..q1F	B)&9??@VWL	j	!	'	'	)B	.j1I1O1O1Q	QB889  I "3	Sy%<""<<$V4::;UVG189Z1[.4;<U4V119=j=r*T*Z*Z*\'-Z-`-`-b*&(#/1,K	Sy!(+MTTU`bjkAHAU>AI:p:v:v:x7 dJGv@v  z`  A`  PR=.P  VK  Nv  Vv E  L  L  MZ  \Q  RG  t  {  {  |I  |O  |O  |Q  R  RGiiGRx  H  O  O  P]  Pc  Pc  Pe  f  fooZZ 1 1 J JGUfUmUmn{U|}F*?S^*_'L-JJv|];OOFK1`bibsbs  cN  cN  Py  P@  P@  AN  AT  AT  AV  PW  X3 r   )r(   RequestedMetricsr   r   r   rH   OPTIONALrI   rJ   rK   r   r   r   r   r    r6   ri   r   r   r   <module>rl      s  2  N N >
K>
K  PRsu  vI  vI  KO  QV  W>@Y[e[n[nptv{|LdT^TgTgimotuNPTV`ViVikoqvw	  PRsu  vI  vI  KO  QV  W>@Y[e[n[nptv{|OQUWaWjWjlprwxQSWYcYlYlnrtyz	  .0@*BUBUWXY35JJL_L_abc46LjNaNacde/1H*J]J]_`bgh/1I:K^K^`achi !#x*-:GXr   