Skip to content

autohdw/flames

Repository files navigation

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.

Citation

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 ]

@article{flames_hls,
  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.

Usage

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"

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

using namespace flames;

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

Additional Insights

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

License

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

Releases

No releases published

Packages

No packages published

Languages