aihpi - AI High Performance Infrastructure
A Python package for simplified distributed job submission on SLURM clusters with container support. Built on top of submitit with additional features specifically designed for AI/ML workloads.
Installation
# Basic installation
pip install aihpi
# With experiment tracking support
pip install aihpi[tracking]
# With all optional dependencies
pip install aihpi[all]
Quick Start
from aihpi import SlurmJobExecutor, JobConfig
config = JobConfig(
job_name="my-training",
num_nodes=1,
gpus_per_node=2,
walltime="01:00:00",
partition="gpu",
login_node="10.130.0.6" # Your SLURM login node IP
)
executor = SlurmJobExecutor(config)
job = executor.submit_function(my_training_function)
Features
- Simple API: Configure and submit jobs with minimal code
- Command Line Interface:
aihpiCLI for easy job submission and management - Distributed Training: Automatic setup for multi-node distributed training
- Container Support: First-class support for Pyxis/Enroot containers
- Container Submission: Submit jobs from within containers via SSH to login nodes
- LlamaFactory Integration: Built-in support for LlamaFactory training
- Job Monitoring: Real-time job status tracking and log streaming
- Experiment Tracking: Integration with Weights & Biases, MLflow, and local tracking
Command Line Usage
# Submit a Python job
aihpi run train.py --config config.py
# Submit with monitoring
aihpi run train.py --config config.py --monitor
# Submit distributed job
aihpi run train.py --config distributed_config.py
# Monitor a running job
aihpi monitor 12345 --follow
Documentation & Examples
For detailed documentation, examples, and setup instructions, visit:
- GitHub Repository: aihpi/aihpi-cluster
- Full Documentation: README.md
Requirements
- Python ≥ 3.8
- Access to SLURM cluster
- submitit ≥ 1.4.0
License
MIT License
Acknowledgements
The AI Service Centre Berlin Brandenburg is funded by the Federal Ministry of Research, Technology and Space under the funding code 01IS22092.
Metadata
Release files for aihpi 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aihpi-0.1.5.tar.gz | 43.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aihpi-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.4 kB
Release files / aihpi-0.1.5.tar.gz
| Download URL | aihpi-0.1.5.tar.gz |
|---|---|
| Size | 43.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26ae7f177ddac2ff887292e54409bec93b5d5b548209e0ce6f26d40d03b15a65
|
|
BLAKE2b-256 checksum How to use checksums |
bd4ff77cbd80ed7a51fdbe951c700dca11a95a1f944d69eb3284db8924cd620f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / aihpi-0.1.5-py3-none-any.whl
| Download URL | aihpi-0.1.5-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec86651377ce24af3b4a326e1352e2595a2132840682bccdc1e558c5c38fe760
|
|
BLAKE2b-256 checksum How to use checksums |
6448414e390ea6b09c1f4b7c54f22a30f0bae8441bc8b17a25efe333fafad40b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|