Fuzzball Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Distributed Workflows with PGAS

Partitioned global address space (PGAS) networks are an alternative to MPI that use a multinode shared memory space to support parallelism. GASNet is an implementation of a PGAS network commonly used to run PGAS-based programming languages like Chapel. PGAS execution in Fuzzball is accessed through the same workflow field that is used to control MPI execution.

Observe the following Fuzzfile:

version: v1
jobs:
  hello:
    image:
      uri: docker://chapel/chapel:latest
    command:
      - /bin/sh
      - '-c'
      - hello-chapel --tasksPerLocale 8
    resource:
      cpu:
        cores: 8
        affinity: CORE
      memory:
        size: 1GB
    multinode:
      nodes: 2
      implementation: gasnet

This will use the official Chapel container to run a basic “Hello World” style example. The multinode.implementation section is set to gasnet. This tells Fuzzball to utilize a GASNet network if it exists within the cluster environment.

For more information about Chapel see the official docs.