arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/poulpy-backend/benches/vmp.rs
poulpy-backend/benches/vmp.rsRaw
 1// poulpy-backend/benches/vec_znx_add.rs
 2use criterion::{Criterion, criterion_group, criterion_main};
 3use poulpy_backend::{FFT64Ref, FFT64Spqlios};
 4use poulpy_hal::bench_suite::vmp::bench_vmp_apply_dft_to_dft;
 5
 6fn bench_vmp_apply_dft_to_dft_cpu_spqlios_fft64(c: &mut Criterion) {
 7    bench_vmp_apply_dft_to_dft::<FFT64Spqlios>(c, "cpu_spqlios::fft64");
 8}
 9
10fn bench_vmp_apply_dft_to_dft_cpu_ref_fft64(c: &mut Criterion) {
11    bench_vmp_apply_dft_to_dft::<FFT64Ref>(c, "cpu_ref::fft64");
12}
13
14#[cfg(any(target_arch = "x86_64", target_arch = "x86"))]
15mod x86 {
16    use super::*;
17    use poulpy_backend::FFT64Avx;
18
19    #[allow(dead_code)]
20    fn bench_vmp_apply_dft_to_dft_cpu_avx_fft64(c: &mut Criterion) {
21        bench_vmp_apply_dft_to_dft::<FFT64Avx>(c, "cpu_avx::fft64");
22    }
23
24    criterion_group!(benches_x86, bench_vmp_apply_dft_to_dft_cpu_avx_fft64,);
25    criterion_main!(benches_x86);
26}
27
28criterion_group!(
29    benches,
30    bench_vmp_apply_dft_to_dft_cpu_spqlios_fft64,
31    bench_vmp_apply_dft_to_dft_cpu_ref_fft64,
32);
33criterion_main!(benches);