SymArrayDmapCompat

Usage

use SymArrayDmapCompat;

or

import SymArrayDmapCompat;
enum Dmap { defaultRectangular, blockDist }

Available domain maps.

enum constant defaultRectangular
enum constant blockDist
config param MyDmap: Dmap = defaultDmap

How domains/arrays are distributed. Defaults to Dmap.defaultRectangular if CHPL_COMM=none, otherwise defaults to Dmap.blockDist.

proc makeDistDom(shape: int ...?N)

Makes a domain distributed according to MyDmap.

Arguments

shape : int – size of domain in each dimension

proc makeDistArray(shape: int ...?N, type etype) throws  where N == 1

Makes an array of specified type over a distributed domain

Arguments
  • shape : int – size of the domain in each dimension

  • etype : type – desired type of array

Returns

[] ?etype

proc makeDistArray(shape: int ...?N, type etype) throws  where N > 1
proc makeDistArray(in a: [?D] ?etype) throws  where MyDmap != Dmap.defaultRectangular && a.isDefaultRectangular()
proc makeDistArray(in a: [?D] ?etype) throws  where D.rank == 1 && (MyDmap == Dmap.defaultRectangular || !a.isDefaultRectangular())
proc makeDistArray(in a: [?D] ?etype) throws  where D.rank > 1 && (MyDmap == Dmap.defaultRectangular || !a.isDefaultRectangular())
proc makeDistArray(D: domain(?), type etype) throws  where D.rank == 1
proc makeDistArray(D: domain(?), type etype) throws  where D.rank > 1
proc makeDistArray(D: domain(?), initExpr: ?t) throws  where D.rank == 1
proc makeDistArray(D: domain(?), initExpr: ?t) throws  where D.rank > 1
proc makeDistDomType(size: int) type

Returns the type of the distributed domain

Arguments

size : int – size of domain

Returns

type