Skip to content

ec-gpu gpu msm support #7

Draft
montekki wants to merge 11 commits intomainfrom
fvs-ark-ec-gpu
Draft

ec-gpu gpu msm support #7
montekki wants to merge 11 commits intomainfrom
fvs-ark-ec-gpu

Conversation

@montekki
Copy link
Contributor

No description provided.

@montekki
Copy link
Contributor Author

msm                         fastest       │ slowest       │ median        │ mean          │ samples │ iters
╰─ gpu_msm_bench                          │               │               │               │         │
   ├─ gpu_msm                             │               │               │               │         │
   │  ├─ 12                 5.466 ms      │ 6.876 ms      │ 5.553 ms      │ 5.814 ms      │ 5       │ 5
   │  ├─ 14                 8.256 ms      │ 12.49 ms      │ 8.596 ms      │ 9.488 ms      │ 5       │ 5
   │  ├─ 16                 20.12 ms      │ 20.77 ms      │ 20.54 ms      │ 20.49 ms      │ 5       │ 5
   │  ├─ 18                 54.36 ms      │ 58.48 ms      │ 54.6 ms       │ 55.33 ms      │ 5       │ 5
   │  ╰─ 20                 179.4 ms      │ 182.1 ms      │ 180.3 ms      │ 180.7 ms      │ 5       │ 5
   ╰─ gpu_msm_preconverted                │               │               │               │         │
      ├─ 12                 4.843 ms      │ 5.162 ms      │ 5.013 ms      │ 5.009 ms      │ 5       │ 5
      ├─ 14                 7.472 ms      │ 7.977 ms      │ 7.711 ms      │ 7.719 ms      │ 5       │ 5
      ├─ 16                 14.75 ms      │ 15.74 ms      │ 15.51 ms      │ 15.29 ms      │ 5       │ 5
      ├─ 18                 41.26 ms      │ 43.68 ms      │ 41.64 ms      │ 41.99 ms      │ 5       │ 5
      ╰─ 20                 124.5 ms      │ 125.3 ms      │ 124.8 ms      │ 124.8 ms      │ 5       │ 5

msm                 fastest       │ slowest       │ median        │ mean          │ samples │ iters
╰─ cpu_msm                        │               │               │               │         │
   ╰─ arkworks_msm                │               │               │               │         │
      ├─ 12         4.985 ms      │ 6.33 ms       │ 5.729 ms      │ 5.662 ms      │ 5       │ 5
      ├─ 14         12.8 ms       │ 15.95 ms      │ 13.53 ms      │ 14.16 ms      │ 5       │ 5
      ├─ 16         38.36 ms      │ 44.35 ms      │ 40.22 ms      │ 40.73 ms      │ 5       │ 5
      ├─ 18         134.8 ms      │ 155.4 ms      │ 136.3 ms      │ 139.7 ms      │ 5       │ 5
      ╰─ 20         490 ms        │ 532.3 ms      │ 494.4 ms      │ 507.5 ms      │ 5       │ 5

@montekki
Copy link
Contributor Author

cargo bench pcs --features parallel

pcs                 fastest       │ slowest       │ median        │ mean          │ samples │ iters
╰─ open                           │               │               │               │         │
   ╰─ arkyper_open                │               │               │               │         │
      ├─ 20         2.076 s       │ 2.124 s       │ 2.116 s       │ 2.105 s       │ 3       │ 3
      ├─ 23         15.47 s       │ 15.72 s       │ 15.63 s       │ 15.61 s       │ 3       │ 3
      ╰─ 25         59.53 s       │ 59.76 s       │ 59.57 s       │ 59.62 s       │ 3       │ 3

cargo bench pcs --features 'cuda,parallel

Timer precision: 18 ns
pcs                 fastest       │ slowest       │ median        │ mean          │ samples │ iters
╰─ open                           │               │               │               │         │
   ╰─ arkyper_open                │               │               │               │         │
      ├─ 20         819.5 ms      │ 1.069 s       │ 832.1 ms      │ 906.9 ms      │ 3       │ 3
      ├─ 23         5.219 s       │ 5.449 s       │ 5.338 s       │ 5.336 s       │ 3       │ 3
      ╰─ 25         20.52 s       │ 20.6 s        │ 20.56 s       │ 20.56 s       │ 3       │ 3

@montekki
Copy link
Contributor Author

parallel:

