Cargo Features

[dependencies]
neptune = { version = "13.0.0", default-features = false, features = ["cuda", "opencl", "arity2", "arity24", "arity36", "strengthened", "bls", "pasta", "portable", "abomonation"] }
default = bls, pasta

These default features are set whenever neptune is added without default-features = false somewhere in the dependency tree.

cuda = ec-gpu

Enables cuda of ec-gpu-gen

Affects error::ClError, error::ClResult, neptune::tree_builder, neptune::column_tree_builder, neptune::batch_hasher, neptune::proteus

opencl = ec-gpu

Enables opencl of ec-gpu-gen

Affects error::ClError, error::ClResult, neptune::tree_builder, neptune::column_tree_builder, neptune::batch_hasher, neptune::proteus

arity2

The supported arities for Poseidon running on the GPU are specified at compile-time.

arity4 arity8 arity11 arity16 arity24
arity36
strengthened

With this feature set, also the strengthened version of the kernel will be compiled.

bls default

The supported fields for Poseidon running on the GPU are specified at compile-time.

Enables gpu of blstrs

pasta default

Enables gpu of pasta_curves

portable

Enables portable of blstrs

abomonation

Unsafe Abomonation-based serialization

Enables abomonation and abomonation_derive_ng

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

blstrs bls portable?
ec-gpu cuda? opencl?
ec-gpu-gen cuda? opencl?