For example,
REAL, DIMENSION(100,100) :: A CHARACTER(LEN=9), DIMENSION(2) :: DISTS INTEGER, DIMENSION(2) :: BLK_SIZE, PSHAPE INTEGER :: PRANK !HPF$ PROCESSORS, DIMENSION(4) :: P !HPF$ DISTRIBUTE (BLOCK,*) ONTO P :: A CALL HPF_DISTRIBUTION(A,AXIS_TYPE = DISTS, & AXIS_INFO = BLK_SIZE,& PROCESSORS_RANK = PRANK, & PROCESSORS_SHAPE = PSHAPE)
Here DISTS is equal to (/'BLOCK','COLLAPSED'/).
BLK_SIZE(1) is equal to 50. BLK_SIZE(2) is compiler dependent.
PRANK is 1 and PSHAPE(1) is 4. PSHAPE(2) has not been assigned a value.
The other procedures follow a similar pattern.
For more information, click here