-
Notifications
You must be signed in to change notification settings - Fork 197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add sis avx512 and fft avx512 for koalabear #622
base: master
Are you sure you want to change the base?
Conversation
Suggested edit: diff --git a/internal/generator/gkr/template/gkr.test.vectors.gen.go.tmpl b/internal/generator/gkr/template/gkr.test.vectors.gen.go.tmpl
index 71f0d4835..7bf9cea03 100644
--- a/internal/generator/gkr/template/gkr.test.vectors.gen.go.tmpl
+++ b/internal/generator/gkr/template/gkr.test.vectors.gen.go.tmpl
@@ -1,19 +1,19 @@
import (
"encoding/json"
"fmt"
+ "hash"
+ "os"
+ "path/filepath"
+ "reflect"
+
+ "github.com/consensys/bavard"
fiatshamir "github.com/consensys/gnark-crypto/fiat-shamir"
-
"github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational"
"github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/gkr"
"github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/polynomial"
"github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/sumcheck"
"github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/test_vector_utils"
- "os"
- "path/filepath"
- "reflect"
- "hash"
- "github.com/consensys/bavard"
)
func main() {
diff --git a/internal/generator/gkr/test_vectors/main.go b/internal/generator/gkr/test_vectors/main.go
index 37e62d4d5..96ed2b453 100644
--- a/internal/generator/gkr/test_vectors/main.go
+++ b/internal/generator/gkr/test_vectors/main.go
@@ -8,19 +8,18 @@ package main
import (
"encoding/json"
"fmt"
- fiatshamir "github.com/consensys/gnark-crypto/fiat-shamir"
-
- "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational"
- "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/gkr"
- "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/polynomial"
- "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/sumcheck"
- "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/test_vector_utils"
"hash"
"os"
"path/filepath"
"reflect"
"github.com/consensys/bavard"
+ fiatshamir "github.com/consensys/gnark-crypto/fiat-shamir"
+ "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational"
+ "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/gkr"
+ "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/polynomial"
+ "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/sumcheck"
+ "github.com/consensys/gnark-crypto/internal/generator/test_vector_utils/small_rational/test_vector_utils"
)
func main() {
diff --git a/internal/generator/main.go b/internal/generator/main.go
index 6038a7129..cf7ed49a6 100644
--- a/internal/generator/main.go
+++ b/internal/generator/main.go
@@ -7,8 +7,6 @@ import (
"path/filepath"
"sync"
- "github.com/consensys/gnark-crypto/internal/generator/mpcsetup"
-
"github.com/consensys/bavard"
"github.com/consensys/gnark-crypto/field/generator"
fieldConfig "github.com/consensys/gnark-crypto/field/generator/config"
@@ -21,11 +19,11 @@ import (
"github.com/consensys/gnark-crypto/internal/generator/edwards/eddsa"
"github.com/consensys/gnark-crypto/internal/generator/fflonk"
fri "github.com/consensys/gnark-crypto/internal/generator/fri/template"
-
"github.com/consensys/gnark-crypto/internal/generator/gkr"
"github.com/consensys/gnark-crypto/internal/generator/hash_to_field"
"github.com/consensys/gnark-crypto/internal/generator/iop"
"github.com/consensys/gnark-crypto/internal/generator/kzg"
+ "github.com/consensys/gnark-crypto/internal/generator/mpcsetup"
"github.com/consensys/gnark-crypto/internal/generator/pairing"
"github.com/consensys/gnark-crypto/internal/generator/pedersen"
"github.com/consensys/gnark-crypto/internal/generator/permutation"
diff --git a/internal/generator/test_vector_utils/generate.go b/internal/generator/test_vector_utils/generate.go
index f91f30069..216e8307d 100644
--- a/internal/generator/test_vector_utils/generate.go
+++ b/internal/generator/test_vector_utils/generate.go
@@ -5,7 +5,6 @@ import (
"github.com/consensys/bavard"
"github.com/consensys/gnark-crypto/internal/generator/config"
-
"github.com/consensys/gnark-crypto/internal/generator/gkr"
"github.com/consensys/gnark-crypto/internal/generator/polynomial"
"github.com/consensys/gnark-crypto/internal/generator/sumcheck"
diff --git a/internal/generator/tower/generate.go b/internal/generator/tower/generate.go
index 0bdbefd73..734e86aa7 100644
--- a/internal/generator/tower/generate.go
+++ b/internal/generator/tower/generate.go
@@ -7,7 +7,6 @@ import (
"github.com/consensys/bavard"
"github.com/consensys/gnark-crypto/internal/generator/config"
-
"github.com/consensys/gnark-crypto/internal/generator/tower/asm/amd64"
)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, didn't see anything concerning on Go side. Didn't check assembly correctness though, but seems to be compared against non-assembly implementation and also fuzzed, so I think it is good.
Only a few suggested edits about import ordering (as there were already changes)
Description
This PR adds optimized AVX512 impl for some FFT operations and SIS hash (512 degree/16bits bound) for koalabear.
Benchmark for FFT
Benchmark for SIS
Refer to the comments in
element_vec_F31.go
, in particular for SIS: