From a8994fc55fa013028d3bd371ed8545a1a0636182 Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@uni-potsdam.de>
Date: Thu, 13 Jun 2024 07:01:42 +0200
Subject: [PATCH] rodinia-srad: julia: Fix iteration loop

---
 src/benchmarks/rodinia-srad/julia/srad.jl | 78 +++++++++++------------
 1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/src/benchmarks/rodinia-srad/julia/srad.jl b/src/benchmarks/rodinia-srad/julia/srad.jl
index 50734a32..a6daba92 100755
--- a/src/benchmarks/rodinia-srad/julia/srad.jl
+++ b/src/benchmarks/rodinia-srad/julia/srad.jl
@@ -75,58 +75,58 @@ function main(args)
                 sum2 += tmp * tmp
             end
         end
-    end
 
-    meanROI::Float32 = sum / size_R
-    varROI::Float32 = (sum / size_R) - meanROI * meanROI
-    q0sqr::Float32 = varROI / (meanROI * meanROI)
+        meanROI::Float32 = sum / size_R
+        varROI::Float32 = (sum / size_R) - meanROI * meanROI
+        q0sqr::Float32 = varROI / (meanROI * meanROI)
 
-    @sync @parallel for i in 1:size(J,1)
-        for j in size(J,2)
-            Jc = J[i,j]
+        @sync @parallel for i in 1:size(J,1)
+            for j in size(J,2)
+                Jc = J[i,j]
 
-            # directional derivates
-            dN[i,j] = J[iN[i],j] - Jc
-            dS[i,j] = J[iS[i],j] - Jc
-            dW[i,j] = J[i,jW[j]] - Jc
-            dE[i,j] = J[i,jE[j]] - Jc
+                # directional derivates
+                dN[i,j] = J[iN[i],j] - Jc
+                dS[i,j] = J[iS[i],j] - Jc
+                dW[i,j] = J[i,jW[j]] - Jc
+                dE[i,j] = J[i,jE[j]] - Jc
 
-            G2 = (dN[i,j] * dN[i,j] + dS[i,j] * dS[i,j] + dW[i,j] * dW[i,j] +
-                  dE[i,j] * dE[i,j]) /
-                 (Jc * Jc)
+                G2 = (dN[i,j] * dN[i,j] + dS[i,j] * dS[i,j] + dW[i,j] * dW[i,j] +
+                    dE[i,j] * dE[i,j]) /
+                    (Jc * Jc)
 
-            L = (dN[i,j] + dS[i,j] + dW[i,j] + dE[i,j]) / Jc
+                L = (dN[i,j] + dS[i,j] + dW[i,j] + dE[i,j]) / Jc
 
-            num = (0.5 * G2) - ((1.0 / 16.0) * (L * L))
-            den = 1 + (0.25 * L)
-            qsqr = num / (den * den)
+                num = (0.5 * G2) - ((1.0 / 16.0) * (L * L))
+                den = 1 + (0.25 * L)
+                qsqr = num / (den * den)
 
-            # diffusion coefficent (equ 33)
-            den = (qsqr - q0sqr) / (q0sqr * (1 + q0sqr))
-            c[i,j] = 1.0 / (1.0 + den)
+                # diffusion coefficent (equ 33)
+                den = (qsqr - q0sqr) / (q0sqr * (1 + q0sqr))
+                c[i,j] = 1.0 / (1.0 + den)
 
-            # saturate diffusion coefficent
-            if (c[i,j] < 0)
-                c[i,j] = 0
-            elseif (c[i,j] > 1)
-                c[i,j] = 1
+                # saturate diffusion coefficent
+                if (c[i,j] < 0)
+                    c[i,j] = 0
+                elseif (c[i,j] > 1)
+                    c[i,j] = 1
+                end
             end
         end
-    end
 
-    @sync @parallel for i in 1:size(J,1)
-        for j in 1:size(J,2)
-            # diffusion coefficient
-            cN = c[i,j]
-            cS = c[iS[i],j]
-            cW = c[i,j]
-            cE = c[i,jE[j]]
+        @sync @parallel for i in 1:size(J,1)
+            for j in 1:size(J,2)
+                # diffusion coefficient
+                cN = c[i,j]
+                cS = c[iS[i],j]
+                cW = c[i,j]
+                cE = c[i,jE[j]]
 
-            # divergence (equ 58)
-            D = cN * dN[i,j] + cS * dS[i,j] + cW * dW[i,j] + cE * dE[i,j]
+                # divergence (equ 58)
+                D = cN * dN[i,j] + cS * dS[i,j] + cW * dW[i,j] + cE * dE[i,j]
 
-            # image update (equ 61)
-            J[i,j] += 0.25 * lambda * D
+                # image update (equ 61)
+                J[i,j] += 0.25 * lambda * D
+            end
         end
     end
 
-- 
GitLab