Skip to content

Latest commit

Β 

History

History
49 lines (40 loc) Β· 1.84 KB

File metadata and controls

49 lines (40 loc) Β· 1.84 KB

πŸŒ€ Convolution & Toeplitz Research

High-Performance Linear Algebra & FFT implementations in C++20 and Rust


πŸ“– Project Description

This project implements high-performance operations with Toeplitz matrices, specifically focusing on matrix-vector products and the solution of Toeplitz systems. A core component of this research is the exploration of Fast Fourier Transform (FFT) algorithms as the primary mechanism for reducing computational complexity to $O(n \log n)$.

All implementations are benchmarked against state-of-the-art baselines to evaluate language-specific optimization capabilities in C++ and Rust.

πŸ‘₯ Supervision & Contact

This research is conducted under the supervision of Professor Jeremy Johnson and Kartik Ohlan.


πŸ“‚ File Structure

convolution/
β”œβ”€β”€ Makefile
β”œβ”€β”€ README.md
β”œβ”€β”€ data/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ cpp_impl/
β”‚   β”‚   β”œβ”€β”€ toeplitz.hpp
β”‚   β”‚   └── toeplitz.cpp
β”‚   └── rust_impl/
β”‚       β”œβ”€β”€ Cargo.toml
β”‚       └── src/
β”‚           β”œβ”€β”€ lib.rs
β”‚           └── main.rs
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ cpp_utils/
β”‚   β”‚   β”œβ”€β”€ bench_harness.cpp
β”‚   β”‚   └── io_helpers.hpp
β”‚   └── rust_utils/
β”‚       └── mod.rs