QCFractal

A platform to compute, store, organize, and share large-scale quantum chemistry data.

QCFractal emphasizes the following virtues:

  • Organize: Large sets of computations are organized into Collections for easy reference and manipulation.

  • Reproducibility: All steps of commonly used pipelines are elucidated in the input without additional human intervention.

  • History: Organize all computations ever executed in a research group in an easily indexable manner, never lose data again!

  • Accessibility: Easily share quantum chemistry data with colleagues or the community through accessibility settings.

  • Elasticity: Scale from a single laptop to a dozen simultaneous supercomputers.

  • Transferability: Run many different quantum chemistry, semiempirical, or force field programs with a single unified interface.

QCFratal within the QCArchive stack

Within the QCArchive stack, QCFractal is responsible for:

  • Accepting requests for calculations, submitted from a client such as QCPortal.

  • Running these calculations on disparate compute resources through Quantum Chemistry programs and procedures supported by QCEngine.

  • Storing and organizing the results of these calculations in a database.

  • Providing access to stored results to clients such as QCPortal.

The diagram below illustrates a representative data flow:

QCArchive ecosystem

Pipelines

QCFractal supports several high-throughput pipelines:

  • Ensembles of single point quantum chemistry computations.

  • Procedures such as geometry optimization, finite different gradients and Hessians, and complete basis set extrapolations.

  • Complex scenarios such as the OpenFF torsion scan workflow.

  • User-defined procedures.

Data Sharing

QCFractal allows for the creation of a single data repository for a group with varying permission levels to allow control of who can access your data or submit new tasks to your compute network. Hook into the central MolSSI repository or create your own!

Scales from laptops to supercomputers

QCFractal is build to be elastic, scaling from a single researcher on a laptop to large multi-PI groups on dozens of different supercomputers. QCFractal provides a central location to marshal and distribute data or computation. QCFractal can switch between a variety of computational queue backends such as:

  • Parsl - High-performance workflows with backend support for common schedulers, supercomputers, and cloud compute.

  • Dask - A graph-based workflow engine for laptops and small clusters.

  • Fireworks - A asynchronous Mongo-based distributed queuing system.

Additional backends such as BOINC, RADICAL Pilot, Kubernetes, and Balsam are under active consideration. Contact us if you are interested in one of these use-cases.


Index

Getting Started

Records Documentation

The records created from adding additional compute.

Manager Documentation

Setting up and running Fractal’s Queue Managers on your system.

Server Documentation

Configuring and running the Server from the CLI and Config Files

Developer Documentation

Contains in-depth developer documentation.