[cig-commits] r22641 - seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Wed Jul 17 15:57:11 PDT 2013
Author: dkomati1
Date: 2013-07-17 15:57:10 -0700 (Wed, 17 Jul 2013)
New Revision: 22641
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90
Log:
done vectorizing compute_element_att_memory_ic()
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90 2013-07-17 22:49:52 UTC (rev 22640)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90 2013-07-17 22:57:10 UTC (rev 22641)
@@ -2192,6 +2192,10 @@
real(kind=CUSTOM_REAL),dimension(N_SLS) :: tau_sigma_CUSTOM_REAL
real(kind=CUSTOM_REAL) :: deltat
+#ifdef FORCE_VECTORIZATION
+ integer :: ijk
+#endif
+
! use Runge-Kutta scheme to march in time
! get coefficients for that standard linear solid
@@ -2218,6 +2222,13 @@
enddo
else
do i_memory = 1,5
+#ifdef FORCE_VECTORIZATION
+ do ijk=1,NGLLCUBE
+ R_memory(i_memory,i_SLS,ijk,1,1,ispec) = alphaval(i_SLS) * R_memory(i_memory,i_SLS,ijk,1,1,ispec) &
+ + muvstore(ijk,1,1,ispec) * factor_common(i_SLS,ijk,1,1,ispec) * &
+ (betaval(i_SLS) * epsilondev_loc_nplus1(i_memory,ijk,1,1) + gammaval(i_SLS) * epsilondev_loc(i_memory,ijk,1,1))
+ enddo
+#else
do k = 1,NGLLZ
do j = 1,NGLLY
do i = 1,NGLLX
@@ -2227,6 +2238,7 @@
enddo
enddo
enddo
+#endif
enddo
endif
@@ -2248,6 +2260,13 @@
enddo
else
do i_memory = 1,5
+#ifdef FORCE_VECTORIZATION
+ do ijk=1,NGLLCUBE
+ R_memory(i_memory,i_SLS,ijk,1,1,ispec) = alphaval(i_SLS) * R_memory(i_memory,i_SLS,ijk,1,1,ispec) &
+ + muvstore(ijk,1,1,ispec) * factor_common(i_SLS,1,1,1,ispec) * &
+ (betaval(i_SLS) * epsilondev_loc_nplus1(i_memory,ijk,1,1) + gammaval(i_SLS) * epsilondev_loc(i_memory,ijk,1,1))
+ enddo
+#else
do k = 1,NGLLZ
do j = 1,NGLLY
do i = 1,NGLLX
@@ -2257,6 +2276,7 @@
enddo
enddo
enddo
+#endif
enddo
endif
More information about the CIG-COMMITS
mailing list