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