Communication

Usage

use Communication;

or

import Communication;

Warning

The Communication module is unstable and may change in the future

This module provides low-level communication procedures.

Warning

These procedures will perform very rudimentary error checking with checks enabled. Namely, only locale IDs and data sizes are checked to make sure they have reasonable values. Validity of the addresses is not confirmed under any circumstance.

proc get(dest: c_ptr(void), src: c_ptr(void), srcLocID: int, numBytes: integral)

Copy potentially remote data into local memory.

Arguments
  • dest – Address in local memory where the data will be copied into

  • src – Address of the source in potentially remote memory

  • srcLocID – ID of the source locale

  • numBytes – Number of bytes to copy

proc put(dest: c_ptr(void), src: c_ptr(void), destLocID: int, numBytes: integral)

Copy local data into potentially remote memory.

Arguments
  • dest – Address in potentially remote memory where the data will be copied into

  • src – Address of the source in local memory

  • destLocID – ID of the destination locale

  • numBytes – Number of bytes to copy