Hardware requirements

The hardware requirements for Filecoin mining are tied to the computational resources needed to seala sector and generating regular Proof of Spacetime for every sealed sector (WindowPoSt).

These are computationally expensive operations which depend on the sector sizes used by the Filecoin network (opens new window)on which the miner is running -nerpa, testnet, mainnet etc.-. For reference, the requirements listed below correspond to 32GiB sectors, as used by mainnet and some testnets (calibration, nerpa).

Different Filecoin Miner implementations may distribute sealing tasks differently, for example, using additional workers apart from the Miner. The following are general requirements assuming all the mining operations are performed by the same machine. Resources needed by each operation are detailed later below. For a concrete example of hardware type and usage, see the mining architectures.

General hardware requirements

CPU

A miner will need an 8+ core CPU.

We strongly recommend a CPU model with support for Intel SHA Extensions: AMD since Zen microarchitecture, or Intel since Ice Lake. Lack of SHA Extensions results in a very significant slow down.

RAM

128 GiB of RAM are needed at the very least. This should be complemented with 256 GiB of swap on a very fast NVMe SSD storage medium.

GPU

A powerful GPU is recommended as it can significantly speed up SNARK computations. See below for operations which can take advantange of GPU presence.

The authoritative list of supported GPUs (opens new window)is in the Bellman repository (opens new window).

Additional GPU models need to be enabled manually (instructions for Lotus).

WARNING

Mixing AMD and Nvidia GPUs in the same machine is known to cause issues with OpenCL and should be avoided.

Disk

Performance of Miner operations can be heavily affected by slow disks. For example, a 32GiB expands to ~480GiB during the sealing process. Filecoin network parameters are over 100GiB and need to be read and verified during Miner start. As mentioned above, lack of RAM needs to be addressed with a fast swap drive or file.

For this reasons, a minimal amount of 1TiB NVMe-based disk space for cache storage is recommended. This disk should be used to store data during the sealing process, to cache Filecoin parameters and serve as general temporal storage location.

Additional hard drives for the final storage of "sealed sectors", the Lotus chain etc. will be needed as well.

Specific operation requirements

As mentioned, the Miners have to perform operations of different nature which differ in how they use CPU and GPU resources. The following table shows how resources are utilized depending on the sealing phase or proof calculation being run:

Operation

CPU used

GPU used

Memory (32Gib sectors)

Notes

Sealing: preCommit phase 1

Yes (1 core or 1 core-complex)

No

128GiB

PoRep SDR encoding. Not amenable to parallelization. Core usage depends on value of FIL_PROOFS_USE_MULTICORE_SDR (opens new window). Also see the Lotus seal workers guide.

Sealing: preCommit phase 2

Yes (when no GPU, all cores)

Yes

128GiB

Merkle tree generation using the Poseidon hashing algorithm. Slower with just CPUs.

Sealing: commit phase 1

Yes (all cores)

No

-

Sealing: commit phase 2

Yes (when no GPU, all cores)

Yes

~ 192GiB

Slow with just CPUs.

Unsealing

Yes (1 core)

No

128GiB

Proving WindowPoSt

Yes (all cores, when no GPU)

Yes

-

WindowPoSts must be submitted in 30 minute windows. When no GPU available, the more CPU cores the faster

Proving WinningPoSt

Yes

No

-

WinningPoSt is a less intensive computation. Must be completed in a 25 seconds window.

Note that the Lotus implementation allows to configure and delegate specific sealing phases to Lotus workers.

About hardware requirements

The above requirements will not increase in the presumable future, and money spent on hardware should provide users with many years of reliable service, paying for themselves several times over.

Last updated