→Expanding on the greeting example
[[File:hpc-workflow-manager-create-job.png |300px|thumb|center| Figure 4: Example of a new Macro job configuration.]]
=== How to
start a job ===
If you have created a new job, the main window should look roughly like Figure 5.
[[File:hpc-workflow-manager-created-job.png |300px|thumb|center| Figure 5: A new Macro job has been created.]]
* “Job ID” - Job’s identification number;
* “Status” – The job’s current status which can be:
Right-click on the new job to display the context menu (of Figure 3). You will notice that there are new enabled items.
To make the source code of the user cleaner and easier to understand the special functions that make parallelism available to the user are appended to the user script on upload and a new file is created called
“mpitest. txt” which is the file that will be executed on the cluster.
To inspect the submitted file (for example for debugging) you can right-click the job and select “Open Macro in editor” where you can see the contents of the user script along with the appended function definitions that provide parallelism.
If you are new to Macro programming it is suggested to read [[Introduction into Macro Programming]] first. This will provide you with a sufficient introduction to the basics of Macro programming in Fiji.
If you opt to use the script editor you may also find [[Using the Script Editor]] useful.
You should also be familiar with the graphical user interface of the HPC Workflow Client.
[[File:hpc-workflow-manager-progress-no-task.png |300px|thumb|center| Figure 9: The job has finished and all the progress indicators are present. Note that the task "Get the cake" has a progress indicator only on node one (1) as expected. This is because this task was added in an <code>if</code> statement checking that the rank is one.]]
=== Available functions (list) ===
Many of the functions have an MPI equivalent, this will also be listed in the table to aid people familiar with MPI. This is because the current implementation uses OpenMPI 4. Note however that this does not mean that this will be a wrapper for MPI for Fiji Macro and the underlying implementation may and probably will change.
| parScatter || An array to split and send, number of elements to send, number of elements to receive and the rank of the node to send the elements. || An array. || This works like parScatterEqually but in this case the user is responsible for providing the parameters to split the array. || MPI_Scatter
Gather || An array to send, number of items to send, number of items to receive, receiver's rank|| An array. || All ranks send an equal amount of array items to a single node of a given rank. Be careful, the receiveCount parameter should be the count of items received from each rank separately. This is the inverse operation of parScatter. || MPI_Gather
GatherEqually || An array to send, number of elements in received array, receiver's rank || An array. || The given rank will receive an array send in parts by all ranks. This is the inverse operation of the parScatterEqually. || None
| parReportTasks || None || None || Outputs all task ids with their descriptions.
== Installation ==