Skip to main content
Skip to main content
Version: 2.0 (Current)

Environment Baseline

Before you evaluate a GASNet-compatible system, stabilize the environment so performance data stays reproducible.

Hardware checklist

  • CPU model, NUMA layout, and SMT configuration.
  • NIC model, firmware revision, and PCIe slot topology.
  • Switch fabric details (topology, oversubscription, routing).

Software checklist

  • Kernel and OFED/driver version.
  • Compiler and MPI/PGAS runtime versions.
  • Frequency governor and turbo/boost policies.

Baseline workflow

  1. Lock CPU frequency where possible.
  2. Pin processes and threads to explicit cores.
  3. Record NIC firmware and driver settings in the lab notebook.

When you later compare microbenchmarks, this baseline becomes the “control”.

Linux (Ubuntu/Debian)

Install build essentials and common transports:

sudo apt-get update
sudo apt-get install -y build-essential cmake pkg-config \
libibverbs-dev librdmacm-dev libfabric-dev

Then configure GASNet with the transport you intend to test:

./configure --prefix=$HOME/gasnet-install \
--with-ofi --with-ucx
make -j
make install

Linux (RHEL/Rocky/CentOS)

sudo dnf groupinstall -y \"Development Tools\"
sudo dnf install -y rdma-core-devel libfabric-devel

If your cluster provides vendor OFED, record the exact driver version so you can reproduce the environment later.

macOS

brew install gasnet

For reproducible benchmarks, disable App Nap and ensure the system is on AC power to avoid frequency throttling.

HPC clusters (modules)

Most centers deliver GASNet and transports as modules:

module purge
module load gcc/12 openmpi/4.1 ucx/1.15
module load gasnet

Capture the module list in your notes:

module list > gasnet-module-snapshot.txt

Containers

For containerized workflows, prefer Apptainer or Podman with host networking enabled. Bind-mount device files for RDMA:

apptainer exec --bind /dev/infiniband gasnet.sif ./microbenchmarks

Be explicit about CPU pinning inside the container to avoid noisy results.

Loading comments...