11import  argparse 
22import  os 
3- import  re 
43
54import  matplotlib .pyplot  as  plt 
65import  numpy  as  np 
@@ -16,35 +15,37 @@ def print_section_header(title):
1615    print ("="  *  100  +  "\n " )
1716
1817
19- def  normalize_tab_name (name ):
18+ def  normalize_name (name ):
2019    """Normalize tab name for better matching""" 
2120    # Convert to lowercase and remove spaces 
22-     return  name .lower ().replace (" " , "" )
21+     return  name .lower ().replace (" " , "" ). replace ( "(private)" ,  "" ) 
2322
2423
2524def  parse_model_device_config (config ):
2625    """Extract model and device from config""" 
2726    model  =  config .get ("model" , "" )
27+     backend  =  config .get ("backend" , "" )
28+     full_model  =  f"{ model } { backend }   if  backend  else  model 
2829    base_device  =  config .get ("device" , "" )
2930    os_version  =  config .get ("arch" , "" )
3031    full_device  =  f"{ base_device } { os_version }   if  os_version  else  base_device 
3132    if  not  base_device :
32-         return  model , "unkown" , "unknown" , "" 
33-     return  model , full_device , base_device , os_version 
33+         return  full_model , "unkown" , "unknown" , "" 
34+     return  full_model , full_device , base_device , os_version 
3435
3536
3637def  is_matching_dataset (primary_sheet , reference_sheet ):
3738    """ 
3839    Check if two datasets match for comparison based on model and device 
3940    Allows different OS versions for the same device 
4041    """ 
41-     primary_model  =  primary_sheet .get ("model" , "" )
42-     primary_device  =  primary_sheet .get ("base_device" , "" )
43-     primary_os  =  primary_sheet .get ("os_version" , "" )
42+     primary_model  =  normalize_name ( primary_sheet .get ("model" , "" ) )
43+     primary_device  =  normalize_name ( primary_sheet .get ("base_device" , "" ) )
44+     #  primary_os = normalize_name( primary_sheet.get("os_version", "") )
4445
45-     reference_model  =  reference_sheet .get ("model" , "" )
46-     reference_device  =  reference_sheet .get ("base_device" , "" )
47-     reference_os  =  reference_sheet .get ("os_version" , "" )
46+     reference_model  =  normalize_name ( reference_sheet .get ("model" , "" ) )
47+     reference_device  =  normalize_name ( reference_sheet .get ("base_device" , "" ) )
48+     #  reference_os = normalize_name( reference_sheet.get("os_version", "") )
4849
4950    if  not  primary_model :
5051        print ("Warning: Primary sheet {} has no model info, for {primary_model} " )
@@ -82,9 +83,9 @@ def analyze_latency_stability(  # noqa: C901
8283
8384    for  document  in  documents :
8485        sheetName  =  document .get ("sheetName" , None )
85-         print (f"Loading dataset: { sheetName }  )
8686        df  =  document .get ("df" , None )
8787        config  =  document .get ("groupInfo" , None )
88+         print (f"Loading dataset: { sheetName } { config }  )
8889
8990        if  df  is  None  or  df .empty :
9091            print (f"Skipping sheet { sheetName }  )
@@ -139,14 +140,13 @@ def analyze_latency_stability(  # noqa: C901
139140    reference_datasets  =  {}
140141    if  reference_file :
141142        print_section_header ("LOADING REFERENCE DATASETS (Public)" )
142-         documents  =  read_excel_with_json_header (primary_file )
143+         documents  =  read_excel_with_json_header (reference_file )
143144
144145        for  document  in  documents :
145146            sheetName  =  document .get ("sheetName" , None )
146-             print (f"Loading dataset: { sheetName }  )
147147            df  =  document .get ("df" , None )
148148            config  =  document .get ("groupInfo" , None )
149- 
149+              print ( f"Loading dataset:  { sheetName }  with config: { config } " ) 
150150            if  df  is  None  or  df .empty :
151151                print (f"Skipping sheet { sheetName }  )
152152                continue 
@@ -263,7 +263,9 @@ def analyze_latency_stability(  # noqa: C901
263263                    break 
264264
265265            if  not  found_match :
266-                 print (f"Warning: No matching reference dataset for { primary_sheet }  )
266+                 print (
267+                     f"Warning: No matching reference dataset for { primary_sheet } { primary_info ['model' ]} { primary_info ['full_device' ]}  
268+                 )
267269
268270        if  not  matches_found :
269271            print ("No matching datasets found between primary and reference files." )
0 commit comments