Skip to main content

LBANN Launcher utilities for distributed jobs on HPC clusters

Project description

HPC-launcher Repository

The HPC launcher repository contains a set of helpful scripts and Python bindings for launching PyTorch (torchrun), LBANN 2.0 (PyTorch-core), or generic scripts on multiple leadership-class HPC systems. There are optimized routines for FLUX, SLURM, and LSF launchers. Additionally, there are optimized environments for systems at known compute centers. Currently there are supported systems at:

  • LLNL Livermore Computing (LC)
  • LBL NERSC (Pending)
  • ORNL OLCF (Pending)
  • RIKEN (Pending)

There are two main entry points into HPC-Launcher from the cli: launch and torchrun-hpc. torchrun-hpc is intended as a replacement for torchrun, while launch is a generic interface for launching parallel jobs.

Installation

To install the package, install released versions from PyPI run:

pip install hpc-launcher

Or install directly from GitHub:

pip install git+https://github.com/LBANN/HPC-launcher.git

Example Usage

Using the launch command to execute a command in parallel

launch -N1 -n1 hostname

Using the torchrun-hpc command to execute a PyTorch Python file in parallel on two nodes and four processes per node (8 in total):

torchrun-hpc -N2 -n4 file.py [arguments to Python file]

Using HPC-Launcher within existing PyTorch code with explicity invoking it from the command line (CLI). Within the top level Python file, import hpc_launcher.torch first to ensure that torch is configured per HPC-Launcher's specification.

import hpc_launcher.torch

CLI options for HPC-Launcher launch and torchrun-hpc commands

  • launch - General purpose HPC job launcher
  • torchrun-hpc - PyTorch-specific distributed training launcher

LBANN: Livermore Big Artificial Neural Network Toolkit

The Livermore Big Artificial Neural Network toolkit (LBANN) is an open-source, HPC-centric, deep learning training framework that is optimized to compose multiple levels of parallelism.

LBANN provides model-parallel acceleration through domain decomposition to optimize for strong scaling of network training. It also allows for composition of model-parallelism with both data parallelism and ensemble training methods for training large neural networks with massive amounts of data. LBANN is able to advantage of tightly-coupled accelerators, low-latency high-bandwidth networking, and high-bandwidth parallel file systems.

Block Diagram of LBANN v2.x

LBANN v2.x is composed of a custom backend LBANN device that is used to provide processor-centric optimizations such as copy-elision for AMD MI300A APUs. Additionally, it is composed of Python, C++, CUDA, and ROCm custom kernels that extend PyTorch 2.4+. Libraries such as DGraph, DistConv, and CheckMate, implement key algorithms using the PyTorch 2.x API. Each of these libraries should be both composable as well as fully separable. The suite of LBANN 2.x optimizations are found in the LBANN GitHub group.

Publications

A list of publications, presentations and posters are shown here.

Reporting issues

Issues, questions, and bugs can be raised on the Github issue tracker.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hpc_launcher-1.0.4.tar.gz (36.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hpc_launcher-1.0.4-py3-none-any.whl (49.0 kB view details)

Uploaded Python 3

File details

Details for the file hpc_launcher-1.0.4.tar.gz.

File metadata

  • Download URL: hpc_launcher-1.0.4.tar.gz
  • Upload date:
  • Size: 36.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for hpc_launcher-1.0.4.tar.gz
Algorithm Hash digest
SHA256 81f8dcd2520f15f34af0958aff36e47c05b9faebe5feac9169284e18720857ad
MD5 ba787fc82f1e998af7cf9dadae15bdef
BLAKE2b-256 d550044a3440664cb21b30db240ed480bc31a0fbf7eb0e5482c806797e904ac2

See more details on using hashes here.

File details

Details for the file hpc_launcher-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: hpc_launcher-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 49.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for hpc_launcher-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 35d62e3edd650d44a43eaadadc990b5ec0422030168991e645e78bccad9e441a
MD5 ba0b10f4aa2c3182902d98ab8ea1fb55
BLAKE2b-256 54e7152c8798e2d58662c5466a17d0a091a6224b9d97cb88cd5fa65e45e53315

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page