
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
A Python library for simplified job scheduling and management on SLURM clusters
A Python library for simplified job scheduling and management on SLURM clusters.
EasySubmit is a Python-based job scheduling and management system designed to seamlessly integrate with SLURM, a popular cluster management and job scheduling platform. This project aims to simplify the process of submitting, monitoring, and managing jobs on cluster environments through an intuitive Python API.
pip install easysubmit
# Clone the repository
git clone https://github.com/ysenarath/easysubmit.git
cd easysubmit
# Install in development mode
pip install -e .
For profiling support:
pip install easysubmit[scalene]
Here's a simple example of how to use EasySubmit:
from easysubmit import SLURMCluster, SLURMConfig, Task, TaskConfig
from easysubmit.base import schedule
# Define your task configuration
class ExperimentConfig(TaskConfig):
name: str = "MyExperiment"
learning_rate: float = 0.001
batch_size: int = 32
# Define your task
class Experiment(Task):
config: ExperimentConfig
def run(self):
print(f"Running experiment with lr={self.config.learning_rate}")
# Your experiment code here
# Configure SLURM settings
config = SLURMConfig(
partition="gpu",
nodes=1,
ntasks_per_node=1,
gres="gpu:1",
mem="16G"
)
# Create cluster and schedule jobs
cluster = SLURMCluster(config)
experiments = [
{"name": "MyExperiment", "learning_rate": 0.001, "batch_size": 32},
{"name": "MyExperiment", "learning_rate": 0.01, "batch_size": 64},
]
schedule(cluster, experiments)
TaskConfig
: Define configuration parameters for your tasks with type safetyTask
: Base class for implementing your computational tasksSLURMCluster
: Interface to SLURM cluster managementSLURMConfig
: Comprehensive SLURM job configuration optionsJob
: Represents individual jobs in the clusterAutoTask
: Advanced task automation featuressbatch
, squeue
, etc.) available in PATHCheck out the examples/
directory for more comprehensive usage examples:
examples/slurm_scheduler.py
: Basic SLURM job schedulingexamples/slurm_scheduler_with_profile.py
: Job scheduling with profilingexamples/tasks.py
: Task definition examplesThis project is licensed under the MIT License - see the LICENSE file for details.
FAQs
A Python library for simplified job scheduling and management on SLURM clusters
We found that easysubmit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.