Cargo Features

[dependencies]
concrete-core = { version = "1.0.2", default-features = false, features = ["backend_default", "backend_fft", "backend_fft_serialization", "backend_fft_nightly_avx512", "backend_default_parallel", "backend_default_generator_x86_64_aesni", "backend_default_generator_aarch64_aes", "backend_default_serialization", "backend_cuda", "backend_ntt", "seeder_unix", "seeder_x86_64_rdseed", "x86_64", "x86_64-cuda", "aarch64"] }
default = backend_default, seeder_unix

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

backend_default default aarch64? x86_64?

A pure-rust backend. Included by default in the build.

Enables generator_soft of concrete-csprng ^0.2.1

Affects backends::default

backend_fft aarch64? x86_64? = concrete-fft

An accelerated backend, using the concrete-fft library.

Affects backends::fft

backend_fft_serialization aarch64? x86_64? = __commons_serialization, bincode

Enables serde of aligned-vec and concrete-fft ^0.1

backend_fft_nightly_avx512

Enables nightly of concrete-fft ^0.1

Affects x86::mm512_cvtpd_epi64, x86::mm512_cvtepi64_pd, x86::convert_forward_integer_u32_avx512f, x86::convert_forward_integer_u64_avx512f_avx512dq, x86::convert_torus_prologue_avx512f, x86::convert_add_backward_torus_u32_avx512f, x86::convert_add_backward_torus_u64_avx512f

backend_default_parallel aarch64? x86_64? = rayon

Enables the parallel engine in default backend.

Enables parallel of concrete-csprng ^0.2.1

backend_default_generator_x86_64_aesni x86_64?

Enable the x86_64 specific accelerated implementation of the random generator for the default backend

Enables generator_x86_64_aesni of concrete-csprng ^0.2.1

Affects activated_generator::ActivatedRandomGenerator

backend_default_generator_aarch64_aes aarch64?

Enables generator_aarch64_aes of concrete-csprng ^0.2.1

Affects activated_generator::ActivatedRandomGenerator

backend_default_serialization aarch64? x86_64? = __commons_serialization, bincode

Enable the serialization engine in the default backend.

backend_cuda x86_64-cuda? = concrete-cuda

A GPU backend, relying on Cuda acceleration

Affects backends::cuda

__commons_serialization backend_default_serialization? backend_fft_serialization? = serde

Enables derive of serde

serde:

Provide derive(Serialize, Deserialize) macros.

Affects generator::serialization_proxy

backend_ntt

An accelerated backend, using the NTT.

Affects backends::ntt

seeder_unix default aarch64? x86_64?

Enables seeder_unix of concrete-csprng ^0.2.1

seeder_x86_64_rdseed x86_64?

Enables seeder_x86_64_rdseed of concrete-csprng ^0.2.1

x86_64 x86_64-cuda? = backend_default, backend_default…x86_64_aesni, backend_default_parallel, backend_default_serialization, backend_fft, backend_fft_serialization, seeder_unix, seeder_x86_64_rdseed

These target_arch features enable a set of public features for concrete-core if users want a known good/working configuration for concrete-core.
For a target_arch that does not yet have such a feature, one can still enable features manually or create a feature for said target_arch to make its use simpler.

x86_64-cuda = backend_cuda, x86_64
aarch64 = backend_default, backend_default…aarch64_aes, backend_default_parallel, backend_default_serialization, backend_fft, backend_fft_serialization, seeder_unix

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.

concrete-cuda backend_cuda?
serde __commons_serialization?
rayon backend_default_parallel?
bincode backend_default_serialization? backend_fft_serialization?
concrete-fft backend_fft? backend_fft_nightly_avx512? backend_fft_serialization?

Enables concrete-fft ^0.1