Examples Catalog
The TAPA repository includes two sets of example designs. Small self-contained examples live under tests/apps/. Larger benchmarks live under tests/regression/.
Small examples
| Example | Problem type | Key TAPA feature | Location |
|---|---|---|---|
| vadd | Vector addition | Basic streams + mmap | tests/apps/vadd |
| bandwidth | Memory bandwidth benchmark | async_mmap, 32 HBM channels | tests/apps/bandwidth |
| network | Packet switching | peek, detached tasks, hierarchical tasks | tests/apps/network |
| cannon | Cannon's matrix multiply | 2D stream arrays, systolic | tests/apps/cannon |
| jacobi | Stencil computation | End-of-transmission (close()) | tests/apps/jacobi |
Published benchmarks
| Example | Problem type | Key feature | Published in |
|---|---|---|---|
| autosa mm/10x13 | Matrix multiplication | AutoSA-generated systolic (90% U55C LUT) | — |
| callipepla | Conjugate gradient | 26 HBM channels | FPGA'23 |
| cnn | CNN systolic array | Multi-SLR | FPGA'21 |
| lu_decompose | LU systolic array | Multi-SLR | FPGA'21 |
| hbm-bandwidth | HBM bandwidth profiler | async_mmap, all 32 channels | — |
| hbm-bandwidth-1-ch | HBM bandwidth (1 channel) | Minimal async_mmap | — |
| serpens | Sparse SpMV | Multiple HBM channels, scalable parallelism | DAC'22 |
| spmm | Sparse SpMM | HBM streams | FPGA'22 |
| spmv-hisparse-mmap | Sparse SpMV (HiSparse) | mmap-based SpMV | FPGA'22 |
| knn | K-nearest-neighbor | FPT accelerator | FPT'20 |
| page_rank | Page Rank | FCCM accelerator | FCCM'21 |
The tests/regression/ directory is under active development; new designs are added regularly. Check the repository for the latest list.
Next step: Common Errors