Comments (2)
Greetings!
I met the same problem as you mentioned. Our team tried it for several times to locate the specific problem.
Here's what we found: for function "invoke" at msm/pippenger.cuh, there is slightly difference between variable "N" and "this->N". When they are not equal (our tests shows that this->N equals 5, and N could be 1,2,3,4,5 when points.len()<=512), the result of GPU will differ from that of CPU.
To solve the problem, you may adjust function "collect" at msm/pippenger.cuh to something like this:
And also, you should pay attention to function "invoke" who calls "collect" at msm/pippenger.cuh.
Hope this could help you.
from sppark.
There was a major MSM makeover and it's no longer a problem. Well, at least for example env TEST_NPOW=7 cargo test --release --features=bls12_381
works if you pull from github.
from sppark.
Related Issues (20)
- NTT curve support HOT 3
- Implementing Display for error HOT 4
- WebGPU support HOT 1
- Upcoming error in rust crate HOT 2
- sppark/ff/mont_t.cuh(721): error: identifier "i" is undefined HOT 3
- vec256 type declaration HOT 7
- pasta_curve parameters HOT 1
- missing headers in `ff` module HOT 1
- missing definition of basic types HOT 1
- Race condition in msm/sort.cuh HOT 3
- how to understand the implementation of `reduce(uint32_t temp[4])` HOT 3
- Support halo2curves HOT 3
- gl64, the + result is incorrect when both operands > p HOT 1
- Compilation error (observed from pasta-msm) HOT 8
- what is the definition of `const uint32_t& M0` in mont_t.cuh HOT 1
- failed to run custom build command for `sppark v0.1.5' HOT 1
- data copy time fluctuating while concurrent NTT invokation HOT 1
- fork safety issue HOT 7
- A question about Montgomery mult (form ff/mont_t.cuh) HOT 1
- a new complile error in gpu_t.cuh file when the cuda is 11.8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sppark.