This workflow demonstrates Common Workflow Language (CWL) based job execution on ACTIVATE for MPI workloads.
This workflow runs an MPI Hello World program using CWL on a SLURM cluster. It:
- Installs Intel-OneAPI MPI (if selected).
- Installs CWLTool under Miniconda (if selected).
- Transfers CWL workflow files to the remote cluster.
- Executes the CWL workflow.
- Installs MPI and CWLTool if enabled.
- Alternatively, users can provide custom load commands.
- Copies the CWL workflow files to ~/pw/jobs///cwl_workflow on the cluster.
- Creates a CWL input file (inputs.yaml).
- Runs cwltool to execute the workflow.
- Compile: Builds the MPI source file.
- Generate SLURM Script: Prepares the batch script.
- Submit Job: Submits the job to SLURM.
- Wait for Completion: Monitors job execution.
The results of the MPI job are written to the following directory on the SLURM cluster:
~/pw/jobs/<workflow-name>/<job-number>/cwl_workflow/slurm-output/mpitest.out
Example output:
Hello world from processor alvaro-gcprockyv3-00114-1-0002, rank 3 out of 4 processors
Hello world from processor alvaro-gcprockyv3-00114-1-0001, rank 1 out of 4 processors
Hello world from processor alvaro-gcprockyv3-00114-1-0002, rank 2 out of 4 processors
Hello world from processor alvaro-gcprockyv3-00114-1-0001, rank 0 out of 4 processors