pcs                              fastest       │ slowest       │ median        │ mean          │ samples │ iters
├─ commit                                      │               │               │               │         │
│  ├─ arkworks_commit                          │               │               │               │         │
│  │  ├─ 12                      1.268 ms      │ 1.403 ms      │ 1.279 ms      │ 1.317 ms      │ 3       │ 3
│  │  ├─ 14                      3.15 ms       │ 4.73 ms       │ 4.286 ms      │ 4.055 ms      │ 3       │ 3
│  │  ╰─ 16                      12.07 ms      │ 13.74 ms      │ 13.46 ms      │ 13.09 ms      │ 3       │ 3
│  ├─ arkyper_commit                           │               │               │               │         │
│  │  ├─ 12                      1.463 ms      │ 1.75 ms       │ 1.707 ms      │ 1.64 ms       │ 3       │ 3
│  │  ├─ 14                      3.217 ms      │ 3.408 ms      │ 3.287 ms      │ 3.304 ms      │ 3       │ 3
│  │  ╰─ 16                      8.639 ms      │ 9.012 ms      │ 8.775 ms      │ 8.809 ms      │ 3       │ 3
│  ├─ jolt_hyperkzg_commit                     │               │               │               │         │
│  │  ├─ 12                      1.302 ms      │ 1.38 ms       │ 1.349 ms      │ 1.344 ms      │ 3       │ 3
│  │  ├─ 14                      2.496 ms      │ 2.954 ms      │ 2.752 ms      │ 2.734 ms      │ 3       │ 3
│  │  ╰─ 16                      7.988 ms      │ 8.363 ms      │ 8.143 ms      │ 8.165 ms      │ 3       │ 3
│  ╰─ arkyper_batch_commit                     │               │               │               │         │
│     ├─ 3                                     │               │               │               │         │
│     │  ├─ 12                   2.518 ms      │ 3.123 ms      │ 2.769 ms      │ 2.804 ms      │ 3       │ 3
│     │  ├─ 14                   6.27 ms       │ 7.384 ms      │ 6.96 ms       │ 6.871 ms      │ 3       │ 3
│     │  ╰─ 16                   18.2 ms       │ 24.19 ms      │ 22.65 ms      │ 21.68 ms      │ 3       │ 3
│     ╰─ 5                                     │               │               │               │         │
│        ├─ 12                   3.552 ms      │ 4.365 ms      │ 4.165 ms      │ 4.027 ms      │ 3       │ 3
│        ├─ 14                   9.269 ms      │ 11.56 ms      │ 11.09 ms      │ 10.64 ms      │ 3       │ 3
│        ╰─ 16                   34.46 ms      │ 41.29 ms      │ 38.57 ms      │ 38.11 ms      │ 3       │ 3
╰─ open                                        │               │               │               │         │
   ├─ arkworks_multilinear_open                │               │               │               │         │
   │  ├─ 12                      6.195 ms      │ 9.528 ms      │ 6.574 ms      │ 7.432 ms      │ 3       │ 3
   │  ├─ 14                      12.97 ms      │ 15.18 ms      │ 14.32 ms      │ 14.16 ms      │ 3       │ 3
   │  ╰─ 16                      31.28 ms      │ 33.22 ms      │ 32.77 ms      │ 32.42 ms      │ 3       │ 3
   ├─ arkyper_open                             │               │               │               │         │
   │  ├─ 12                      23.9 ms       │ 25.08 ms      │ 24.65 ms      │ 24.54 ms      │ 3       │ 3
   │  ├─ 14                      64.7 ms       │ 76.02 ms      │ 73.56 ms      │ 71.43 ms      │ 3       │ 3
   │  ╰─ 16                      199 ms        │ 229 ms        │ 203.6 ms      │ 210.5 ms      │ 3       │ 3
   ├─ jolt_hyperkzg_open                       │               │               │               │         │
   │  ├─ 12                      43.14 ms      │ 46.61 ms      │ 46.47 ms      │ 45.41 ms      │ 3       │ 3
   │  ├─ 14                      102.7 ms      │ 108.8 ms      │ 103 ms        │ 104.8 ms      │ 3       │ 3
   │  ╰─ 16                      293.9 ms      │ 316.1 ms      │ 303.2 ms      │ 304.4 ms      │ 3       │ 3
   ╰─ arkyper_batch_open                       │               │               │               │         │
      ├─ 3                                     │               │               │               │         │
      │  ├─ 12                   32.1 ms       │ 38.44 ms      │ 32.85 ms      │ 34.47 ms      │ 3       │ 3
      │  ├─ 14                   82.8 ms       │ 92.03 ms      │ 83.46 ms      │ 86.1 ms       │ 3       │ 3
      │  ╰─ 16                   577.3 ms      │ 620.2 ms      │ 608.8 ms      │ 602.1 ms      │ 3       │ 3
      ╰─ 5                                     │               │               │               │         │
         ├─ 12                   45.14 ms      │ 137 ms        │ 106.1 ms      │ 96.13 ms      │ 3       │ 3
         ├─ 14                   162.2 ms      │ 275.7 ms      │ 273.8 ms      │ 237.2 ms      │ 3       │ 3
         ╰─ 16                   503.6 ms      │ 710.5 ms      │ 647.7 ms      │ 620.6 ms      │ 3       │ 3


parallel,gpu:

