#pragma once #include #include // // 1D convolution // - x: input array of size N // - y: kernel of odd size M // // CPU std::vector conv1(const std::vector& x, const std::vector& y); // GPU (naive) std::vector conv2(const std::vector& x, const std::vector& y); // GPU (optimized) std::vector conv3(const std::vector& x, const std::vector& y);