[cig-commits] [commit] devel: re-orders loop in Deville routine, leads to faster code on tested systems (dac76e6)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Fri Nov 28 14:14:19 PST 2014
Repository : https://github.com/geodynamics/specfem3d
On branch : devel
Link : https://github.com/geodynamics/specfem3d/compare/9a84d06c76e869f5276019e4f84affce23830a4d...8dce71b713c1fd0b510e7538fea0f2307c7b29e8
>---------------------------------------------------------------
commit dac76e6155ffdfcb3a413aac88d737955e2ccf54
Author: daniel peter <peterda at ethz.ch>
Date: Fri Nov 28 13:52:21 2014 +0100
re-orders loop in Deville routine, leads to faster code on tested systems
>---------------------------------------------------------------
dac76e6155ffdfcb3a413aac88d737955e2ccf54
src/specfem3D/compute_forces_acoustic_Dev.F90 | 7 +++----
src/specfem3D/compute_forces_viscoelastic_Dev.F90 | 7 +++----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/specfem3D/compute_forces_acoustic_Dev.F90 b/src/specfem3D/compute_forces_acoustic_Dev.F90
index 1ab13be..7da1062 100644
--- a/src/specfem3D/compute_forces_acoustic_Dev.F90
+++ b/src/specfem3D/compute_forces_acoustic_Dev.F90
@@ -351,10 +351,9 @@
integer :: i,j,k
! matrix-matrix multiplication
- do j = 1,n2
- do i = 1,n1
- ! for efficiency it is better to leave this loop on k inside, it leads to slightly faster code
- do k = 1,n3
+ do k = 1,n3
+ do j = 1,n2
+ do i = 1,n1
C(i,j,k) = A(i,1,k) * B(1,j) &
+ A(i,2,k) * B(2,j) &
+ A(i,3,k) * B(3,j) &
diff --git a/src/specfem3D/compute_forces_viscoelastic_Dev.F90 b/src/specfem3D/compute_forces_viscoelastic_Dev.F90
index d28f1a1..eded6af 100644
--- a/src/specfem3D/compute_forces_viscoelastic_Dev.F90
+++ b/src/specfem3D/compute_forces_viscoelastic_Dev.F90
@@ -1089,10 +1089,9 @@
integer :: i,j,k
! matrix-matrix multiplication
- do j = 1,n2
- do i = 1,n1
- ! for efficiency it is better to leave this loop on k inside, it leads to slightly faster code
- do k = 1,n3
+ do k = 1,n3
+ do j = 1,n2
+ do i = 1,n1
C1(i,j,k) = A1(i,1,k) * B(1,j) &
+ A1(i,2,k) * B(2,j) &
+ A1(i,3,k) * B(3,j) &
More information about the CIG-COMMITS
mailing list