diff options
Diffstat (limited to 'test/bench/spectral-norm-parallel.go')
-rw-r--r-- | test/bench/spectral-norm-parallel.go | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/test/bench/spectral-norm-parallel.go b/test/bench/spectral-norm-parallel.go index 68aaedea6..47882c69d 100644 --- a/test/bench/spectral-norm-parallel.go +++ b/test/bench/spectral-norm-parallel.go @@ -46,9 +46,7 @@ import ( var n = flag.Int("n", 2000, "count") var nCPU = flag.Int("ncpu", 4, "number of cpus") -func evalA(i, j int) float64 { - return 1 / float64(((i + j)*(i + j + 1)/2 + i + 1)); -} +func evalA(i, j int) float64 { return 1 / float64(((i+j)*(i+j+1)/2 + i + 1)) } type Vec []float64 @@ -56,7 +54,7 @@ func (v Vec) Times(i, n int, u Vec, c chan int) { for ; i < n; i++ { v[i] = 0; for j := 0; j < len(u); j++ { - v[i] += evalA(i, j)*u[j]; + v[i] += evalA(i, j) * u[j] } } c <- 1; @@ -66,7 +64,7 @@ func (v Vec) TimesTransp(i, n int, u Vec, c chan int) { for ; i < n; i++ { v[i] = 0; for j := 0; j < len(u); j++ { - v[i] += evalA(j, i)*u[j]; + v[i] += evalA(j, i) * u[j] } } c <- 1; @@ -82,11 +80,11 @@ func (v Vec) ATimesTransp(u Vec) { x := make(Vec, len(u)); c := make(chan int, *nCPU); for i := 0; i < *nCPU; i++ { - go x.Times(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, u, c); + go x.Times(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, u, c) } wait(c); for i := 0; i < *nCPU; i++ { - go v.TimesTransp(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, x, c); + go v.TimesTransp(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, x, c) } wait(c); } @@ -97,7 +95,7 @@ func main() { N := *n; u := make(Vec, N); for i := 0; i < N; i++ { - u[i] = 1; + u[i] = 1 } v := make(Vec, N); for i := 0; i < 10; i++ { @@ -106,8 +104,8 @@ func main() { } var vBv, vv float64; for i := 0; i < N; i++ { - vBv += u[i]*v[i]; - vv += v[i]*v[i]; + vBv += u[i] * v[i]; + vv += v[i] * v[i]; } fmt.Printf("%0.9f\n", math.Sqrt(vBv/vv)); } |