MCPcopy Create free account
hub / github.com/LBANN/lbann

github.com/LBANN/lbann @v0.104

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.104 ↗ · + Follow
9,292 symbols 26,635 edges 1,590 files ⚖ Apache-2.0 1,935 documented · 21% updated 25d agov0.104 · 2023-11-08★ 231166 open issues

Browse by type

Functions 8,063 Types & classes 1,225 Endpoints 4
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

LBANN supports state-of-the-art training algorithms such as unsupervised, self-supervised, and adversarial (GAN) training methods in addition to traditional supervised learning. It also supports recurrent neural networks via back propagation through time (BPTT) training, transfer learning, and multi-model and ensemble training methods.

Building LBANN

The preferred method for LBANN users to install LBANN is to use Spack. After some system configuration, this should be as straightforward as

spack install lbann

More detailed instructions for building and installing LBANN are available at the main LBANN documentation.

Running LBANN

The basic template for running LBANN is

<mpi-launcher> <mpi-options> \
    lbann <lbann-options> \
    --model=model.prototext \
    --optimizer=opt.prototext \
    --reader=data_reader.prototext

When using GPGPU accelerators, users should be aware that LBANN is optimized for the case in which one assigns one GPU per MPI rank. This should be borne in mind when choosing the parameters for the MPI launcher.

More details about running LBANN are documented here.

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.

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 5,507
Function 2,556
Class 1,186
Enum 39
Route 4

Languages

C++75%
Python25%

Modules by API surface

python/lbann/core/operators.py226 symbols
src/data_readers/data_reader_jag_conduit.cpp80 symbols
src/models/model.cpp73 symbols
src/data_store/data_store_conduit.cpp68 symbols
src/utils/miopen.cpp60 symbols
src/operators/math/unary.cpp60 symbols
src/utils/cudnn.cpp57 symbols
include/lbann/layers/layer.hpp53 symbols
include/lbann/data_readers/sample_list_impl.hpp53 symbols
src/layers/layer.cpp52 symbols
src/data_readers/data_reader.cpp50 symbols
include/lbann/data_readers/data_reader.hpp48 symbols

For agents

$ claude mcp add lbann \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page