Skip to content
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

Investigate why prover sometimes exists with code 132 on CI #255

Closed
sveitser opened this issue Mar 17, 2023 · 3 comments · Fixed by #256
Closed

Investigate why prover sometimes exists with code 132 on CI #255

sveitser opened this issue Mar 17, 2023 · 3 comments · Fixed by #256
Labels
bug Something isn't working

Comments

@sveitser
Copy link
Collaborator

sveitser commented Mar 17, 2023

Runs:

Both are on Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz.

Note that this CPU has avx2. So lack of avx2 shouldn't be the issue.

@sveitser sveitser added the bug Something isn't working label Mar 17, 2023
@sveitser
Copy link
Collaborator Author

sveitser commented Mar 17, 2023

Comparing the CPU flags to a successful run https://github.com/EspressoSystems/espresso-sequencer/actions/runs/4428738035/jobs/7768247461

CPU is Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz

1d0
< 3dnowprefetch
3d1
< adx
8,12d5
< avx512bw
< avx512cd
< avx512dq
< avx512f
< avx512vl
16d8
< clflushopt
29d20
< hle
57d47
< rdseed
60d49
< rtm
62d50
< smap
74d61
< xsavec
76d62
< xsaves

Maybe avx512 is needed?

@sveitser
Copy link
Collaborator Author

All passing builds in recent history use Intel Platinum CPUs

The builds failing with 132 that I can find are all on Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz.

Also I don't actually don't have avx512 listed on my CPU (AMD Ryzen 5950x).

The instruction that I have and that the Intel Xeon Platinum CPUs have but not the E5-2673 v3 are

adx
xsaves
3dnowprefetch
smap
clflushopt
rdseed
xsavec

@sveitser
Copy link
Collaborator Author

Intel ADX (Multi-Precision Add-Carry Instruction Extensions) sounds relevant: https://en.wikipedia.org/wiki/Intel_ADX.

It has ADCX and ADOX.

Both are used for example in https://github.com/iden3/ffiasm/blob/master/benchmark/fr.asm and ffiasm is being using in the zkevm-prover and is mentioned in 0xPolygonHermez/zkevm-prover#235 (comment) as a reason why the prover can't run on ARM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant