当前位置: 首页 > 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.rkmt.cn/news/50699.html

相关文章:

  • C++篇(13)计算器实现 - 指南
  • 动态规划实践:数字三角形问题分析
  • 牛客101:链表 - 教程
  • LNCPC 2025 游寄
  • Python 一维数据、二维数据及 CSV 文件操作全解析(附实例)
  • 银行核心账户体系、账务设计、会计核心(整合版)
  • 实用指南:开源 Linux 服务器与中间件(七)数据库--MySQL
  • 版本控制与GitLab完整实践指南 - 指南
  • 利用Myo臂环采集肌电信号和角速度来建立实时手势识别
  • [MySQL] 基础操控
  • 做题笔记25
  • AI重塑地产数字化:数据驱动下的技能落地与效率革命
  • 一种可以通过人体电磁场感受宇宙空间电磁场的装置
  • Access-Control-Allow-Origin 在企业中的用法
  • VUE_basic - Ref
  • 详细介绍:MongoDB 自动化脚本安装方案
  • 2025-11-15
  • Pandas - read_html()
  • 实用指南:Linux企业级解决方案架构:字节跳动短视频推荐系统全链路实践
  • RSS and Atom
  • 通用会话控制方案
  • pythontip 从字典中删除一组键
  • Softmax 函数全面而详细的解读,原理、图像、应用 - 详解
  • MySQL 8+ 日志管理与数据备份恢复实战指南 - 指南
  • 前端css中rem的作用
  • 数据结构2:单链表 - 教程
  • 20251115 - Hash 总结
  • BZOJ2372 music
  • P11664 [JOI 2025 Final] 缆车 / Mi Telefrico
  • 非线性序列密码结构