@@ -37,77 +37,75 @@ def __hash__(self) -> int:
3737 return hash (self .name )
3838
3939 def get_compiler_info (self ) -> str :
40- with tempfile .TemporaryDirectory () as build_dir :
41- subprocess .run (
42- ["cmake" , "-B" , build_dir , "-S" , "." , "-DCMAKE_VERBOSE_MAKEFILE=ON" ],
43- check = True ,
44- stdout = subprocess .DEVNULL ,
45- stderr = subprocess .DEVNULL ,
46- )
47-
48- cache = pathlib .Path (build_dir ) / "CMakeCache.txt"
49- if not cache .exists ():
50- return "unknown"
51-
52- pat = re .compile (r"CMAKE_.*_COMPILER:FILEPATH=(.+)" , re .IGNORECASE )
53- compiler_name = ""
54-
55- for line in cache .read_text (errors = "ignore" ).splitlines ():
56- if "fortran" in line .lower ():
57- m = pat .search (line )
58- if m :
59- compiler_name = pathlib .Path (m .group (1 ).strip ()).name
60- break
61-
62- name = compiler_name .lower ()
63- if "gfortran" in name :
64- return "gnu"
65- if "ifort" in name or "ifx" in name :
66- return "intel"
67- if "nvfortran" in name :
68- return "nvhpc"
69- if name == "ftn" or "cray" in name :
70- return "cray"
71- if "pgfortran" in name :
72- return "pgi"
73- if "clang" in name :
74- return "clang"
75- if "flang" in name :
76- return "flang"
77- return "unknown"
40+ compiler = "unknown"
41+ with tempfile .TemporaryDirectory () as build_dir :
42+ subprocess .run (
43+ ["cmake" , "-B" , build_dir , "-S" , "." , "-DCMAKE_VERBOSE_MAKEFILE=ON" ],
44+ check = True ,
45+ stdout = subprocess .DEVNULL ,
46+ stderr = subprocess .DEVNULL ,
47+ )
48+
49+ cache = pathlib .Path (build_dir ) / "CMakeCache.txt"
50+ if not cache .exists ():
51+ compiler = "unknown"
52+
53+ pat = re .compile (r"CMAKE_.*_COMPILER:FILEPATH=(.+)" , re .IGNORECASE )
54+ compiler_name = ""
55+
56+ for line in cache .read_text (errors = "ignore" ).splitlines ():
57+ if "fortran" in line .lower ():
58+ m = pat .search (line )
59+ if m :
60+ compiler_name = pathlib .Path (m .group (1 ).strip ()).name
61+ break
62+
63+ name = compiler_name .lower ()
64+ if "gfortran" in name :
65+ compiler = "gnu"
66+ if "ifort" in name or "ifx" in name :
67+ compiler = "intel"
68+ if "nvfortran" in name :
69+ compiler = "nvhpc"
70+ if name == "ftn" or "cray" in name :
71+ compiler = "cray"
72+ if "pgfortran" in name :
73+ compiler = "pgi"
74+ if "clang" in name :
75+ compiler = "clang"
76+ if "flang" in name :
77+ compiler = "flang"
78+ return compiler
7879
7980 def get_slug (self , case : Case ) -> str :
8081 if self .isDependency :
8182 return self .name
8283
8384 # Start with target name
8485 parts = [self .name ]
85-
86+
8687 # Add active configuration options
8788 cfg = CFG ()
8889 cfg_parts = []
8990 for key , value in sorted (cfg .items ()):
9091 if value : # Only include enabled options
9192 cfg_parts .append (key )
92-
93+
9394 if cfg_parts :
9495 parts .append ('-' .join (cfg_parts ))
95-
96+
9697 # Add chemistry info if enabled
9798 if case .params .get ('chemistry' , 'F' ) == 'T' :
9899 parts .append (f"chem-{ case .get_cantera_solution ().name } " )
99-
100+
100101 # Add case optimization if enabled
101102 if case .params .get ('case_optimization' , False ):
102103 parts .append ('opt' )
103-
104+
104105 # Add compiler identifier
105- try :
106- compiler_id = self .get_compiler_info ()
107- if compiler_id and compiler_id != 'unknown' :
108- parts .append (f"fc-{ compiler_id } " )
109- except :
110- parts .append (f"fc-unknown" )
106+ compiler_id = self .get_compiler_info ()
107+ if compiler_id :
108+ parts .append (f"fc-{ compiler_id } " )
111109
112110 # Join all parts with underscores
113111 return '_' .join (parts )
0 commit comments