| <- Prev | Index | Next -> |
NHSE ReviewTM: Comments · Archive · Search


IBM XL HPF Pseudo-Fortran for Loop Jamming Discussion

XL High Performance Fortran for AIX, Version 01.01.0000.0000 --- three_assignments.f 08/16/96 17:00:37
 
>>>>> OPTIONS SECTION <<<<<
***   Options In Effect   ***
  
         ==  On / Off Options  ==
         ESCAPE        I4            OBJECT        NOSAVE        ZEROSIZE
  
         ==  Options Of Integer Type ==
         MAXMEM(2048)          SPILLSIZE(512)
  
         ==  Options Of Character Type  ==
         ALIAS(STD,NOINTPTR)   AUTODBL(NONE)         DIRECTIVE(IBM*)
         FLAG(L,L)             FLOAT(MAF,FOLD)       FREE(F90)
         HALT(S)               HOT()                 HPF(PURECOMM,COMMONINIT)
         IEEE(NEAR)            INTSIZE(4)            LANGLVL(90EXT)
         REALSIZE(4)           REPORT(HOTLIST,HPFLIST)
         XFLAG()               XLF77(LEADZERO,BLANKPAD)
  
>>>>> SOURCE SECTION <<<<<
** three_assignments   === End of Compilation 1 ===
 
>>>>> PARALLELIZATION AND LOOP TRANSFORMATION SECTION <<<<<

1585-102  *** HPF Parallelization Report ***

       program three_assignments()
       integer*4 :: three_assignments
       pointer :: a1    ! => a1_26
         real*4 :: a1_26(:,:)
       pointer :: a2    ! => a2_27
         real*4 :: a2_27(:,:)
       pointer :: b1    ! => b1_28
         real*4 :: b1_28(:,:)
       pointer :: b2    ! => b2_29
         real*4 :: b2_29(:,:)
       pointer :: c1    ! => c1_30
         real*4 :: c1_30(:,:)
       pointer :: c2    ! => c2_31
         real*4 :: c2_31(:,:)
       integer*4 :: #ALLOCATEMP
       integer*4 :: SSA_STACK_1
       integer*4 :: i_4
       integer*4 :: i_5
       integer*4 :: i_6
       integer*4 :: i_7
       integer*4 :: i_8
       save, integer*4 :: PGB_9(1:2)
       save, integer*4 :: PID_10(1:2)
       save, integer*4 :: PG_11
       integer*4 :: B_12(1:4)
       save, integer*4 :: D_13(1:4)
       integer*4 :: iown_l_14
       integer*4 :: iown_u_15
       integer*4 :: iown_l_16
       integer*4 :: iown_u_17
       integer*4 :: Ax_18(1:2)
       integer*4 :: A_19(1:6)
       save, integer*4 :: init_flag_20
       integer*4 :: SSA_STACK_21
       integer*4 :: SSA_STACK_22
       integer*4 :: msg_23
       external :: three_assignments
         integer*4 :: three_assignments
       external, integer*4 :: _xlhpf_get_pe_bounds_index
       external :: _xlhpf_allocate
       external :: _xlhpf_deallocate
       external, integer*4 :: MIN0
       #ALLOCATEMP = 0
       if ((init_flag_20 .eq. 0) .ne. 0) then
         PG_11 = _xlhpf_get_pe_bounds_index(2,PGB_9,PID_10)
         D_13(3) = ((40 + PGB_9(2)) - 1) / PGB_9(2)
         D_13(4) = 0
         D_13(1) = ((30 + PGB_9(1)) - 1) / PGB_9(1)
         D_13(2) = 0
         init_flag_20 = 1
       end if
       B_12(3) = 1
       B_12(4) = 40
       B_12(1) = 1
       B_12(2) = 30
       iown_l_14 = 1 + ((40 + PGB_9(2)) - 1) / PGB_9(2) * PID_10(2)
       iown_u_15 = (((40 + PGB_9(2)) - 1) / PGB_9(2) + iown_l_14) - 1
       iown_l_16 = 1 + ((30 + PGB_9(1)) - 1) / PGB_9(1) * PID_10(1)
       iown_u_17 = (((30 + PGB_9(1)) - 1) / PGB_9(1) + iown_l_16) - 1
       Ax_18(2) = 1
       Ax_18(1) = 0
       call _xlhpf_allocate(a1,4,2,9,PG_11,B_12,D_13,%val(0),Ax_18,2)
       A_19(4) = 1
       A_19(5) = 1
       A_19(1) = 1
       A_19(2) = 1
       call _xlhpf_allocate(a2,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
       call _xlhpf_allocate(b1,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
       call _xlhpf_allocate(b2,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
       call _xlhpf_allocate(c1,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
       call _xlhpf_allocate(c2,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
C 1585-501  Original Source Line 6
       do i_4=iown_l_14,MIN0(iown_u_15,40),1
C 1585-501  Original Source Line 6
         do i_5=iown_l_16,MIN0(iown_u_17,30),1
           a2_27(i_5,i_4) = a1_26(i_5,i_4)
         end do
       end do
C 1585-501  Original Source Line 7
       do i_4=iown_l_14,MIN0(iown_u_15,40),1
C 1585-501  Original Source Line 7
         do i_5=iown_l_16,MIN0(iown_u_17,30),1
           b2_29(i_5,i_4) = b1_28(i_5,i_4)
         end do
       end do
C 1585-501  Original Source Line 8
       do i_4=iown_l_14,MIN0(iown_u_15,40),1
C 1585-501  Original Source Line 8
         do i_5=iown_l_16,MIN0(iown_u_17,30),1
           c2_31(i_5,i_4) = c1_30(i_5,i_4)
         end do
       end do
       call _xlhpf_deallocate(a1)
       call _xlhpf_deallocate(a2)
       call _xlhpf_deallocate(b1)
       call _xlhpf_deallocate(b2)
       call _xlhpf_deallocate(c1)
       call _xlhpf_deallocate(c2)
       return
       call _xlhpf_deallocate(a1)
       call _xlhpf_deallocate(a2)
       call _xlhpf_deallocate(b1)
       call _xlhpf_deallocate(b2)
       call _xlhpf_deallocate(c1)
       call _xlhpf_deallocate(c2)
       end

1585-103  *** Loop Transformation Report ***

       program three_assignments()
       integer*4 :: three_assignments
       pointer :: a1    ! => a1_26
         real*4 :: a1_26(:,:)
       pointer :: a2    ! => a2_27
         real*4 :: a2_27(:,:)
       pointer :: b1    ! => b1_28
         real*4 :: b1_28(:,:)
       pointer :: b2    ! => b2_29
         real*4 :: b2_29(:,:)
       pointer :: c1    ! => c1_30
         real*4 :: c1_30(:,:)
       pointer :: c2    ! => c2_31
         real*4 :: c2_31(:,:)
       integer*4 :: #ALLOCATEMP
       integer*4 :: SSA_STACK_1
       integer*4 :: i_4
       integer*4 :: i_5
       integer*4 :: i_6
       integer*4 :: i_7
       integer*4 :: i_8
       save, integer*4 :: PGB_9(1:2)
       save, integer*4 :: PID_10(1:2)
       save, integer*4 :: PG_11
       integer*4 :: B_12(1:4)
       save, integer*4 :: D_13(1:4)
       integer*4 :: iown_l_14
       integer*4 :: iown_u_15
       integer*4 :: iown_l_16
       integer*4 :: iown_u_17
       integer*4 :: Ax_18(1:2)
       integer*4 :: A_19(1:6)
       save, integer*4 :: init_flag_20
       integer*4 :: SSA_STACK_21
       integer*4 :: SSA_STACK_22
       integer*4 :: msg_23
       integer*4 :: SSA_STACK_32
       external :: three_assignments
         integer*4 :: three_assignments
       external, integer*4 :: _xlhpf_get_pe_bounds_index
       external :: _xlhpf_allocate
       external :: _xlhpf_deallocate
       external, integer*4 :: MIN0
       #ALLOCATEMP = 0
       if ((init_flag_20 .eq. 0) .ne. 0) then
         PG_11 = _xlhpf_get_pe_bounds_index(2,PGB_9,PID_10)
         D_13(3) = ((40 + PGB_9(2)) - 1) / PGB_9(2)
         D_13(4) = 0
         D_13(1) = ((30 + PGB_9(1)) - 1) / PGB_9(1)
         D_13(2) = 0
         init_flag_20 = 1
       end if
       B_12(3) = 1
       B_12(4) = 40
       B_12(1) = 1
       B_12(2) = 30
       iown_l_14 = 1 + ((40 + PGB_9(2)) - 1) / PGB_9(2) * PID_10(2)
       iown_u_15 = (((40 + PGB_9(2)) - 1) / PGB_9(2) + iown_l_14) - 1
       iown_l_16 = 1 + ((30 + PGB_9(1)) - 1) / PGB_9(1) * PID_10(1)
       iown_u_17 = (((30 + PGB_9(1)) - 1) / PGB_9(1) + iown_l_16) - 1
       Ax_18(2) = 1
       Ax_18(1) = 0
       call _xlhpf_allocate(a1,4,2,9,PG_11,B_12,D_13,%val(0),Ax_18,2)
       A_19(4) = 1
       A_19(5) = 1
       A_19(1) = 1
       A_19(2) = 1
       call _xlhpf_allocate(a2,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
       call _xlhpf_allocate(b1,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
       call _xlhpf_allocate(b2,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
       call _xlhpf_allocate(c1,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)
       call _xlhpf_allocate(c2,4,2,9,PG_11,B_12,D_13,A_19,Ax_18,2)


C 1585-501  Original Source Line 6
       do i_4=iown_l_14,MIN0(iown_u_15,40),1
C 1585-501  Original Source Line 6
         do i_5=iown_l_16,MIN0(iown_u_17,30),1
           a2_27(i_5,i_4) = a1_26(i_5,i_4)
           b2_29(i_5,i_4) = b1_28(i_5,i_4)
           c2_31(i_5,i_4) = c1_30(i_5,i_4)
         end do
       end do

       call _xlhpf_deallocate(a1)
       call _xlhpf_deallocate(a2)
       call _xlhpf_deallocate(b1)
       call _xlhpf_deallocate(b2)
       call _xlhpf_deallocate(c1)
       call _xlhpf_deallocate(c2)
       return
       call _xlhpf_deallocate(a1)
       call _xlhpf_deallocate(a2)
       call _xlhpf_deallocate(b1)
       call _xlhpf_deallocate(b2)
       call _xlhpf_deallocate(c1)
       call _xlhpf_deallocate(c2)
       end

 
 
>>>>> FILE TABLE SECTION <<<<<
 
 
                                       FILE CREATION        FROM
FILE NO   FILENAME                    DATE       TIME       FILE    LINE
     0    three_assignments.f         08/16/96   15:16:36
 
 
>>>>> COMPILATION EPILOGUE SECTION <<<<<
 
 
FORTRAN Summary of Diagnosed Conditions
 
TOTAL   UNRECOVERABLE  SEVERE       ERROR     WARNING    INFORMATIONAL
               (U)       (S)         (E)        (W)          (I)
    0           0         0           0          0            0
 
 
    Source records read.......................................      10
1501-510  Compilation successful for file three_assignments.f.
1501-543  Object file created.


| <- Prev | Index | Next -> |
NHSE ReviewTM: Comments · Archive · Search


presberg@tc.cornell.edu
Last modified: Fri Sep 27 18:13:40 1996