Skip to content
/ flames Public

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

License

Notifications You must be signed in to change notification settings

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

 
 
 

Languages