---
# System prepended metadata

title: 'GCP instance:'

---


# GCP instance:
176 vCPU (88 Cores - AVX512) y 1.4TB de RAM... ~4.64$/hour (spot)

## Mainnet code

|   Size   | Pre-processing [s] | Batch proof [s] | memory [Gb] | $proof |
|:--------:| :------------------: | :---------------: | :-----------: |:-----------: |
| $$2^{23}$$ |        61            |       104          |     490          |0.134 |

Version being executed in mainet



## Optimized code with new intermediate polynomials



|   Size     | Pre-proc [s]  | Batch proof [s] | Mem [Gb] |  $proof | #cells | MCells/segon/core | $ cell |
|:--------:  |:------------------: |:---------------:|:-----------:|:-------:|:------:|:----------------------:|:------:|
| $$2^{23}$$ | **26**   | **81.5** | **295**         | **0.105**   | $$ 984 \cdot 2^{23}$$ | 1.15 | $1.27 \cdot 10^{-11}$ |
| $$2^{24}$$ | **41**   | **151**  | **580**         | **0.195**   | $$ 984 \cdot 2^{24}$$ | 1.24 | $1.18 \cdot 10^{-11}$ |
| $$2^{25}$$ | **69.5** | **299**  | **1130**        | **0.385**   | $$984 \cdot 2^{25}$$ | 1.26 | $1.17 \cdot 10^{-11}$ |



**Note:** #cells = (#constPols + #commitPols)*N
**Hardware used**: 176 vCPU (88 Cores - AVX512) y 1.4TB de RAM… ~4.64$/hour (spot)


-------------------------------------
# GCP production instance

n2d-standard-224 - 224 vCPU y 896GB de RAM… ~2.78$/hour (spot)


## Mainnet code

|   Size   | Pre-processing [s] | Batch proof [s] | memory [Gb] | $proof |
|:--------:| :------------------: | :---------------: | :-----------: |:-----------: |
| $$2^{23}$$ |       **90**             |       **122**           |     **507**           |**0.094**  |


## New prover without reduced memory

|   Size   | Pre-processing [s] | Batch proof [s] | memory [Gb] |  $proof |
|:--------:| :------------------: | :---------------: | :-----------: | :-----------: | 
| $$2^{23}$$ | **28**                 | **100**              | **295**         |  **0.077** |
| $$2^{24}$$ | **43.5**                 | **200**             | **580**         | **0.154**|
| $$2^{25}$$ | **-**                 | **-**             | **-**        | **-** |

## New prover with reduced memory

|   Size     | Pre-proc [s]  | Batch proof [s] | Mem [Gb] |  $proof | #cells |Mcells/second/core | $ cell |
|:--------:  |:------------------: |:---------------:|:-----------:|:-------:|:------:|:----------------------:|:------:| 
| $$2^{23}$$ | **28**   | **122** | **221**| **0.094**| $$984 \cdot 2^{23}$$ | 0.60 | $1.14 \cdot 10^{-11}$ |
| $$2^{24}$$ | **43.5** | **240** | **430**| **0.185**| $$984 \cdot 2^{24}$$ | 0.61 | $1.12 \cdot 10^{-11}$ |
| $$2^{25}$$ | **82**   | **515** | **850**| **0.398**| $$984 \cdot 2^{25}$$ | 0.57 | $1.21 \cdot 10^{-11}$ |


**Note:** #cells = (#constPols + #commitPols)*N
**latency 1M cells per core** is: core seconds used (=batch prof time $\times$ #cores) divided by #cells/1M
**Hardware used**: n2d-standard-224 - 224 vCPU y 896GB de RAM… ~2.78$/hour (spot)



## Improvements
* **57% pre-processing latency:** 
    * Load data from files in parallel 
    * Mekelization of constants done at runtime instead of loading from file. This is slower than using the optimized files load, however ends up saving a lot of data-tranfer times
* **22% batch-proof latency:**
    * Activation of AVX512
    * Optimized intermediate polynomials
    
* **26% memory requirements:**
    * Optimize utilization of memory buffer along the proof, avoid data transpositions for temporal polynomials

* **400% increase of steps capacity** ($N=2^{25}$)
    







