FireWorks¶
Getting Started¶
Select FireWorks as the plugin. There are no Application Parameters for this plugin.
FireWorks (browser-based FireWorks IDE) will launch in a browser. Click the ‘Load’ button to get started.

Let’s create a couple simple firetasks for testing purposes.
- Create two files, task 1 and task2
- Add ‘hostname’, echo statements inside the firetasks and redirect output.
- Make the tasks executable

Now that the firetasks are ready, add the firestasks to the launchpad and create the workflow. The firetasks can be separated and created with individual workflows as well.
- lpad add_scripts ~/task1 ~/task2 -n fw_task1 fw_task2 -w fw_rapid_tasks

Workflows can be removed by performing the following:
- lpad delete_wflows -i ‘id’
A refresh on the dashboard will show the additional firetasks and a workflow in a ready state. The interface also provides graphs and a database snapshot of current activity while working through the progress.

FireWorks supports both singleshot and rapidfire commands. The rapidfire will send a go to each firetask in a ready state; one at a time while the singleshot is a target approach.
Before we can run qlaunch, the ‘my_fworker.yaml’ file will have to be modified, (see notes located at bottom). The workflow name given in the -w argument above during the add firetasks process should be inserted after the ‘name:’ key value pair. In our example above, we should insert ‘name: fw_rapid_tasks’.

Launch Rocket:
1. qlaunch -l ~/.fireworks/my_launchpad.yaml -q ~/.fireworks/my_qadapter.yaml -w ~/.fireworks/my_fworker.yaml rapidfire -m 3 -b 1 –nlaunches 0
Verify jobs launced with ‘qstat’.

The dashboard will show the associated workflow is in a running state.

The dashbaord will then track when the jobs have been completed.

The dashboard also allows for a quick query mechanism. The following will allow for a query targeting a specific identifier.
- After the URL domain.com, add /wf/id (workflow identifier). For example: replace https://domain.com with https://domain.com/wf/29

Notes: Configuration yaml files are generated during each plugin launch. The yaml files contain the default configurations to allow FireWorks to communicate with the PBS Batch Management System. The .fireworks working directory is located in the home directory.
Please work from your home or the .fireworks directories. The following cleanup action will take place during launch of the FireWorks plugin, (FW.json, FW_submit.script files and block_* directories).
External References¶
For more information on how to use the FireWorks IDE, please visit nersc.gov or materialsproject.github.io