Commit Graph

571 Commits

Author SHA1 Message Date
Shanie Winitz
96debb96a8 cpu_ntt pre-parallel 2024-07-28 16:43:48 +03:00
Yuval Shekel
2a3dcd776a fix format 2024-07-28 15:36:30 +03:00
Yuval Shekel
8d03fb6bc8 trigger examples build in ci 2024-07-28 15:33:00 +03:00
Yuval Shekel
445eec88af refactor C++ example risc0 2024-07-28 15:30:48 +03:00
Yuval Shekel
a5a8bf8e3d refactor C++ example poly-api 2024-07-28 15:20:23 +03:00
Yuval Shekel
68802bc14a refactor C++ example polynomial-multiplication for V3 2024-07-28 14:49:02 +03:00
Yuval Shekel
63dcd4ef5d remove multiply c++ example and fixed some readme 2024-07-28 13:01:01 +03:00
Yuval Shekel
c302aebeca refactor pedersen-commintment example to V3 2024-07-28 12:55:12 +03:00
Yuval Shekel
b07d02096f update ntt example for V3 2024-07-28 12:38:50 +03:00
Yuval Shekel
454fe5b922 update ntt-best-practice and msm examples to V3 2024-07-25 18:32:31 +03:00
Yuval Shekel
99e58532ad update readme of C++ msm example 2024-07-25 15:41:58 +03:00
Yuval Shekel
9618e6db74 split backend registration part to backend headers to avoid dep on concrete fields/curves 2024-07-24 20:34:05 +03:00
Yuval Shekel
fc2ac41710 refactor msm example 2024-07-24 20:27:26 +03:00
Yuval Shekel
49beb324a8 add script for generating C apis 2024-07-24 20:12:42 +03:00
Yuval Shekel
b52191f9dd field generation update from V2 2024-07-24 17:08:37 +03:00
Yuval Shekel
05d918fcda let PR choose the cuda-backend branch to use 2024-07-21 17:37:44 +03:00
Yuval Shekel
bdf3cd5672 add info logs to NTT test to find the issue 2024-07-21 11:36:44 +03:00
Yuval Shekel
58780f0115 fix compilation issues for mac 2024-07-18 18:40:01 +03:00
Yuval Shekel
4f47c9d4f3 remove redundant link to stdc++ in build.rs scripts 2024-07-18 18:11:11 +03:00
Yuval Shekel
1baabd93d6 add feature to rust crates to choose local/remote cuda backend 2024-07-18 18:03:42 +03:00
Yuval Shekel
a8e794fdfd use ssh-key in ci workflows to pull cuda backend 2024-07-18 17:27:49 +03:00
Yuval Shekel
934f934976 pull cuda backend when building in ci 2024-07-18 14:25:51 +03:00
Yuval Shekel
cd3353362a move cuda backend to private repo and clone it in ci 2024-07-18 12:41:27 +03:00
Yuval Shekel
afe48317a6 skip fast twiddles for domains smaller than 16 2024-07-18 12:02:22 +03:00
Yuval Shekel
7de94fff84 fix bug in cuda MSM when scalars are in montgomery form 2024-07-17 19:11:47 +03:00
Yuval Shekel
d3b27a7b68 randomize device for C++ polynomial tests 2024-07-17 19:11:47 +03:00
Yuval Shekel
0409c6f5d7 replace msm config bases_size with boolean flag indicating bases are shared for batch elements 2024-07-17 19:11:47 +03:00
Yuval Shekel
9c35aaa5c3 add doxygen comments to frontend APIs 2024-07-17 19:11:47 +03:00
Yuval Shekel
db19c3846d split default poly backend from cuda and support CPU too 2024-07-17 19:11:47 +03:00
Yuval Shekel
06243e5493 add polynomial evaluation api and cuda backend. Use it in poly backend 2024-07-17 19:11:47 +03:00
Yuval Shekel
8ade7ef393 use vector_add in polynomial backend to add monomial inplace 2024-07-17 19:11:47 +03:00
Yuval Shekel
749d3f9b6e add vec_op api for find highest non zero idx of vector, and CUDA backend 2024-07-17 19:11:47 +03:00
Yuval Shekel
0885195619 add vec_ops apis for scalar+-vector and use in polynomial backend 2024-07-17 19:11:47 +03:00
Yuval Shekel
6f8c480fd1 use vector_div in polynomial backend 2024-07-17 19:11:47 +03:00
Yuval Shekel
f13f24cff2 add vec_div api 2024-07-17 19:11:47 +03:00
Yuval Shekel
028f59cef0 use vec_mul in polynomial api insted of another kernel 2024-07-17 19:11:47 +03:00
Yuval Shekel
61af965b41 add api for mul scalar and use in poly backend 2024-07-17 19:11:47 +03:00
Yuval Shekel
091a19354e add slice api to vec ops 2024-07-17 19:11:46 +03:00
Yuval Shekel
0c8a849d7c move default polynomial context from cuda backend to icicle FE 2024-07-17 19:11:46 +03:00
Yuval Shekel
87a25afee7 use icicle runtime apis in polynomial implementation instead of cuda apis 2024-07-17 19:11:46 +03:00
Yuval Shekel
4d0b1a03a3 removed device_id from polynomial view 2024-07-17 19:11:46 +03:00
Yuval Shekel
de88ad144e minor: CPU_REF reuse device_api class like CPU 2024-07-17 19:11:46 +03:00
Yuval Shekel
9b46b8489f api for memset and tests for copy() and memset() 2024-07-17 19:11:46 +03:00
Yuval Shekel
caf3b4fab2 add generic copy and copy_async with auto device inference 2024-07-17 19:11:46 +03:00
Yuval Shekel
e49540de20 polynomial refactor to be multi-device 2024-07-17 19:11:46 +03:00
Yuval Shekel
74f7a3cbcd move tracking logic to runtime.cpp rather than device API 2024-07-17 19:11:46 +03:00
Shanie Winitz
36c879912a NTT simple cpu backend (#533) 2024-07-17 19:11:46 +03:00
Yuval Shekel
ca7fb84cf0 switch device when releasing memory of inactive device 2024-07-17 19:11:46 +03:00
Yuval Shekel
76cf23d02a ecntt bug fix from V2 2024-07-17 19:11:46 +03:00
Yuval Shekel
5a7c0ccd22 print domain size when ntt fails on that. same domain size for ntt and ecntt to avoid issues 2024-07-17 19:11:46 +03:00