Loading main.py +2 −1 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ from raps.account import Accounts from raps.weather import Weather from raps.utils import create_casename, convert_to_seconds, write_dict_to_file, next_arrival from raps.stats import get_engine_stats, get_job_stats, get_scheduler_stats from raps.utils import convert_numpy_to_builtin config = ConfigManager(system_name=args.system).get_config() Loading Loading @@ -281,5 +282,5 @@ if args.output: json_string = json.dumps(sc.accounts.to_dict()) f.write(json_string) except TypeError: raise TypeError(f"{sc.accounts} could not be parsed by json.dump") write_dict_to_file(sc.accounts.to_dict(), OPATH / 'accounts.json') print("Output directory is: ", OPATH) # If output is enabled, the user wants this information as last output raps/utils.py +23 −1 Original line number Diff line number Diff line Loading @@ -360,7 +360,8 @@ def write_dict_to_file(dictionary, file_path): if isinstance(value, dict): file.write(f"{key}: {{\n") for subkey, subvalue in value.items(): file.write(f" {subkey}: {subvalue}\n") base_subvalue = convert_numpy_to_builtin(subvalue) file.write(f" {subkey}: {base_subvalue}\n") file.write("}\n") else: file.write(f"{key}: {value}\n") Loading @@ -375,6 +376,27 @@ def toJSON(obj): indent=4) def convert_numpy_to_builtin(obj): if isinstance(obj, dict): tmp_obj = dict() for k,v in obj.items(): tmp_obj[k] = convert_numpy_to_builtin(v) return tmp_obj elif isinstance(obj, list): return [convert_numpy_to_builtin(i) for i in obj] elif isinstance(obj, np.ndarray): tmplist = obj.tolist() return convert_numpy_to_builtin(tmplist) elif isinstance(obj, (np.integer, np.int64, np.int32)): return int(obj) elif isinstance(obj, (np.floating, np.float64, np.float32)): return float(obj) elif isinstance(obj, (np.bool_)): return bool(obj) else: return obj def get_utilization(trace, time_quanta_index): """Retrieve utilization value for a given trace at a specific time quanta index.""" if isinstance(trace, (list, np.ndarray)): Loading Loading
main.py +2 −1 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ from raps.account import Accounts from raps.weather import Weather from raps.utils import create_casename, convert_to_seconds, write_dict_to_file, next_arrival from raps.stats import get_engine_stats, get_job_stats, get_scheduler_stats from raps.utils import convert_numpy_to_builtin config = ConfigManager(system_name=args.system).get_config() Loading Loading @@ -281,5 +282,5 @@ if args.output: json_string = json.dumps(sc.accounts.to_dict()) f.write(json_string) except TypeError: raise TypeError(f"{sc.accounts} could not be parsed by json.dump") write_dict_to_file(sc.accounts.to_dict(), OPATH / 'accounts.json') print("Output directory is: ", OPATH) # If output is enabled, the user wants this information as last output
raps/utils.py +23 −1 Original line number Diff line number Diff line Loading @@ -360,7 +360,8 @@ def write_dict_to_file(dictionary, file_path): if isinstance(value, dict): file.write(f"{key}: {{\n") for subkey, subvalue in value.items(): file.write(f" {subkey}: {subvalue}\n") base_subvalue = convert_numpy_to_builtin(subvalue) file.write(f" {subkey}: {base_subvalue}\n") file.write("}\n") else: file.write(f"{key}: {value}\n") Loading @@ -375,6 +376,27 @@ def toJSON(obj): indent=4) def convert_numpy_to_builtin(obj): if isinstance(obj, dict): tmp_obj = dict() for k,v in obj.items(): tmp_obj[k] = convert_numpy_to_builtin(v) return tmp_obj elif isinstance(obj, list): return [convert_numpy_to_builtin(i) for i in obj] elif isinstance(obj, np.ndarray): tmplist = obj.tolist() return convert_numpy_to_builtin(tmplist) elif isinstance(obj, (np.integer, np.int64, np.int32)): return int(obj) elif isinstance(obj, (np.floating, np.float64, np.float32)): return float(obj) elif isinstance(obj, (np.bool_)): return bool(obj) else: return obj def get_utilization(trace, time_quanta_index): """Retrieve utilization value for a given trace at a specific time quanta index.""" if isinstance(trace, (list, np.ndarray)): Loading