arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/poulpy-cpu-avx/benches/vec_znx.rs
poulpy-cpu-avx/benches/vec_znx.rsRaw
 1use criterion::{Criterion, criterion_group, criterion_main};
 2
 3#[cfg(not(all(
 4    feature = "enable-avx",
 5    target_arch = "x86_64",
 6    target_feature = "avx2",
 7    target_feature = "fma"
 8)))]
 9fn bench_vec_znx_add_cpu_avx_fft64(_c: &mut Criterion) {
10    eprintln!("Skipping: AVX IFft benchmark requires x86_64 + AVX2 + FMA");
11}
12
13#[cfg(all(
14    feature = "enable-avx",
15    target_arch = "x86_64",
16    target_feature = "avx2",
17    target_feature = "fma"
18))]
19fn bench_vec_znx_add_cpu_avx_fft64(c: &mut Criterion) {
20    use poulpy_cpu_avx::FFT64Avx;
21    poulpy_hal::reference::vec_znx::bench_vec_znx_add::<FFT64Avx>(c, "FFT64Avx");
22}
23
24#[cfg(not(all(
25    feature = "enable-avx",
26    target_arch = "x86_64",
27    target_feature = "avx2",
28    target_feature = "fma"
29)))]
30fn bench_vec_znx_normalize_inplace_cpu_avx_fft64(_c: &mut Criterion) {
31    eprintln!("Skipping: AVX IFft benchmark requires x86_64 + AVX2 + FMA");
32}
33
34#[cfg(all(
35    feature = "enable-avx",
36    target_arch = "x86_64",
37    target_feature = "avx2",
38    target_feature = "fma"
39))]
40fn bench_vec_znx_normalize_inplace_cpu_avx_fft64(c: &mut Criterion) {
41    use poulpy_cpu_avx::FFT64Avx;
42    poulpy_hal::reference::vec_znx::bench_vec_znx_normalize_inplace::<FFT64Avx>(c, "FFT64Avx");
43}
44
45#[cfg(not(all(
46    feature = "enable-avx",
47    target_arch = "x86_64",
48    target_feature = "avx2",
49    target_feature = "fma"
50)))]
51fn bench_vec_znx_automorphism_cpu_avx_fft64(_c: &mut Criterion) {
52    eprintln!("Skipping: AVX IFft benchmark requires x86_64 + AVX2 + FMA");
53}
54
55#[cfg(all(
56    feature = "enable-avx",
57    target_arch = "x86_64",
58    target_feature = "avx2",
59    target_feature = "fma"
60))]
61fn bench_vec_znx_automorphism_cpu_avx_fft64(c: &mut Criterion) {
62    use poulpy_cpu_avx::FFT64Avx;
63    poulpy_hal::reference::vec_znx::bench_vec_znx_automorphism::<FFT64Avx>(c, "FFT64Avx");
64}
65
66criterion_group!(
67    benches,
68    bench_vec_znx_add_cpu_avx_fft64,
69    bench_vec_znx_normalize_inplace_cpu_avx_fft64,
70    bench_vec_znx_automorphism_cpu_avx_fft64,
71);
72criterion_main!(benches);