next up previous
Next: Directiva ALIGN Up: Distrubución de los datos Previous: Colapso de dimensiones en

Restricciones de la directiva DISTRIBUTE

El HPF exige que la forma como se hace la distribución de los datos debe estar conforme con el arreglo lógico de los procesadores, por ejemplo:

  !HPF$ PROCESSORS procs1(2,2)      ! matriz de procesadores
  !HPF$ PROCESSORS procs2(4)        ! vector de procesadores
  INTEGER DIMENSION(100,100)  :: a  ! Arreglo bidimensional
  INTEGER DIMENSION(10,10,10) :: b  ! Arreglo tridimensional

  !HPF$ DISTRIBUTE (BLOCK,CYCLIC) ONTO proc1 :: a  ! Conforme
  !HPF$ DISTRIBUTE (CYCLIC,*,*) ONTO proc2 :: b    ! Conforme

Aquí las directivas PROCESSORS y DISTRIBUTE están conformes porque la distribución tiene el mismo rango que el arreglo lógico de los procesadores, pero las directivas siguientes no están conformes:

  !HPF$ DISTRIBUTE (BLOCK) ONTO proc1 :: a          ! No Conforme
  !HPF$ DISTRIBUTE (*,BLOCK,BLOCK) ONTO proc2 :: b  ! No Conforme

La palabla ONTO le indica al compilador cual arreglo de procesadores va a utilizar para distribuir los datos.



Kay A. Tucci K.
Tue Apr 13 11:25:14 GMT-0400 1999