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.

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 = {2023},
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 CCC 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).