Skip to content

Commit 2aaa673

Browse files
committed
🚧 go: vek for SIMD
1 parent 6495d59 commit 2aaa673

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

‎go.mod

+5
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@ module voxcor
33
go 1.21.1
44

55
require (
6+
github.com/chewxy/math32 v1.10.1 // indirect
67
github.com/klauspost/compress v1.15.15 // indirect
78
github.com/klauspost/pgzip v1.2.5 // indirect
89
github.com/okieraised/gonii v0.9.0 // indirect
10+
github.com/viterin/partial v1.1.0 // indirect
11+
github.com/viterin/vek v0.4.2 // indirect
12+
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
13+
golang.org/x/sys v0.11.0 // indirect
914
gonum.org/v1/gonum v0.14.0 // indirect
1015
)

‎go.sum

+10
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
1+
github.com/chewxy/math32 v1.10.1 h1:LFpeY0SLJXeaiej/eIp2L40VYfscTvKh/FSEZ68uMkU=
2+
github.com/chewxy/math32 v1.10.1/go.mod h1:dOB2rcuFrCn6UHrze36WSLVPKtzPMRAQvBvUwkSsLqs=
13
github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw=
24
github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
35
github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE=
46
github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
57
github.com/okieraised/gonii v0.9.0 h1:3tgFUkcDTqs10i1ktO2Kz4j3l09prLvA3BgdWYig+Sw=
68
github.com/okieraised/gonii v0.9.0/go.mod h1:4gPAkpytAgahn8gIY4TUB+o3Ijvk35Jo5qA4n2UYzpY=
9+
github.com/viterin/partial v1.1.0 h1:iH1l1xqBlapXsYzADS1dcbizg3iQUKTU1rbwkHv/80E=
10+
github.com/viterin/partial v1.1.0/go.mod h1:oKGAo7/wylWkJTLrWX8n+f4aDPtQMQ6VG4dd2qur5QA=
11+
github.com/viterin/vek v0.4.2 h1:Vyv04UjQT6gcjEFX82AS9ocgNbAJqsHviheIBdPlv5U=
12+
github.com/viterin/vek v0.4.2/go.mod h1:A4JRAe8OvbhdzBL5ofzjBS0J29FyUrf95tQogvtHHUc=
13+
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 h1:m64FZMko/V45gv0bNmrNYoDEq8U5YUhetc9cBWKS1TQ=
14+
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8=
15+
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
16+
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
717
gonum.org/v1/gonum v0.14.0 h1:2NiG67LD1tEH0D7kM+ps2V+fXmsAnpUeec7n8tcr4S0=
818
gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU=

‎niimean/main.go

+10-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ package main
33
import (
44
"fmt"
55
util "voxcor/util"
6-
"gonum.org/v1/gonum/stat"
6+
//"gonum.org/v1/gonum/stat"
7+
8+
//vek is a collection of SIMD accelerated vector functions for Go.
9+
"github.com/viterin/vek"
710
)
811

912
func main() {
@@ -19,5 +22,10 @@ func main() {
1922
n := float64(len(img))
2023
fmt.Printf("mean: %.3f", sum/n)
2124
*/
22-
fmt.Printf("%.3f",stat.Mean(img, nil))
25+
26+
// same as loop
27+
//fmt.Printf("%.3f",stat.Mean(img, nil))
28+
29+
// slower! on core duo
30+
fmt.Printf("%.3f", vek.Mean(img))
2331
}

0 commit comments

Comments
 (0)