pcs                              fastest       │ slowest       │ median        │ mean          │ samples │ iters
├─ commit                                      │               │               │               │         │
│  ├─ arkworks_commit                          │               │               │               │         │
│  │  ├─ 12                      694.1 µs      │ 858.5 µs      │ 746.6 µs      │ 766.4 µs      │ 3       │ 3
│  │  ├─ 14                      2.058 ms      │ 2.972 ms      │ 2.517 ms      │ 2.515 ms      │ 3       │ 3
│  │  ╰─ 16                      5.842 ms      │ 10.76 ms      │ 9.93 ms       │ 8.846 ms      │ 3       │ 3
│  ├─ arkyper_commit                           │               │               │               │         │
│  │  ├─ 12                      1.802 ms      │ 190.3 ms      │ 2.281 ms      │ 64.81 ms      │ 3       │ 3
│  │  ├─ 14                      4.295 ms      │ 4.949 ms      │ 4.35 ms       │ 4.531 ms      │ 3       │ 3
│  │  ╰─ 16                      8.752 ms      │ 10.08 ms      │ 10.04 ms      │ 9.629 ms      │ 3       │ 3
│  ├─ jolt_hyperkzg_commit                     │               │               │               │         │
│  │  ├─ 12                      631.3 µs      │ 1.552 ms      │ 669.7 µs      │ 951.3 µs      │ 3       │ 3
│  │  ├─ 14                      1.276 ms      │ 1.742 ms      │ 1.54 ms       │ 1.52 ms       │ 3       │ 3
│  │  ╰─ 16                      4.606 ms      │ 5.089 ms      │ 4.824 ms      │ 4.84 ms       │ 3       │ 3
│  ╰─ arkyper_batch_commit                     │               │               │               │         │
│     ├─ 3                                     │               │               │               │         │
│     │  ├─ 12                   6.299 ms      │ 10.98 ms      │ 6.488 ms      │ 7.924 ms      │ 3       │ 3
│     │  ├─ 14                   10.52 ms      │ 13.14 ms      │ 12.22 ms      │ 11.96 ms      │ 3       │ 3
│     │  ╰─ 16                   22.96 ms      │ 26.21 ms      │ 23.83 ms      │ 24.33 ms      │ 3       │ 3
│     ╰─ 5                                     │               │               │               │         │
│        ├─ 12                   7.635 ms      │ 10.2 ms       │ 9.388 ms      │ 9.075 ms      │ 3       │ 3
│        ├─ 14                   18.23 ms      │ 21.08 ms      │ 19.43 ms      │ 19.58 ms      │ 3       │ 3
│        ╰─ 16                   38.28 ms      │ 43.37 ms      │ 40.5 ms       │ 40.72 ms      │ 3       │ 3
╰─ open                                        │               │               │               │         │
   ├─ arkworks_multilinear_open                │               │               │               │         │
   │  ├─ 12                      2.375 ms      │ 3.875 ms      │ 2.419 ms      │ 2.89 ms       │ 3       │ 3
   │  ├─ 14                      7.426 ms      │ 8.337 ms      │ 7.561 ms      │ 7.774 ms      │ 3       │ 3
   │  ╰─ 16                      19.43 ms      │ 21.24 ms      │ 20.37 ms      │ 20.35 ms      │ 3       │ 3
   ├─ arkyper_open                             │               │               │               │         │
   │  ├─ 12                      28.54 ms      │ 30.78 ms      │ 30.28 ms      │ 29.87 ms      │ 3       │ 3
   │  ├─ 14                      41.54 ms      │ 42.4 ms       │ 42.01 ms      │ 41.98 ms      │ 3       │ 3
   │  ╰─ 16                      82.57 ms      │ 97.86 ms      │ 96.56 ms      │ 92.33 ms      │ 3       │ 3
   ├─ jolt_hyperkzg_open                       │               │               │               │         │
   │  ├─ 12                      23.41 ms      │ 47.67 ms      │ 31.97 ms      │ 34.35 ms      │ 3       │ 3
   │  ├─ 14                      73.89 ms      │ 80.58 ms      │ 79.03 ms      │ 77.83 ms      │ 3       │ 3
   │  ╰─ 16                      239.1 ms      │ 243.6 ms      │ 242.9 ms      │ 241.9 ms      │ 3       │ 3
   ╰─ arkyper_batch_open                       │               │               │               │         │
      ├─ 3                                     │               │               │               │         │
      │  ├─ 12                   37.63 ms      │ 43.74 ms      │ 42.2 ms       │ 41.19 ms      │ 3       │ 3
      │  ├─ 14                   55.59 ms      │ 63.13 ms      │ 56.65 ms      │ 58.46 ms      │ 3       │ 3
      │  ╰─ 16                   104.9 ms      │ 108.7 ms      │ 107.5 ms      │ 107.1 ms      │ 3       │ 3
      ╰─ 5                                     │               │               │               │         │
         ├─ 12                   42.62 ms      │ 44.04 ms      │ 42.83 ms      │ 43.16 ms      │ 3       │ 3
         ├─ 14                   59.79 ms      │ 62.55 ms      │ 61.54 ms      │ 61.29 ms      │ 3       │ 3
         ╰─ 16                   107.4 ms      │ 109.7 ms      │ 108.3 ms      │ 108.5 ms      │ 3       │ 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants