FLAMES 0.1.0
Matrix-Empowered HLS Library
FLAMES Library for Vitis HLS

Flexible Linear Algebra with Matrix-Empowered Synthesis (for Vitis HLS)

Developed by Wuqiong Zhao and other contributors, from LEADS, Southeast University.


If you find FLAMES useful, please cite our paper: Flexible High-Level Synthesis Library for Linear Transformations, early access, IEEE TCAS-II. [ IEEE Xplore ] [ PDF ] [ DOI ]

title = {Flexible High-Level Synthesis Library for Linear Transformations},
author = {Zhao, Wuqiong and Li, Changhan and Ji, Zhenhao and Guo, Zhichen and Chen, Xuanbo and You, You and Huang, Yongming and You, Xiaohu and Zhang, Chuan},
journal = {{IEEE} Transactions on Circuits and Systems {II}: Express Briefs},
year = {2024},
published = {IEEE},
note = {to be published}

Supported Versions

Since FLAMES is a modern library written using C++14 (with some C++17 features), it only supports Vitis HLS 2020 or later where the GCC compiler version is 6.2.0. Notably, Vivado HLS is not supported.


FLAMES is a header-only library, so you can easily use it by first cloning it under you project root with

git clone https://github.com/autohdw/flames.git

Core Modules

You can include the required header

#include "flames/core.hpp"
Core Utilities for FLAMES.

All classes and functions are under the flames namespace, so you can use

using namespace flames;
Namespace for the FLAMES library.
Definition: core.hpp:166

to access classes Mat, etc. directly instead of flames::Mat.

Additional Insights

You can find more information about FLAMES in FLAMES_Insight.pdf.


The FLAMES is open source and distributed by an Apache license (v2.0). Please cite our paper if you use FLAMES in your research.