From 6f21622efcfb14223c32145654dd1e1f3b4209ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guti=C3=A9rrez=20Hermosillo=20Muriedas=2C=20Juan=20Pedro?= Date: Wed, 27 Dec 2023 23:01:55 +0100 Subject: [PATCH 1/8] feat: better error handling (exit v script error) and testing scripts --- perun/comm.py | 61 ++++++++++ perun/perun.py | 222 ++++++++++++++++++++++++++----------- pyproject.toml | 2 +- tests/scripts/error.py | 10 ++ tests/scripts/exists.txt | 2 + tests/scripts/exit.py | 9 ++ tests/scripts/mpi_error.py | 22 ++++ tests/scripts/sleep.py | 3 + 8 files changed, 264 insertions(+), 67 deletions(-) create mode 100644 tests/scripts/error.py create mode 100644 tests/scripts/exists.txt create mode 100644 tests/scripts/exit.py create mode 100644 tests/scripts/mpi_error.py create mode 100644 tests/scripts/sleep.py diff --git a/perun/comm.py b/perun/comm.py index b1951ab..4009a68 100644 --- a/perun/comm.py +++ b/perun/comm.py @@ -1,6 +1,7 @@ """Comm module.""" import logging +import time from typing import Any, List, Optional log = logging.getLogger("perun") @@ -17,6 +18,7 @@ def __init__(self): try: from mpi4py import MPI + self._MPI = MPI if MPI.COMM_WORLD.Get_size() >= 1: self._comm = MPI.COMM_WORLD self._enabled = True @@ -72,3 +74,62 @@ def Abort(self, errorcode: int): """MPI Abort operation.""" if self._enabled: self._comm.Abort(errorcode=errorcode) + else: + exit(1) + + def check_ranks_availability(self) -> List[int]: + """Return an array with all the ranks that are capable of responding to a single send/recv. + + Returns + ------- + List[int] + List with responsive MPI ranks. + """ + if self._enabled: + rank = self._comm.Get_rank() + size = self._comm.Get_size() + + # Create a list to store available ranks + available_ranks = [] + + # Start time for the timeout mechanism + start_time = time.time() + + # Non-blocking receive requests list + requests = [] + + for target_rank in range(size): + if target_rank != rank: + self._comm.isend(rank, dest=target_rank, tag=0) + + # Initiate non-blocking receive requests from all other ranks + for target_rank in range(size): + if target_rank != rank: # Skip sending to self + req = self._comm.irecv(source=target_rank, tag=0) + requests.append((target_rank, req)) + + # Check for available ranks while handling timeouts + while time.time() - start_time < 5: # 5 seconds timeout for demonstration + for target_rank, req in requests: + if target_rank not in available_ranks: + if req.Test(): # Check if a request has received a message + available_ranks.append( + target_rank + ) # Add the rank to available list + + if len(available_ranks) == size - 1: # All ranks are available + break + + # Sleep for a short duration before checking again + time.sleep(0.1) + + # Cancel all remaining requests to prevent potential deadlocks + for target_rank, req in requests: + if target_rank not in available_ranks: + req.Cancel() + + available_ranks.append(rank) + sorted_available_ranks = sorted(available_ranks) + return sorted_available_ranks + else: + return [0] diff --git a/perun/perun.py b/perun/perun.py index 8d955e9..32bb2ba 100644 --- a/perun/perun.py +++ b/perun/perun.py @@ -1,5 +1,5 @@ """Core perun functionality.""" - +import enum import logging import os import platform @@ -10,6 +10,7 @@ from configparser import ConfigParser from datetime import datetime from multiprocessing import Event, Process, Queue +from multiprocessing.synchronize import Event as EventClass from pathlib import Path from typing import Any, Dict, List, Optional, Set, Type @@ -31,6 +32,20 @@ log = logging.getLogger("perun") +class PerunStatus(enum.Enum): + """DataNode type enum.""" + + SETUP = enum.auto() + RUNNING = enum.auto() + RUNNING_WARMUP = enum.auto() + PROCESSING = enum.auto() + SCRIPT_ERROR = enum.auto() + SCRIPT_ERROR_WARMUP = enum.auto() + PERUN_ERROR = enum.auto() + MPI_ERROR = enum.auto() + SUCCESS = enum.auto() + + @singleton class Perun: """Perun object.""" @@ -54,10 +69,57 @@ def __init__(self, config: ConfigParser) -> None: self._l_backend_metadata: Optional[Dict[str, Any]] = None self.local_regions: Optional[LocalRegions] = None self.warmup_round: bool = False + self.status = PerunStatus.SETUP + + # Subprocess handlers + self.sp_ready_event: Optional[EventClass] = None + self.start_event: Optional[EventClass] = None + self.stop_event: Optional[EventClass] = None + + self.queue: Optional[Queue] = None + self.perunSP: Optional[Process] = None def __del__(self): """Perun object destructor.""" + log.info(f"Rank {self.comm.Get_rank()}: __del__ perun") self._close_backends() + log.info(f"Rank {self.comm.Get_rank()}: Exit status {self.status}") + if self.status != PerunStatus.SUCCESS: + if ( + self.status == PerunStatus.RUNNING + or self.status == PerunStatus.RUNNING_WARMUP + ): + log.error( + f"Rank {self.comm.Get_rank()}: Looks like you are using the exit function to stop your script. This is not recommended, as it interrupts the normal perun execution. No data can be salvaged if the app terminates in this manner." + ) + elif ( + self.status == PerunStatus.SCRIPT_ERROR + or self.status == PerunStatus.SCRIPT_ERROR_WARMUP + ): + log.error( + f"Rank {self.comm.Get_rank()}: Seems like your script terminated early because of an error. Perun will try to collect any available data. Try to fix your script before running with perun to get a more complete stack trace from your script. If the error only happens when running with perun, consider submitting an issue in our github: https://github.com/Helmholtz-AI-Energy/perun" + ) + elif self.status == PerunStatus.MPI_ERROR: + log.error( + f"Rank {self.comm.Get_rank()}: This should not be reached ever. It's imposible." + ) + + if self.status == PerunStatus.SCRIPT_ERROR: + availableRanks = self.comm.check_ranks_availability() + + log.error( + f"Rank {self.comm.Get_rank()}: Available ranks {availableRanks}" + ) + # dataNode = self._process_single_run(0, time.time_ns()) + + if ( + self.status == PerunStatus.SCRIPT_ERROR + or self.status == PerunStatus.SCRIPT_ERROR_WARMUP + or self.status == PerunStatus.RUNNING + or self.status == PerunStatus.RUNNING_WARMUP + ): + log.error(f"Rank {self.comm.Get_rank()}: Aborting mpi context.") + self.comm.Abort(1) @property def comm(self) -> Comm: @@ -280,6 +342,68 @@ def monitor_application( if out_format != IOFormat.HDF5: self.export_to(data_out, app_data, out_format, multirun_id) + self.status = PerunStatus.SUCCESS + + def _process_single_run(self, run_id: str, starttime_ns: int) -> Optional[DataNode]: + """Collect data from subprocess and pack it in a data node. + + Parameters + ---------- + run_id : str + The id to use for the data node. + starttime_ns : int + Start time of the run. + + Returns + ------- + Optional[DataNode] + If the rank spawned a subprocess, returns the data node with the data. + """ + if self.status == PerunStatus.RUNNING: + self.start_event.set() # type: ignore + self.stop_event.set() # type: ignore + log.error( + "You should not use the exit function to exit your script!. Trying to salvage data." + ) + + if self.queue and self.perunSP: + log.info(f"Rank {self.comm.Get_rank()}: Getting queue contents") + nodeData = self.queue.get(block=True) + log.info(f"Rank {self.comm.Get_rank()}: Got queue contents") + log.info(f"Rank {self.comm.Get_rank()}: Waiting for subprocess to close") + self.perunSP.join() + self.perunSP.close() + log.info(f"Rank {self.comm.Get_rank()}: Subprocess closed") + self.queue.close() + else: + nodeData = None + + log.info(f"Rank {self.comm.Get_rank()}: Exited the subprocess") + + if nodeData: + nodeData.metadata["mpi_ranks"] = self.host_rank[self.hostname] + + # 5) Collect data from everyone on the first rank + if self.status == PerunStatus.PROCESSING: + dataNodes: Optional[List[DataNode]] = self.comm.gather(nodeData, root=0) + globalRegions: Optional[List[LocalRegions]] = self.comm.gather( + self.local_regions, root=0 + ) + + if dataNodes and globalRegions: + # 6) On the first rank, create run node + runNode = DataNode( + id=run_id, + type=NodeType.RUN, + metadata={**self.l_host_metadata}, + nodes={node.id: node for node in dataNodes if node}, + ) + runNode.addRegionData(globalRegions, starttime_ns) + runNode = processDataNode(runNode, self.config) + + return runNode + return None + def _run_application( self, app: Path, @@ -289,125 +413,91 @@ def _run_application( log.info(f"Rank {self.comm.Get_rank()}: _run_application") if record: # 1) Get sensor configuration - sp_ready_event = Event() - start_event = Event() - stop_event = Event() + self.sp_ready_event = Event() + self.start_event = Event() + self.stop_event = Event() - queue: Optional[Queue] = None - perunSP: Optional[Process] = None + self.queue = None + self.perunSP = None # 2) If assigned devices, create subprocess if len(self.l_sensors_config.keys()) > 0: log.debug( f"Rank {self.comm.Get_rank()} - Local Backendens : {pp.pformat(self.l_sensors_config)}" ) - queue = Queue() - perunSP = Process( + self.queue = Queue() + self.perunSP = Process( target=perunSubprocess, args=[ - queue, + self.queue, self.comm.Get_rank(), self.backends, self.l_sensors_config, self.config, - sp_ready_event, - start_event, - stop_event, + self.sp_ready_event, + self.start_event, + self.stop_event, self.config.getfloat("monitor", "sampling_rate"), ], ) - perunSP.start() + self.perunSP.start() else: - sp_ready_event.set() + self.sp_ready_event.set() # type: ignore # 3) Start application try: - sp_ready_event.wait() + self.sp_ready_event.wait() # type: ignore with open(str(app), "r") as scriptFile: self.local_regions = LocalRegions() self.comm.barrier() log.info(f"Rank {self.comm.Get_rank()}: Started App") - start_event.set() + self.start_event.set() # type: ignore starttime_ns = time.time_ns() + self.status = PerunStatus.RUNNING exec( scriptFile.read(), {"__name__": "__main__", "__file__": app.name}, ) + self.status = PerunStatus.PROCESSING # run_stoptime = datetime.utcnow() log.info(f"Rank {self.comm.Get_rank()}: App Stopped") - stop_event.set() + self.stop_event.set() # type: ignore except Exception as e: + self.status = PerunStatus.SCRIPT_ERROR log.error( f"Rank {self.comm.Get_rank()}: Found error on monitored script: {str(app)}" ) s, r = getattr(e, "message", str(e)), getattr(e, "message", repr(e)) log.error(f"Rank {self.comm.Get_rank()}: {s}") log.error(f"Rank {self.comm.Get_rank()}: {r}") - start_event.set() - stop_event.set() + self.start_event.set() # type: ignore + self.stop_event.set() # type: ignore log.error( f"Rank {self.comm.Get_rank()}: Set start and stop event forcefully" ) - if perunSP: - perunSP.terminate() - log.error(f"Rank {self.comm.Get_rank()}: Terminating subprocess") - - self.comm.Abort(1) - log.error(f"Rank {self.comm.Get_rank()}: Aborting mpi context.") - raise e + self.__del__() # 4) App finished, stop subrocess and get data - if queue and perunSP: - log.info(f"Rank {self.comm.Get_rank()}: Getting queue contents") - nodeData = queue.get(block=True) - log.info(f"Rank {self.comm.Get_rank()}: Got queue contents") - log.info( - f"Rank {self.comm.Get_rank()}: Waiting for subprocess to close" - ) - perunSP.join() - perunSP.close() - log.info(f"Rank {self.comm.Get_rank()}: Subprocess closed") - queue.close() - else: - nodeData = None - - log.info(f"Rank {self.comm.Get_rank()}: Everyone exited the subprocess") - - if nodeData: - nodeData.metadata["mpi_ranks"] = self.host_rank[self.hostname] - - # 5) Collect data from everyone on the first rank - dataNodes: Optional[List[DataNode]] = self.comm.gather(nodeData, root=0) - globalRegions: Optional[List[LocalRegions]] = self.comm.gather( - self.local_regions, root=0 - ) - - if dataNodes and globalRegions: - # 6) On the first rank, create run node - runNode = DataNode( - id=run_id, - type=NodeType.RUN, - metadata={**self.l_host_metadata}, - nodes={node.id: node for node in dataNodes if node}, - ) - runNode.addRegionData(globalRegions, starttime_ns) - runNode = processDataNode(runNode, self.config) - - return runNode - return None + return self._process_single_run(run_id, starttime_ns) else: try: with open(str(app), "r") as scriptFile: + self.status = PerunStatus.RUNNING_WARMUP exec( scriptFile.read(), {"__name__": "__main__", "__file__": app.name}, ) + self.status = PerunStatus.PROCESSING except Exception as e: + self.status = PerunStatus.SCRIPT_ERROR_WARMUP log.error( - f"Rank {self.comm.Get_rank()}: Found error on monitored script: {str(app)}" + f"Rank {self.comm.Get_rank()}: Found error on monitored script: {str(app)}" ) - raise e + s, r = getattr(e, "message", str(e)), getattr(e, "message", repr(e)) + log.error(f"Rank {self.comm.Get_rank()}: {s}") + log.error(f"Rank {self.comm.Get_rank()}: {r}") + self.__del__() return None def import_from(self, filePath: Path, format: IOFormat) -> DataNode: diff --git a/pyproject.toml b/pyproject.toml index d245d23..d1927b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -75,7 +75,7 @@ testpaths = ["tests"] [tool.isort] skip = ["perun/__init__.py"] -known_third_party = ["cpuinfo", "h5py", "numpy", "pandas", "psutil", "pytest"] +known_third_party = ["cpuinfo", "h5py", "mpi4py", "numpy", "pandas", "psutil", "pytest"] profile = "black" [tool.pydocstyle] diff --git a/tests/scripts/error.py b/tests/scripts/error.py new file mode 100644 index 0000000..a2056d6 --- /dev/null +++ b/tests/scripts/error.py @@ -0,0 +1,10 @@ +import time + +time.sleep(5) + +with open("does-not-exist.txt", "r") as file: + lines = file.readlines() + for line in lines: + print(line) + +time.sleep(5) diff --git a/tests/scripts/exists.txt b/tests/scripts/exists.txt new file mode 100644 index 0000000..d129442 --- /dev/null +++ b/tests/scripts/exists.txt @@ -0,0 +1,2 @@ +I Exist! +The other files does not! diff --git a/tests/scripts/exit.py b/tests/scripts/exit.py new file mode 100644 index 0000000..b5fee1e --- /dev/null +++ b/tests/scripts/exit.py @@ -0,0 +1,9 @@ +import time + +print("First sleep") +time.sleep(5) +print("Before exit") +exit() +print("After exit") +time.sleep(5) +print("After second sleep") diff --git a/tests/scripts/mpi_error.py b/tests/scripts/mpi_error.py new file mode 100644 index 0000000..38efcf0 --- /dev/null +++ b/tests/scripts/mpi_error.py @@ -0,0 +1,22 @@ +import time + +from mpi4py import MPI + +comm = MPI.COMM_WORLD +files = ["does-not-exist.txt", "tests/scripts/exists.txt"] + +rank = comm.Get_rank() + +print(f"R{rank}: Hello world!") +time.sleep(5) + +print(f"R{rank}: Reading file") +with open(files[rank % 2], "r") as file: + lines = file.readlines() + for line in lines: + print(line) + +print(f"R{rank}: Waiting for other ranks") +time.sleep(5) +comm.barrier() +print(f"R{rank}: Exit") diff --git a/tests/scripts/sleep.py b/tests/scripts/sleep.py new file mode 100644 index 0000000..619e688 --- /dev/null +++ b/tests/scripts/sleep.py @@ -0,0 +1,3 @@ +import time + +time.sleep(10) From ef16c424f868a6c0ff80e8a575fc167fc7f384b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guti=C3=A9rrez=20Hermosillo=20Muriedas=2C=20Juan=20Pedro?= Date: Thu, 28 Dec 2023 15:31:22 +0100 Subject: [PATCH 2/8] feat: Able to handle exit events --- perun/comm.py | 40 ++++- perun/io/io.py | 2 +- perun/perun.py | 296 ++++++++++++++++++++++--------------- tests/scripts/mpi_error.py | 2 +- 4 files changed, 219 insertions(+), 121 deletions(-) diff --git a/perun/comm.py b/perun/comm.py index 4009a68..f0cbe45 100644 --- a/perun/comm.py +++ b/perun/comm.py @@ -1,6 +1,7 @@ """Comm module.""" import logging +import sys import time from typing import Any, List, Optional @@ -75,9 +76,44 @@ def Abort(self, errorcode: int): if self._enabled: self._comm.Abort(errorcode=errorcode) else: - exit(1) + sys.exit(1) + + def gather_from_ranks( + self, obj: Any, ranks: List[int], root: int = 0 + ) -> Optional[List[Any]]: + """Collect python objects from specific ranks at the determined root. + + Parameters + ---------- + obj : Any + Object to be collected. + ranks : List[int] + List of ranks that need to send the object. + root : int, optional + Reciever rank, by default 0 - def check_ranks_availability(self) -> List[int]: + Returns + ------- + Optional[List[Any]] + List with the gathered objects. + """ + if self._enabled: + result = None + if self.Get_rank() != root: + self._comm.send(obj, root) + else: + result = [] + for rank in ranks: + if self.Get_rank() != rank: + result.append(self._comm.recv(source=rank)) + else: + result.append(obj) + + return result + else: + return [obj] + + def check_available_ranks(self) -> List[int]: """Return an array with all the ranks that are capable of responding to a single send/recv. Returns diff --git a/perun/io/io.py b/perun/io/io.py index 2a26b66..c55736f 100644 --- a/perun/io/io.py +++ b/perun/io/io.py @@ -76,7 +76,7 @@ def exportTo( raise Exception("DataNode needs to be processed before it can be exported.") if not output_path.exists(): - log.info(f"{output_path.parent} does not exists. So lets make it.") + log.info(f"{output_path} does not exists. So lets make it.") output_path.mkdir() if not mr_id and ( diff --git a/perun/perun.py b/perun/perun.py index 32bb2ba..02f3afa 100644 --- a/perun/perun.py +++ b/perun/perun.py @@ -37,12 +37,11 @@ class PerunStatus(enum.Enum): SETUP = enum.auto() RUNNING = enum.auto() - RUNNING_WARMUP = enum.auto() PROCESSING = enum.auto() SCRIPT_ERROR = enum.auto() - SCRIPT_ERROR_WARMUP = enum.auto() PERUN_ERROR = enum.auto() MPI_ERROR = enum.auto() + FILE_NOT_FOUND = enum.auto() SUCCESS = enum.auto() @@ -84,42 +83,6 @@ def __del__(self): log.info(f"Rank {self.comm.Get_rank()}: __del__ perun") self._close_backends() log.info(f"Rank {self.comm.Get_rank()}: Exit status {self.status}") - if self.status != PerunStatus.SUCCESS: - if ( - self.status == PerunStatus.RUNNING - or self.status == PerunStatus.RUNNING_WARMUP - ): - log.error( - f"Rank {self.comm.Get_rank()}: Looks like you are using the exit function to stop your script. This is not recommended, as it interrupts the normal perun execution. No data can be salvaged if the app terminates in this manner." - ) - elif ( - self.status == PerunStatus.SCRIPT_ERROR - or self.status == PerunStatus.SCRIPT_ERROR_WARMUP - ): - log.error( - f"Rank {self.comm.Get_rank()}: Seems like your script terminated early because of an error. Perun will try to collect any available data. Try to fix your script before running with perun to get a more complete stack trace from your script. If the error only happens when running with perun, consider submitting an issue in our github: https://github.com/Helmholtz-AI-Energy/perun" - ) - elif self.status == PerunStatus.MPI_ERROR: - log.error( - f"Rank {self.comm.Get_rank()}: This should not be reached ever. It's imposible." - ) - - if self.status == PerunStatus.SCRIPT_ERROR: - availableRanks = self.comm.check_ranks_availability() - - log.error( - f"Rank {self.comm.Get_rank()}: Available ranks {availableRanks}" - ) - # dataNode = self._process_single_run(0, time.time_ns()) - - if ( - self.status == PerunStatus.SCRIPT_ERROR - or self.status == PerunStatus.SCRIPT_ERROR_WARMUP - or self.status == PerunStatus.RUNNING - or self.status == PerunStatus.RUNNING_WARMUP - ): - log.error(f"Rank {self.comm.Get_rank()}: Aborting mpi context.") - self.comm.Abort(1) @property def comm(self) -> Comm: @@ -266,12 +229,15 @@ def monitor_application( """ log.debug(f"Rank {self.comm.Get_rank()} Backends: {pp.pformat(self.backends)}") - data_out = Path(self.config.get("output", "data_out")) - out_format = IOFormat(self.config.get("output", "format")) starttime = datetime.now() app_name = getRunName(app) multirun_id = getRunId(starttime) + # Store relevant info in config. + self.config.set("output", "app_name", app_name) + self.config.set("output", "run_id", multirun_id) + self.config.set("output", "starttime", starttime.isoformat()) + log.info(f"App: {app_name}, MR_ID: {multirun_id}") if self.config.getint("benchmarking", "warmup_rounds"): @@ -280,6 +246,11 @@ def monitor_application( for i in range(self.config.getint("benchmarking", "warmup_rounds")): log.info(f"Warmup run: {i}") _ = self._run_application(app, str(i), record=False) + if ( + self.status == PerunStatus.FILE_NOT_FOUND + or self.status == PerunStatus.SCRIPT_ERROR + ): + return self.warmup_round = False @@ -289,62 +260,91 @@ def monitor_application( runNode: Optional[DataNode] = self._run_application( app, str(i), record=True ) + + if ( + self.status == PerunStatus.FILE_NOT_FOUND + or self.status == PerunStatus.SCRIPT_ERROR + ): + return + if self.comm.Get_rank() == 0 and runNode: multirun_nodes[str(i)] = runNode # Get app node data if it exists if self.comm.Get_rank() == 0 and len(multirun_nodes) > 0: - # Multi_run data processing - multirun_node = DataNode( - multirun_id, - NodeType.MULTI_RUN, - metadata={ - "app_name": getRunName(app), - "perun_version": __version__, - "execution_dt": starttime.isoformat(), - "n_runs": str(len(multirun_nodes)), - **{ - f"{section_name}.{option}": value - for section_name in self.config.sections() - for option, value in self.config.items(section_name) - }, - }, - nodes=multirun_nodes, - processed=False, - ) - multirun_node = processDataNode(multirun_node, self.config) - - app_data_file = data_out / f"{app_name}.{IOFormat.HDF5.suffix}" - app_data = None - if app_data_file.exists() and app_data_file.is_file(): - app_data = self.import_from(app_data_file, IOFormat.HDF5) - app_data.metadata["last_execution_dt"] = starttime.isoformat() - previous_run_ids = list(app_data.nodes.keys()) - multirun_id = increaseIdCounter(previous_run_ids, multirun_id) - multirun_node.id = multirun_id - app_data.nodes[multirun_node.id] = multirun_node - app_data.processed = False + multirun_node = self._process_multirun(multirun_nodes) + self._export_multirun(multirun_node) - else: - app_data = DataNode( - app_name, - NodeType.APP, - metadata={ - "creation_dt": starttime.isoformat(), - "last_execution_dt": starttime.isoformat(), - }, - nodes={multirun_id: multirun_node}, - processed=False, - ) - app_data = processDataNode(app_data, self.config) + self.status = PerunStatus.SUCCESS - self.export_to(data_out, app_data, IOFormat.HDF5) - if out_format != IOFormat.HDF5: - self.export_to(data_out, app_data, out_format, multirun_id) + def _export_multirun(self, multirun_node: DataNode): + data_out = Path(self.config.get("output", "data_out")) + app_name = self.config.get("output", "app_name") + starttime = self.config.get("output", "starttime") + out_format = IOFormat(self.config.get("output", "format")) - self.status = PerunStatus.SUCCESS + multirun_id = multirun_node.id - def _process_single_run(self, run_id: str, starttime_ns: int) -> Optional[DataNode]: + app_data_file = data_out / f"{app_name}.{IOFormat.HDF5.suffix}" + app_data = None + if app_data_file.exists() and app_data_file.is_file(): + app_data = self.import_from(app_data_file, IOFormat.HDF5) + app_data.metadata["last_execution_dt"] = starttime + previous_run_ids = list(app_data.nodes.keys()) + multirun_id = increaseIdCounter(previous_run_ids, multirun_id) + multirun_node.id = multirun_id + app_data.nodes[multirun_node.id] = multirun_node + app_data.processed = False + + else: + app_data = DataNode( + app_name, + NodeType.APP, + metadata={ + "creation_dt": starttime, + "last_execution_dt": starttime, + }, + nodes={multirun_id: multirun_node}, + processed=False, + ) + app_data = processDataNode(app_data, self.config) + + self.export_to(data_out, app_data, IOFormat.HDF5) + if out_format != IOFormat.HDF5: + self.export_to(data_out, app_data, out_format, multirun_id) + + def _process_multirun(self, multirun_nodes: Dict[str, DataNode]) -> DataNode: + app_name = self.config.get("output", "app_name") + starttime = self.config.get("output", "starttime") + multirun_id = self.config.get("output", "run_id") + + # Multi_run data processing + multirun_node = DataNode( + multirun_id, + NodeType.MULTI_RUN, + metadata={ + "app_name": app_name, + "perun_version": __version__, + "execution_dt": starttime, + "n_runs": str(len(multirun_nodes)), + **{ + f"{section_name}.{option}": value + for section_name in self.config.sections() + for option, value in self.config.items(section_name) + }, + }, + nodes=multirun_nodes, + processed=False, + ) + multirun_node = processDataNode(multirun_node, self.config) + return multirun_node + + def _process_single_run( + self, + run_id: str, + starttime_ns: int, + available_ranks: Optional[List[int]] = None, + ) -> Optional[DataNode]: """Collect data from subprocess and pack it in a data node. Parameters @@ -359,13 +359,6 @@ def _process_single_run(self, run_id: str, starttime_ns: int) -> Optional[DataNo Optional[DataNode] If the rank spawned a subprocess, returns the data node with the data. """ - if self.status == PerunStatus.RUNNING: - self.start_event.set() # type: ignore - self.stop_event.set() # type: ignore - log.error( - "You should not use the exit function to exit your script!. Trying to salvage data." - ) - if self.queue and self.perunSP: log.info(f"Rank {self.comm.Get_rank()}: Getting queue contents") nodeData = self.queue.get(block=True) @@ -378,25 +371,37 @@ def _process_single_run(self, run_id: str, starttime_ns: int) -> Optional[DataNo else: nodeData = None - log.info(f"Rank {self.comm.Get_rank()}: Exited the subprocess") + log.info(f"Rank {self.comm.Get_rank()}: Gathering data.") if nodeData: nodeData.metadata["mpi_ranks"] = self.host_rank[self.hostname] # 5) Collect data from everyone on the first rank - if self.status == PerunStatus.PROCESSING: - dataNodes: Optional[List[DataNode]] = self.comm.gather(nodeData, root=0) - globalRegions: Optional[List[LocalRegions]] = self.comm.gather( - self.local_regions, root=0 + dataNodes: Optional[List[DataNode]] = None + globalRegions: Optional[List[LocalRegions]] = None + if not available_ranks: + dataNodes = self.comm.gather(nodeData, root=0) + globalRegions = self.comm.gather(self.local_regions, root=0) + else: + dataNodes = self.comm.gather_from_ranks( + nodeData, ranks=available_ranks, root=available_ranks[0] + ) + globalRegions = self.comm.gather_from_ranks( + self.local_regions, ranks=available_ranks, root=available_ranks[0] ) if dataNodes and globalRegions: + dataNodesDict = {node.id: node for node in dataNodes if node} + if len(dataNodesDict) == 0: + log.error(f"Rank {self.comm.Get_rank()}: No rank reported any data.") + raise ValueError("Could not collect data from any rank.") + # 6) On the first rank, create run node runNode = DataNode( id=run_id, type=NodeType.RUN, metadata={**self.l_host_metadata}, - nodes={node.id: node for node in dataNodes if node}, + nodes=dataNodesDict, ) runNode.addRegionData(globalRegions, starttime_ns) runNode = processDataNode(runNode, self.config) @@ -454,28 +459,47 @@ def _run_application( self.start_event.set() # type: ignore starttime_ns = time.time_ns() self.status = PerunStatus.RUNNING - exec( - scriptFile.read(), - {"__name__": "__main__", "__file__": app.name}, - ) + try: + exec( + scriptFile.read(), + {"__name__": "__main__", "__file__": app.name}, + ) + except SystemExit: + log.warning( + "The application exited using exit(), quit() or sys.exit(). This is not the recommended way to exit an application, as it complicates the data collection process. Please refactor your code." + ) + + except Exception as e: + self.status = PerunStatus.SCRIPT_ERROR + log.error( + f"Rank {self.comm.Get_rank()}: Found error on monitored script: {str(app)}" + ) + s, r = getattr(e, "message", str(e)), getattr( + e, "message", repr(e) + ) + log.error(f"Rank {self.comm.Get_rank()}: {s}") + log.error(f"Rank {self.comm.Get_rank()}: {r}") + self.stop_event.set() # type: ignore + log.error( + f"Rank {self.comm.Get_rank()}: Set start and stop event forcefully" + ) + self._handle_failed_run() + return None + self.status = PerunStatus.PROCESSING # run_stoptime = datetime.utcnow() log.info(f"Rank {self.comm.Get_rank()}: App Stopped") self.stop_event.set() # type: ignore - except Exception as e: - self.status = PerunStatus.SCRIPT_ERROR + + except FileNotFoundError: log.error( - f"Rank {self.comm.Get_rank()}: Found error on monitored script: {str(app)}" + f"perun could not find the file {app}. Please check the path." ) - s, r = getattr(e, "message", str(e)), getattr(e, "message", repr(e)) - log.error(f"Rank {self.comm.Get_rank()}: {s}") - log.error(f"Rank {self.comm.Get_rank()}: {r}") + self.status = PerunStatus.FILE_NOT_FOUND self.start_event.set() # type: ignore self.stop_event.set() # type: ignore - log.error( - f"Rank {self.comm.Get_rank()}: Set start and stop event forcefully" - ) - self.__del__() + self.perunSP.terminate() # type: ignore + return None # 4) App finished, stop subrocess and get data return self._process_single_run(run_id, starttime_ns) @@ -483,23 +507,61 @@ def _run_application( else: try: with open(str(app), "r") as scriptFile: - self.status = PerunStatus.RUNNING_WARMUP + self.status = PerunStatus.RUNNING exec( scriptFile.read(), {"__name__": "__main__", "__file__": app.name}, ) self.status = PerunStatus.PROCESSING + except FileNotFoundError as e: + log.error( + f"perun could not find the file {app}. Please check the path." + ) + self.status = PerunStatus.FILE_NOT_FOUND + s, r = getattr(e, "message", str(e)), getattr(e, "message", repr(e)) + log.error(f"Rank {self.comm.Get_rank()}: {s}") + log.error(f"Rank {self.comm.Get_rank()}: {r}") + except SystemExit: + self.status = PerunStatus.PROCESSING + log.warning( + "The application exited using exit(), quit() or sys.exit(). This is not the recommended way to exit an application, as it complicates the data collection process. Please refactor your code." + ) except Exception as e: - self.status = PerunStatus.SCRIPT_ERROR_WARMUP + self.status = PerunStatus.SCRIPT_ERROR log.error( f"Rank {self.comm.Get_rank()}: Found error on monitored script: {str(app)}" ) s, r = getattr(e, "message", str(e)), getattr(e, "message", repr(e)) log.error(f"Rank {self.comm.Get_rank()}: {s}") log.error(f"Rank {self.comm.Get_rank()}: {r}") - self.__del__() return None + def _handle_failed_run(self): + availableRanks = self.comm.check_available_ranks() + + log.error(f"Rank {self.comm.Get_rank()}: Available ranks {availableRanks}") + try: + recoverdNodes = self._process_single_run( + str("failed"), time.time_ns(), available_ranks=availableRanks + ) + except ValueError: + log.error( + "Non of the available ranks have any monitoring data. Closing without generating a report." + ) + else: + if recoverdNodes: + # Mark run as failed in the configuration + app_name = "failed_" + self.config.get("output", "app_name") + data_out = self.config.get("output", "data_out") + self.config.set("output", "app_name", app_name) + # self.config.set("output", "run_id", "failed_" + self.config.get("output", "run_id")) + failedRun = self._process_multirun({"0": recoverdNodes}) + log.error(f"Storing run under {data_out}/{app_name}") + self._export_multirun(failedRun) + + log.info(f"Rank {self.comm.Get_rank()}: Aborting mpi context.") + self.comm.Abort(1) + def import_from(self, filePath: Path, format: IOFormat) -> DataNode: """Import data node from given filepath. diff --git a/tests/scripts/mpi_error.py b/tests/scripts/mpi_error.py index 38efcf0..15d9909 100644 --- a/tests/scripts/mpi_error.py +++ b/tests/scripts/mpi_error.py @@ -3,7 +3,7 @@ from mpi4py import MPI comm = MPI.COMM_WORLD -files = ["does-not-exist.txt", "tests/scripts/exists.txt"] +files = ["tests/scripts/exists.txt", "does-not-exist.txt"] rank = comm.Get_rank() From 0df4f79eee4dee7cea392f0b69cdc28350c099e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guti=C3=A9rrez=20Hermosillo=20Muriedas=2C=20Juan=20Pedro?= Date: Thu, 28 Dec 2023 17:21:11 +0100 Subject: [PATCH 3/8] feat: postprocess callbacks --- perun/__init__.py | 2 +- perun/api/decorator.py | 17 ++++++++++++++++- perun/perun.py | 25 +++++++++++++++++-------- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/perun/__init__.py b/perun/__init__.py index 3ca4d94..e8a99ec 100644 --- a/perun/__init__.py +++ b/perun/__init__.py @@ -7,4 +7,4 @@ log = init_logging(config.get("debug", "log_lvl")) -from perun.api.decorator import monitor +from perun.api.decorator import monitor, register_callback diff --git a/perun/api/decorator.py b/perun/api/decorator.py index 74250ed..c44c8ab 100644 --- a/perun/api/decorator.py +++ b/perun/api/decorator.py @@ -2,8 +2,9 @@ import functools import logging -from typing import Optional +from typing import Callable, Optional +from perun.data_model.data import DataNode from perun.perun import Perun log = logging.getLogger("perun") @@ -33,3 +34,17 @@ def func_wrapper(*args, **kwargs): return func_wrapper return inner_function + + +def register_callback(func: Callable[[DataNode], None]): + """Register a function to run after perun has finished collection data. + + Parameters + ---------- + func : Callable[[DataNode], None] + Function to be called. + """ + perun = Perun() # type: ignore + if func.__name__ not in perun.postprocess_callbacks: + log.info(f"Rank {perun.comm.Get_rank()}: Registering callback {func.__name__}") + perun.postprocess_callbacks[func.__name__] = func diff --git a/perun/perun.py b/perun/perun.py index 02f3afa..0cf2457 100644 --- a/perun/perun.py +++ b/perun/perun.py @@ -12,7 +12,7 @@ from multiprocessing import Event, Process, Queue from multiprocessing.synchronize import Event as EventClass from pathlib import Path -from typing import Any, Dict, List, Optional, Set, Type +from typing import Any, Callable, Dict, List, Optional, Set, Type from perun import __version__ from perun.backend.backend import Backend @@ -67,10 +67,18 @@ def __init__(self, config: ConfigParser) -> None: self._l_host_metadata: Optional[Dict[str, Any]] = None self._l_backend_metadata: Optional[Dict[str, Any]] = None self.local_regions: Optional[LocalRegions] = None + self.postprocess_callbacks: Dict[str, Callable[[DataNode], None]] = {} self.warmup_round: bool = False self.status = PerunStatus.SETUP + self._reset_subprocess_handlers() - # Subprocess handlers + def __del__(self): + """Perun object destructor.""" + log.info(f"Rank {self.comm.Get_rank()}: __del__ perun") + self._close_backends() + log.info(f"Rank {self.comm.Get_rank()}: Exit status {self.status}") + + def _reset_subprocess_handlers(self): self.sp_ready_event: Optional[EventClass] = None self.start_event: Optional[EventClass] = None self.stop_event: Optional[EventClass] = None @@ -78,12 +86,6 @@ def __init__(self, config: ConfigParser) -> None: self.queue: Optional[Queue] = None self.perunSP: Optional[Process] = None - def __del__(self): - """Perun object destructor.""" - log.info(f"Rank {self.comm.Get_rank()}: __del__ perun") - self._close_backends() - log.info(f"Rank {self.comm.Get_rank()}: Exit status {self.status}") - @property def comm(self) -> Comm: """Lazy initialization of mpi communication object.""" @@ -269,11 +271,13 @@ def monitor_application( if self.comm.Get_rank() == 0 and runNode: multirun_nodes[str(i)] = runNode + self._reset_subprocess_handlers() # Get app node data if it exists if self.comm.Get_rank() == 0 and len(multirun_nodes) > 0: multirun_node = self._process_multirun(multirun_nodes) self._export_multirun(multirun_node) + self._run_postprocess_callbacks(multirun_node) self.status = PerunStatus.SUCCESS @@ -598,3 +602,8 @@ def export_to( Format to export data. """ exportTo(dataOut, dataNode, format, mr_id) + + def _run_postprocess_callbacks(self, dataNode: DataNode): + for name, callback in self.postprocess_callbacks.items(): + log.info(f"Running callback {name}") + callback(dataNode) From 43e1c7c2da503f461442ce20c7d1eb6ef58af24c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guti=C3=A9rrez=20Hermosillo=20Muriedas=2C=20Juan=20Pedro?= Date: Fri, 29 Dec 2023 15:52:32 +0100 Subject: [PATCH 4/8] feat: mlperf example --- .../example.perun.ini | 0 examples/mlflow/requirenments.txt | 63 ++++++++++++ examples/mlflow/train.py | 96 +++++++++++++++++++ 3 files changed, 159 insertions(+) rename example.perun.ini => examples/example.perun.ini (100%) create mode 100644 examples/mlflow/requirenments.txt create mode 100644 examples/mlflow/train.py diff --git a/example.perun.ini b/examples/example.perun.ini similarity index 100% rename from example.perun.ini rename to examples/example.perun.ini diff --git a/examples/mlflow/requirenments.txt b/examples/mlflow/requirenments.txt new file mode 100644 index 0000000..55d4db4 --- /dev/null +++ b/examples/mlflow/requirenments.txt @@ -0,0 +1,63 @@ +alembic==1.13.1 +blinker==1.7.0 +certifi==2023.11.17 +charset-normalizer==3.3.2 +click==8.1.7 +cloudpickle==3.0.0 +contourpy==1.1.1 +cycler==0.12.1 +databricks-cli==0.18.0 +docker==6.1.3 +entrypoints==0.4 +Flask==3.0.0 +fonttools==4.47.0 +gitdb==4.0.11 +GitPython==3.1.40 +greenlet==3.0.3 +gunicorn==21.2.0 +h5py==3.10.0 +idna==3.6 +importlib-metadata==7.0.1 +importlib-resources==6.1.1 +itsdangerous==2.1.2 +Jinja2==3.1.2 +joblib==1.3.2 +kiwisolver==1.4.5 +Mako==1.3.0 +Markdown==3.5.1 +MarkupSafe==2.1.3 +matplotlib==3.7.4 +mlflow==2.9.2 +mpi4py==3.1.5 +numpy==1.24.4 +nvidia-ml-py==12.535.133 +oauthlib==3.2.2 +packaging==23.2 +pandas==2.0.3 +-e git+ssh://git@github.com/Helmholtz-AI-Energy/perun.git@e2f23885dc8207838961a4a036583fdc5bd2e2bc#egg=perun +Pillow==10.1.0 +protobuf==4.25.1 +psutil==5.9.7 +py-cpuinfo==9.0.0 +pyarrow==14.0.2 +PyJWT==2.8.0 +pyparsing==3.1.1 +python-dateutil==2.8.2 +pytz==2023.3.post1 +PyYAML==6.0.1 +querystring-parser==1.2.4 +requests==2.31.0 +scikit-learn==1.3.2 +scipy==1.10.1 +six==1.16.0 +smmap==5.0.1 +SQLAlchemy==2.0.24 +sqlparse==0.4.4 +tabulate==0.9.0 +threadpoolctl==3.2.0 +typing_extensions==4.9.0 +tzdata==2023.3 +urllib3==2.1.0 +websocket-client==1.7.0 +Werkzeug==3.0.1 +zipp==3.17.0 diff --git a/examples/mlflow/train.py b/examples/mlflow/train.py new file mode 100644 index 0000000..8aa656e --- /dev/null +++ b/examples/mlflow/train.py @@ -0,0 +1,96 @@ +import logging +import sys +import warnings +from urllib.parse import urlparse + +import mlflow +import mlflow.sklearn +import numpy as np +import pandas as pd +from sklearn.linear_model import ElasticNet +from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score +from sklearn.model_selection import train_test_split + +from perun import monitor, register_callback + +logging.basicConfig(level=logging.WARN) +logger = logging.getLogger(__name__) + + +@monitor() +def eval_metrics(actual, pred): + rmse = np.sqrt(mean_squared_error(actual, pred)) + mae = mean_absolute_error(actual, pred) + r2 = r2_score(actual, pred) + return rmse, mae, r2 + + +@monitor() +def train(data): + train, test = train_test_split(data) + + # The predicted column is "quality" which is a scalar from [3, 9] + train_x = train.drop(["quality"], axis=1) + test_x = test.drop(["quality"], axis=1) + train_y = train[["quality"]] + test_y = test[["quality"]] + + alpha = float(sys.argv[1]) if len(sys.argv) > 1 else 0.5 + l1_ratio = float(sys.argv[2]) if len(sys.argv) > 2 else 0.5 + + with mlflow.start_run() as active_run: + + @register_callback + def perun2mlflow(node): + mlflow.start_run(active_run.info.run_id) + for metricType, metric in node.metrics.items(): + name = f"{metric.type.value}" + mlflow.log_metric(name, metric.value) + + lr = ElasticNet(alpha=alpha, l1_ratio=l1_ratio, random_state=42) + lr.fit(train_x, train_y) + + predicted_qualities = lr.predict(test_x) + + (rmse, mae, r2) = eval_metrics(test_y, predicted_qualities) + + print("Elasticnet model (alpha=%f, l1_ratio=%f):" % (alpha, l1_ratio)) + print(" RMSE: %s" % rmse) + print(" MAE: %s" % mae) + print(" R2: %s" % r2) + + mlflow.log_param("alpha", alpha) + mlflow.log_param("l1_ratio", l1_ratio) + mlflow.log_metric("rmse", rmse) + mlflow.log_metric("r2", r2) + mlflow.log_metric("mae", mae) + + tracking_url_type_store = urlparse(mlflow.get_tracking_uri()).scheme + + # Model registry does not work with file store + if tracking_url_type_store != "file": + # Register the model + # There are other ways to use the Model Registry, which depends on the use case, + # please refer to the doc for more information: + # https://mlflow.org/docs/latest/model-registry.html#api-workflow + mlflow.sklearn.log_model( + lr, "model", registered_model_name="ElasticnetWineModel" + ) + else: + mlflow.sklearn.log_model(lr, "model") + + +if __name__ == "__main__": + warnings.filterwarnings("ignore") + np.random.seed(40) + + # Read the wine-quality csv file from the URL + csv_url = "http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv" + try: + data = pd.read_csv(csv_url, sep=";") + except Exception as e: + logger.exception( + "Unable to download training & test CSV, check your internet connection. Error: %s", + e, + ) + train(data) From 68071271b1f15ac6f925b5a34b779e713f652ce1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 09:12:00 +0100 Subject: [PATCH 5/8] [pre-commit.ci] pre-commit autoupdate (#99) --- .pre-commit-config.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 35df84e..c7280c9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,7 +36,11 @@ repos: - id: isort name: isort (python) - repo: https://github.com/psf/black +<<<<<<< HEAD rev: 24.1.1 +======= + rev: 23.12.1 +>>>>>>> 5b41ece ([pre-commit.ci] pre-commit autoupdate (#99)) hooks: - id: black - repo: https://github.com/pre-commit/pre-commit-hooks From 76dd634175a2b0befe03d8215eceab0345afe564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guti=C3=A9rrez=20Hermosillo=20Muriedas=2C=20Juan=20Pedro?= Date: Tue, 9 Jan 2024 10:16:21 +0100 Subject: [PATCH 6/8] docs: mlflow example --- CITATION.cff | 2 +- README.md | 2 +- docs/data.rst | 6 +++++- docs/images/data_structure.png | Bin 83551 -> 117770 bytes examples/mlflow/README.md | 16 ++++++++++++++++ perun/processing.py | 2 +- 6 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 examples/mlflow/README.md diff --git a/CITATION.cff b/CITATION.cff index 13427dd..1cb0f07 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -10,7 +10,7 @@ authors: family-names: Gutiérrez Hermosillo Muriedas email: juan.muriedas@kit.edu affiliation: >- - Scientific Computing Centre, Karlsruhe Institute für + Scientific Computing Center, Karlsruhe Institute für Technologie orcid: 'https://orcid.org/0000-0001-8439-7145' repository-code: 'https://github.com/Helmholtz-AI-Energy/perun' diff --git a/README.md b/README.md index fed2e57..a1f0e27 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ mpirun -n 8 perun monitor path/to/your/script.py ## Docs -To get more information, check out our [docs page](https://perun.readthedocs.io/en/latest/). +To get more information, check out our [docs page](https://perun.readthedocs.io/en/latest/) or check the [examples](https://github.com/Helmholtz-AI-Energy/perun/tree/main/examples). ## Citing perun diff --git a/docs/data.rst b/docs/data.rst index fc5bbb8..84200fe 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -3,8 +3,12 @@ Data ==== -perun structures the data collected as a tree, with the root node containing the aggregated data of an indiviudal run of the application, and the nodes further down the tree contain the information of the indivdual compute nodes, devices and *sensors*. *Sensors* are meant as the individual API that perun uses to gather measurements, and a single API can provide information about multiple devices, and multiple devices can be monitored from multiple APIs. +perun structures the data collected as a tree, with the root node containing the aggregated data of an indiviudal run of the application, and the nodes further down the tree contain the information of the indivdual compute nodes, devices and *sensors*. *Sensors* are meant as the individual values that can be collected from the distinct monitoring backends. .. image:: images/data_structure.png Each node in the data structure, once the raw data at the bottom has been processed, contain a set of summarized metrics based on the data that was collected by its sub-nodes, and a metadata dictionary with any information that could be obtained by the application, node, device or API. + +Each node contains a list of metrics or stats, which represent the accumulated data. As well as metadata. + +The nodeType attribute indiciates the type of object in the hierarchy this nodes represents. At the lowest level, the leafs of the tree, you would have individual "sensors", values collected by a single device or interface. Higher up the tree, the data nodes represent groups of devices and computational nodes. The three bottom levels of the tree represent the hardware. Further up the three, data starts being acumulated by individual runs of the application, with "run" being a single execution of the application, a "multi_run" is the data from multiple runs when perun is run with the ```--rounds N``` option, and at the highest level, the root of the tree is the application itself. diff --git a/docs/images/data_structure.png b/docs/images/data_structure.png index caf0494f429ca9b3d8b736caacded186f68eecf9..a3f58f26bdf558e078c8d2e66af1b13e740eaff2 100644 GIT binary patch literal 117770 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
    Js2d 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 Date: Thu, 1 Feb 2024 11:16:22 +0100 Subject: [PATCH 7/8] fix: wrong merge --- .pre-commit-config.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c7280c9..35df84e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,11 +36,7 @@ repos: - id: isort name: isort (python) - repo: https://github.com/psf/black -<<<<<<< HEAD rev: 24.1.1 -======= - rev: 23.12.1 ->>>>>>> 5b41ece ([pre-commit.ci] pre-commit autoupdate (#99)) hooks: - id: black - repo: https://github.com/pre-commit/pre-commit-hooks From bb7d00a46ea70e01b01e6901ae2e5d5da68523cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guti=C3=A9rrez=20Hermosillo=20Muriedas=2C=20Juan=20Pedro?= Date: Thu, 1 Feb 2024 11:17:14 +0100 Subject: [PATCH 8/8] style: black formatter --- perun/perun.py | 1 + 1 file changed, 1 insertion(+) diff --git a/perun/perun.py b/perun/perun.py index 0cf2457..a875612 100644 --- a/perun/perun.py +++ b/perun/perun.py @@ -1,4 +1,5 @@ """Core perun functionality.""" + import enum import logging import os