MPI Hello, World
The instructions below will walk you through the process of launching an MPI “Hello, World” workflow through the
workflow catalog. The workflow catalog will help you generate,
validate, and submit an MPI “Hello, world” Fuzzfile. The
workflow is based on this “Hello world” example.
The workflow template in the workflow catalog uses
these containers that are available in two
MPI flavors; MPICH and OpenMPI. The
flavor of the MPI container used in the workflow can be specified by setting workflow template input
MpiFlavor to mpich or openmpi. This simple workflow demonstrates
jobs running on multiple nodes in Fuzzball.
You can run this workflow through the web UI or the CLI.
If you click “Workflow Catalog”, you will see a page of workflow templates you use to create fuzzfiles and launch workflows. Find the “MPI Hello World” tile with the CIQ badge and click “Run”.

You will be prompted with a pop-up with template parameters which you can modify. If you’d like to accept the default values, you can click “Validate” which will validate the Fuzzfile generated using the input specified.

You can proceed to launching the job by clicking “Continue”.

You will be prompted to provide an optional descriptive name for your workflow.

Now you can click on “Start Workflow” in the lower right corner of the dialog box and your workflow will be submitted. If you click “Go to Status” you can view the workflow status page. The screenshot below shows the status page for a hello world workflow submission.

To retrieve logs produced by this workflow, select the mpi-hello-world job within the workflow, and
click the “Logs” option on the right.

To run this workflow through the CLI you will need access to the Fuzzball CLI. You can install it using the Fuzzball CLI installation instructions.
First, you can create a values file values.yaml to populate the MPI Hello, World workflow template
using the command below. You can modify the parameters to your desired values or use the defaults
below.
$ cat >values.yaml<<EOF
values:
- name: Cores
display_name: How many CPU cores to allocate.
uint_value: 2
- name: Memory
display_name: How much memory to allocate.
string_value: 1GiB
- name: Nodes
display_name: Number of nodes to allocate.
uint_value: 2
- name: MpiFlavor
display_name: 'Flavor of MPI to use (mpich, openmpi). Default: mpich.'
string_value: mpich
EOF
Next, you will need to find the workflow template ID. The command below lists workflow templates
provided by CIQ. The ID of the MPI Hello World workflow template shown in the output below is
23b02b0e-6637-42cf-81bd-d6331fdd0106.
$ fuzzball application list -f "(provider: \"CIQ\")"
NAME | ID | OWNER | PROVIDER | UPDATETIME | DISABLED
Hello World | 00000001-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
Jupyter Notebook | 00000002-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
Jupyter Notebook (VDI) | 00000003-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
ParaView | 00000004-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
Xfce Desktop Environment | 00000005-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
LAMMPS (CPU) | 00000006-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
LAMMPS (GPU) | 00000007-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
BLAST | 00000008-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
Stable Diffusion Text to Image | 00000009-aaaa-bbbb-cccc-dddddddddddd | PROVIDER | CIQ | 2025-03-06 05:00:00PM | false
MPI Hello, World | 23b02b0e-6637-42cf-81bd-d6331fdd0106 | PROVIDER | CIQ | 2025-04-22 02:13:07PM | false
You can generate a Fuzzfile using the workflow ID and the values file (values.yaml) we created in the first step using the command below.
fuzzball application render-application 23b02b0e-6637-42cf-81bd-d6331fdd0106 values.yaml > mpi-hello-world.fz
You can start start this workflow using the CLI by running the following command:
$ fuzzball workflow start mpi-hello-world.fz
Workflow "6560d335-02dc-4f38-93f3-21ffd9349fc5" started.
You can monitor the workflow’s status by running the following command:
$ fuzzball workflow describe <workflow UUID>
Name: mpi-hello-world.fz
Email: bphan@ciq.co
UserId: e554e134-bd2d-455b-896e-bc24d8d9f81e
Status: STAGE_STATUS_STARTED
Created: 2024-08-23 10:27:11AM
Started: 2024-08-23 10:27:12AM
Finished: N/A
Error:
Stages:
KIND | STATUS | NAME | STARTED | FINISHED
Workflow | Started | 6560d335-02dc-4f38-93f3-21ffd9349fc5 | 2024-08-23 10:27:11AM | N/A
Image | Finished | oras://docker.io/anderbubble/mpich-hello-w... | 2024-08-23 10:27:12AM | 2024-08-23 10:27:28AM
Job | Pending | mpi-hello-world | N/A | N/A
You can view outputs logged by the workflow, by executing the following command:
$ fuzzball workflow log 6560d335-02dc-4f38-93f3-21ffd9349fc5 mpi-hello-world
Hello world! Processor mpi-hello-world-1, Rank 0 of 2, CPU 0, NUMA node 0, Namespace mnt:[4026532667]
Hello world! Processor mpi-hello-world-0, Rank 1 of 2, CPU 0, NUMA node 0, Namespace mnt:[4026532656]