FireWorks is a workflow software for running, tracking, and managing high-throughput calculations. It is designed to handle complex workflows with dependencies, enabling the automation of large-scale computational tasks. FireWorks uses a…
FireWorks is a workflow software for running, tracking, and managing high-throughput calculations. It is designed to handle complex workflows with dependencies, enabling the automation of large-scale computational tasks. FireWorks uses a centralized database (MongoDB) to store the state of all workflows, allowing for dynamic workflow modification and robust failure recovery.
FireWorks is a workflow software for running, tracking, and managing high-throughput calculations. It is designed to handle complex workflows with dependencies, enabling the automation of large-scale computational tasks. FireWorks uses a centralized database (MongoDB) to store the state of all workflows, allowing for dynamic workflow modification and robust failure recovery.
Scientific domain: Workflow management, high-throughput computing Target user community: Computational scientists running large-scale simulations
A workflow in FireWorks consists of Fireworks (individual jobs) connected by dependencies.
Define Workflow:
from fireworks import Firework, Workflow, LaunchPad
# Define a simple task
fw1 = Firework(ScriptTask(script="echo 'hello'"), name="hello")
fw2 = Firework(ScriptTask(script="echo 'world'"), name="world")
# Create workflow: fw2 depends on fw1
wf = Workflow([fw1, fw2], {fw1: [fw2]}, name="hello_world")
Add to Database:
launchpad = LaunchPad.auto_load()
launchpad.add_wf(wf)
Execute:
Run rlaunch (rapid launch) or qlaunch (queue launch) on computing resources to pull and execute jobs from the database.
Primary sources:
Confidence: VERIFIED
Verification status: ✅ VERIFIED