Basic HTML version of Foils prepared 17 Sept 1996

Foil 79 New Data Mapping Features in HPF 2.0 - I

From New CPS615HPF and Fortran90 Discussion Sept 17 96 Basic Simulation Track for Computational Science CPS615 -- Fall Semester 96. by Geoffrey C. Fox, Tom Haupt


!HPF DISTRIBUTE x( BLOCK(SHADOW = 1 ) )
  • is designed to help compiler by specifying that it should set up a guard ring each side of BLOCK in each processor. In example Guard ring has extent 1
  • If x has dimension 100 and 4 processors, we allocate storage for
  • x(1..26) in Processor 1
  • x(24..51) in Processor 2
  • x(49..76) in Processor 3
  • x(74..100) in Processor 4
!HPF DISTRIBUTE x( BLOCK( /26,24,24,26/ ) )
  • is designed to specify general BLOCK distribution with in above example
  • x(1..26) in Processor 1
  • x(26..50) in Processor 2
  • x(51..76) in Processor 3
  • x(77..100) in Processor 4
!HPF DISTRIBUTE x( INDIRECT(map_array) )
  • is designed to allow an arbitary user array to specify location of x(i)
  • the processor number in map_array(i) would be typically be calculated by your favorite load balancing routine!



© on Tue Oct 7 1997