/flux-core

core services for the Flux resource management framework

Primary LanguageCGNU Lesser General Public License v3.0LGPL-3.0

ci codecov

See our Online Documentation!

NOTE: the github issue tracker is the primary way to communicate with Flux developers.

flux-core

flux-core implements the lowest level services and interfaces for the Flux resource manager framework. It is intended to be the first building block used in the construction of a site-composed Flux resource manager. Other building blocks are also in development under the flux-framework github organization, including a workload scheduler.

Framework projects use the C4 development model pioneered in the ZeroMQ project and forked as Flux RFC 1. Flux licensing and collaboration plans are described in Flux RFC 2. Protocols and API's used in Flux will be documented as Flux RFC's.

Build Requirements

For convenience, scripts that install flux-core's build dependencies are available for redhat and debian distros.

Building from Source
./autogen.sh   # skip if building from a release tarball
./configure
make
make check
VSCode Dev Containers

If you use VSCode we have a dev container and instructions.

Starting Flux

A Flux instance is composed of a set of flux-broker processes running as a parallel job and can be started by most launchers that can start MPI jobs. Doing so for a single user does not require administrator privilege. To start a Flux instance (size = 8) on the local node for testing, use flux's built-in test launcher:

src/cmd/flux start --test-size=8

A shell is spawned in which Flux commands can be executed. When the shell exits, Flux exits.

For more information on starting Flux in various environments and using it, please refer to our docs pages.

Release

SPDX-License-Identifier: LGPL-3.0

LLNL-CODE-764420