Skip to content

Latest commit

 

History

History
35 lines (19 loc) · 2.79 KB

File metadata and controls

35 lines (19 loc) · 2.79 KB
graph LR
    submitit_core_core_Executor["submitit.core.core.Executor"]
    submitit_core_plugins["submitit.core.plugins"]
    submitit_core_core_Executor -- "depends on" --> submitit_core_plugins
    submitit_core_plugins -- "provides lookup for" --> submitit_core_core_Executor
Loading

CodeBoardingDemoContact

Details

The submitit core architecture is centered around the Executor component, which serves as a high-level facade for job submission and management. This Executor relies heavily on the plugins module to dynamically discover and integrate various backend implementations. The plugins module acts as a central registry, enabling the Executor to abstract away the complexities of different execution environments (e.g., local, Slurm) and maintain a consistent user interface. This design promotes extensibility, allowing new execution backends to be seamlessly added without altering the core Executor interface.

submitit.core.core.Executor

This component acts as the primary user-facing Facade and Executor Interface for the submitit library. It offers a high-level, unified API that abstracts the complexities of different job execution backends (e.g., local, Slurm). Its core responsibility is to provide methods for submitting computational jobs, monitoring their progress, and retrieving their results, ensuring a consistent interaction model for users regardless of the underlying execution environment.

Related Classes/Methods:

submitit.core.plugins

This module implements the Plugin System and Backend Discovery Mechanism for the Executor Abstraction Layer. Its main responsibility is to enable the dynamic registration, discovery, and retrieval of various executor implementations and job environments. This facilitates the system's extensibility and pluggability, allowing new execution backends to be seamlessly integrated without modifying the core Executor interface. It acts as a registry for available backend types.

Related Classes/Methods: