10
1
mirror of https://gitlab.com/scemama/qmcchem.git synced 2024-12-22 04:13:31 +01:00

Removed LOOP_COUNT directives

This commit is contained in:
Anthony Scemama 2016-06-03 11:52:24 +02:00
parent 05f5d463a6
commit 837c5bbbf7
2 changed files with 3 additions and 22 deletions

View File

@ -171,19 +171,15 @@ END_PROVIDER
do ie2 = 1,elec_num do ie2 = 1,elec_num
real :: x, y, z real :: x, y, z
real :: x2, y2, z2
x = elec_coord(ie2,1) x = elec_coord(ie2,1)
y = elec_coord(ie2,2) y = elec_coord(ie2,2)
z = elec_coord(ie2,3) z = elec_coord(ie2,3)
!DIR$ VECTOR ALIGNED !DIR$ VECTOR ALIGNED
!DIR$ LOOP COUNT (200)
do ie1 = 1,elec_num do ie1 = 1,elec_num
elec_dist_vec_x(ie1,ie2) = elec_coord(ie1,1) - x elec_dist_vec_x(ie1,ie2) = elec_coord(ie1,1) - x
elec_dist_vec_y(ie1,ie2) = elec_coord(ie1,2) - y elec_dist_vec_y(ie1,ie2) = elec_coord(ie1,2) - y
elec_dist_vec_z(ie1,ie2) = elec_coord(ie1,3) - z elec_dist_vec_z(ie1,ie2) = elec_coord(ie1,3) - z
enddo
!DIR$ VECTOR ALIGNED
!DIR$ LOOP COUNT (200)
do ie1 = 1,elec_num
elec_dist(ie1,ie2) = sqrt( & elec_dist(ie1,ie2) = sqrt( &
elec_dist_vec_x(ie1,ie2)*elec_dist_vec_x(ie1,ie2) + & elec_dist_vec_x(ie1,ie2)*elec_dist_vec_x(ie1,ie2) + &
elec_dist_vec_y(ie1,ie2)*elec_dist_vec_y(ie1,ie2) + & elec_dist_vec_y(ie1,ie2)*elec_dist_vec_y(ie1,ie2) + &

View File

@ -682,8 +682,6 @@ subroutine sparse_full_mv(A,LDA, &
! LDC and LDA have to be factors of simd_sp ! LDC and LDA have to be factors of simd_sp
!DIR$ VECTOR ALIGNED !DIR$ VECTOR ALIGNED
!DIR$ LOOP COUNT (256)
!$OMP SIMD
do j=1,LDC do j=1,LDC
C1(j) = 0. C1(j) = 0.
C2(j) = 0. C2(j) = 0.
@ -691,11 +689,11 @@ subroutine sparse_full_mv(A,LDA, &
C4(j) = 0. C4(j) = 0.
C5(j) = 0. C5(j) = 0.
enddo enddo
!$OMP END SIMD
kmax2 = ishft(indices(0),-2) kmax2 = ishft(indices(0),-2)
kmax2 = ishft(kmax2,2) kmax2 = ishft(kmax2,2)
kmax3 = indices(0) kmax3 = indices(0)
!DIR$ LOOP COUNT (200)
do kao=1,kmax2,4 do kao=1,kmax2,4
k_vec(1) = indices(kao ) k_vec(1) = indices(kao )
k_vec(2) = indices(kao+1) k_vec(2) = indices(kao+1)
@ -712,17 +710,14 @@ subroutine sparse_full_mv(A,LDA, &
d32 = B2(kao+2) d32 = B2(kao+2)
d42 = B2(kao+3) d42 = B2(kao+3)
!DIR$ LOOP COUNT (256)
do k=0,LDA-1,$IRP_ALIGN/4 do k=0,LDA-1,$IRP_ALIGN/4
!DIR$ VECTOR ALIGNED !DIR$ VECTOR ALIGNED
!$OMP SIMD
do j=1,$IRP_ALIGN/4 do j=1,$IRP_ALIGN/4
C1(j+k) = C1(j+k) + A(j+k,k_vec(1))*d11 + A(j+k,k_vec(2))*d21& C1(j+k) = C1(j+k) + A(j+k,k_vec(1))*d11 + A(j+k,k_vec(2))*d21&
+ A(j+k,k_vec(3))*d31 + A(j+k,k_vec(4))*d41 + A(j+k,k_vec(3))*d31 + A(j+k,k_vec(4))*d41
C2(j+k) = C2(j+k) + A(j+k,k_vec(1))*d12 + A(j+k,k_vec(2))*d22& C2(j+k) = C2(j+k) + A(j+k,k_vec(1))*d12 + A(j+k,k_vec(2))*d22&
+ A(j+k,k_vec(3))*d32 + A(j+k,k_vec(4))*d42 + A(j+k,k_vec(3))*d32 + A(j+k,k_vec(4))*d42
enddo enddo
!$OMP END SIMD
enddo enddo
d13 = B3(kao ) d13 = B3(kao )
@ -735,17 +730,14 @@ subroutine sparse_full_mv(A,LDA, &
d34 = B4(kao+2) d34 = B4(kao+2)
d44 = B4(kao+3) d44 = B4(kao+3)
!DIR$ LOOP COUNT (256)
do k=0,LDA-1,$IRP_ALIGN/4 do k=0,LDA-1,$IRP_ALIGN/4
!DIR$ VECTOR ALIGNED !DIR$ VECTOR ALIGNED
!$OMP SIMD
do j=1,$IRP_ALIGN/4 do j=1,$IRP_ALIGN/4
C3(j+k) = C3(j+k) + A(j+k,k_vec(1))*d13 + A(j+k,k_vec(2))*d23& C3(j+k) = C3(j+k) + A(j+k,k_vec(1))*d13 + A(j+k,k_vec(2))*d23&
+ A(j+k,k_vec(3))*d33 + A(j+k,k_vec(4))*d43 + A(j+k,k_vec(3))*d33 + A(j+k,k_vec(4))*d43
C4(j+k) = C4(j+k) + A(j+k,k_vec(1))*d14 + A(j+k,k_vec(2))*d24& C4(j+k) = C4(j+k) + A(j+k,k_vec(1))*d14 + A(j+k,k_vec(2))*d24&
+ A(j+k,k_vec(3))*d34 + A(j+k,k_vec(4))*d44 + A(j+k,k_vec(3))*d34 + A(j+k,k_vec(4))*d44
enddo enddo
!$OMP END SIMD
enddo enddo
d15 = B5(kao ) d15 = B5(kao )
@ -753,20 +745,16 @@ subroutine sparse_full_mv(A,LDA, &
d35 = B5(kao+2) d35 = B5(kao+2)
d45 = B5(kao+3) d45 = B5(kao+3)
!DIR$ LOOP COUNT (256)
do k=0,LDA-1,$IRP_ALIGN/4 do k=0,LDA-1,$IRP_ALIGN/4
!DIR$ VECTOR ALIGNED !DIR$ VECTOR ALIGNED
!$OMP SIMD
do j=1,$IRP_ALIGN/4 do j=1,$IRP_ALIGN/4
C5(j+k) = C5(j+k) + A(j+k,k_vec(1))*d15 + A(j+k,k_vec(2))*d25& C5(j+k) = C5(j+k) + A(j+k,k_vec(1))*d15 + A(j+k,k_vec(2))*d25&
+ A(j+k,k_vec(3))*d35 + A(j+k,k_vec(4))*d45 + A(j+k,k_vec(3))*d35 + A(j+k,k_vec(4))*d45
enddo enddo
!$OMP END SIMD
enddo enddo
enddo enddo
!DIR$ LOOP COUNT (200)
do kao = kmax2+1, kmax3 do kao = kmax2+1, kmax3
k_vec(1) = indices(kao) k_vec(1) = indices(kao)
d11 = B1(kao) d11 = B1(kao)
@ -775,10 +763,8 @@ subroutine sparse_full_mv(A,LDA, &
d14 = B4(kao) d14 = B4(kao)
d15 = B5(kao) d15 = B5(kao)
!DIR$ VECTOR ALIGNED !DIR$ VECTOR ALIGNED
!DIR$ LOOP COUNT (256)
do k=0,LDA-1,simd_sp do k=0,LDA-1,simd_sp
!DIR$ VECTOR ALIGNED !DIR$ VECTOR ALIGNED
!$OMP SIMD
do j=1,$IRP_ALIGN/4 do j=1,$IRP_ALIGN/4
C1(j+k) = C1(j+k) + A(j+k,k_vec(1))*d11 C1(j+k) = C1(j+k) + A(j+k,k_vec(1))*d11
C2(j+k) = C2(j+k) + A(j+k,k_vec(1))*d12 C2(j+k) = C2(j+k) + A(j+k,k_vec(1))*d12
@ -786,7 +772,6 @@ subroutine sparse_full_mv(A,LDA, &
C4(j+k) = C4(j+k) + A(j+k,k_vec(1))*d14 C4(j+k) = C4(j+k) + A(j+k,k_vec(1))*d14
C5(j+k) = C5(j+k) + A(j+k,k_vec(1))*d15 C5(j+k) = C5(j+k) + A(j+k,k_vec(1))*d15
enddo enddo
!$OMP END SIMD
enddo enddo
enddo enddo