当前位置: 首页 > news >正文

fireworks

fireworks

https://github.com/materialsproject/fireworks

FireWorks stores, executes, and manages calculation workflows.

  • Website (including documentation): https://materialsproject.github.io/fireworks/
  • Help/Support: https://discuss.matsci.org/c/fireworks
  • Source: https://github.com/materialsproject/fireworks/

 

https://materialsproject.github.io/fireworks/#citing-label

While FireWorks provides many features, its basic operation is simple. You can run FireWorks on a single laptop or at a supercomputing center.

Centralized Server and Worker Model

There are essentially just two components of a FireWorks installation:

  • A server (“LaunchPad”) that manages workflows. You can add workflows (a DAG of “FireWorks”) to the LaunchPad, query for the state of your workflows, orrerun workflows. The workflows can be a straightforward series of scripts or dynamically adapt depending on the results obtained.

  • One or more workers(“FireWorkers”) that run your jobs. The FireWorkers request workflows from the LaunchPad, execute them, and send back information. The FireWorker can be as simple as the same workstation used to host the LaunchPad, or complicated like a national supercomputing center with a queueing system.

The basic infrastructure looks like this:

FireWorks Model

The components are largely decoupled, which makes FireWorks easier touse. End users can add new workflows to the LaunchPad without worrying about the details of how and where the workflows will be run (unless they really want to tailor the details of job execution). This keeps theworkflow specifications lightweight, tidy, and easy to learn and use (if you’ve ever seen lengthy XML-based specifications in other workflow software, you’ll notice the difference in FireWorks right away).

On the opposite end, administrators can configure worker computers without worrying about where workflows are coming from or what they looklike (although you can assign jobs to certain resources if desired). Running on a heterogeneous set of worker computers is simple because essentially the same code is used internally by FireWorks for running onsimple workstations or a large supercomputing center, submitting to a traditional or web-based queue system, or packing together many jobs into a single queue submission.

Workflow Model

Workflows in FireWorks are made up of three main components:

  • A Firetask isan atomic computing job. It can call a single shell script or execute asingle Python function that you define (either within FireWorks, or in an external package).

  • A Firework contains the JSON specthat includes all the information needed to bootstrap your job. For example, the spec contains an array of Firetasks to execute in sequence.The spec also includes any input parameters to pass to your Firetasks. You can easily perform the same function over different input data by creating Fireworks with identical Firetasks but different input parameters in the spec. You can design your spec however you’d like, as long as it’s valid JSON. The JSON format used for Firework specs is extremely flexible, very easy to learn (Python users familiar with dicts and arraysessentially already know JSON), and immediately makes rich searches over the input data available to end users through MongoDB’s JSON document search capabilities.

  • A Workflow isa set of FireWorks with dependencies between them. For example, you might need a parent Firework to finish and generate some output files before running two child FireWorks.

Between FireWorks, you can return a FWActionthat can store data or modify the Workflow depending on the output (e.g., pass data to the next step, cancel the remaining parts of the Workflow, or even add new FireWorks that are defined within the object).

FireWorks Workflow

The FireWorks tutorials and FW design tips explain how to connect these components to achieve the desired behavior.

 

https://materialsproject.github.io/fireworks/quickstart.html


 

http://www.jsqmd.com/news/41361/

相关文章:

  • KEYDIY KD ZB28-3 Universal Hyundai Smart Remote Key (5pcs/lot) – Reliable Replacement
  • Yanhua Mini ACDP-2 A303 Volvo 2022+ IMMO License for ACDP-2 Module20
  • 西电TIC带鱼杯新生训练赛复盘
  • 20251115 - 从零到1详细剖析STM32的CAN架构【以STM32F407为例】
  • 2025.11.15 测试
  • 鸿蒙应用审核被拒?常见原因与避坑指南来了
  • C++篇(13)计算器实现 - 指南
  • 20232306 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • ABC432E sol
  • 完整教程:linux离线环境局域网远程ssh连接vscode
  • 01命题逻辑的基本概念
  • 鲜花:记梦4
  • 第26天(简单题中等题 二分查找、贪心算法)
  • invalid literal for int() with base 10: abc中的base 10是什么意思? 另外它是怎么知道abc的?
  • byd秘钥 - MKT
  • NSubstitute之Substitute.ForT
  • DAY1 JAVA PreLearning
  • 【服务器】服务器被攻击植入了挖矿病毒,CPU一直占用100%,@monthly /root/.cfg/./dealer病毒清除 - 实践
  • 动态规划实践:数字三角形问题分析
  • 第4章 AI项目管理新范式:从交付功能到交付价值
  • 牛客101:链表 - 教程
  • LNCPC 2025 游寄
  • 第3章 传统项目管理在AI中的局限
  • Python 异常处理全面详解(附丰富实例)
  • IServiceCollection和IServiceProvider
  • multisim 13 Problem: Accessing the database解决办法
  • 完整教程:Redis 事务机制:Pipeline、ACID、Lua脚本
  • Python 一维数据、二维数据及 CSV 文件操作全解析(附实例)
  • 银行核心账户体系、账务设计、会计核心(整合版)
  • 斐波那契数列相关恒等式