fastmachinelearning / Hls4ml

Licence: apache-2.0
Machine learning in FPGAs using HLS

Projects that are alternatives of or similar to Hls4ml

Pp4fpgas Cn Hls
HLS Project of pp4fpgas - https://github.com/xupsh/pp4fpgas-cn
Stars: ✭ 97 (-79.23%)
Mutual labels:  fpga, hls
Openwifi
open-source IEEE 802.11 WiFi baseband FPGA (chip) design
Stars: ✭ 2,257 (+383.3%)
Mutual labels:  fpga, hls
Halide Hls
HLS branch of Halide
Stars: ✭ 59 (-87.37%)
Mutual labels:  fpga, hls
Pipecnn
An OpenCL-based FPGA Accelerator for Convolutional Neural Networks
Stars: ✭ 775 (+65.95%)
Mutual labels:  fpga, hls
PandA-bambu
PandA-bambu public repository
Stars: ✭ 129 (-72.38%)
Mutual labels:  fpga, hls
Fpga readings
Recipe for FPGA cooking
Stars: ✭ 164 (-64.88%)
Mutual labels:  fpga, hls
Gemm hls
Scalable systolic array-based matrix-matrix multiplication implemented in Vivado HLS for Xilinx FPGAs.
Stars: ✭ 134 (-71.31%)
Mutual labels:  fpga, hls
hwt
VHDL/Verilog/SystemC code generator, simulator API written in python/c++
Stars: ✭ 145 (-68.95%)
Mutual labels:  fpga, hls
Limago
Limago: an FPGA-based Open-source 100 GbE TCP/IP Stack
Stars: ✭ 95 (-79.66%)
Mutual labels:  fpga, hls
Openwifi Hw
FPGA/hardware design of openwifi
Stars: ✭ 181 (-61.24%)
Mutual labels:  fpga, hls
scalehls
A scalable High-Level Synthesis framework on MLIR
Stars: ✭ 62 (-86.72%)
Mutual labels:  fpga, hls
Pp4fpgas Cn
中文版 Parallel Programming for FPGAs
Stars: ✭ 339 (-27.41%)
Mutual labels:  fpga, hls
Node Media Server
A Node.js implementation of RTMP/HTTP-FLV/WS-FLV/HLS/DASH/MP4 Media Server
Stars: ✭ 4,433 (+849.25%)
Mutual labels:  hls
Nontrivial Mips
NonTrivial-MIPS is a synthesizable superscalar MIPS processor with branch prediction and FPU support, and it is capable of booting linux.
Stars: ✭ 417 (-10.71%)
Mutual labels:  fpga
Nmigen
A refreshed Python toolbox for building complex digital hardware
Stars: ✭ 388 (-16.92%)
Mutual labels:  fpga
Mxreality.js
普通全景视频,直播全景视频,hls和flv全景VR视频直播,全景图片、VR模型、多终端自适应
Stars: ✭ 386 (-17.34%)
Mutual labels:  hls
Silice
Silice is an open source language that simplifies prototyping and writing algorithms on FPGA architectures.
Stars: ✭ 452 (-3.21%)
Mutual labels:  fpga
Firesim
FireSim: Easy-to-use, Scalable, FPGA-accelerated Cycle-accurate Hardware Simulation in the Cloud
Stars: ✭ 415 (-11.13%)
Mutual labels:  fpga
Tsduck
MPEG Transport Stream Toolkit
Stars: ✭ 381 (-18.42%)
Mutual labels:  hls
Vue Video Player
🎞 @videojs component for @vuejs
Stars: ✭ 4,026 (+762.1%)
Mutual labels:  hls

hls4ml

DOI PyPI version Supported Python versions

A package for machine learning inference in FPGAs. We create firmware implementations of machine learning algorithms using high level synthesis language (HLS). We translate traditional open-source machine learning package models into HLS that can be configured for your use-case!

Contact: [email protected]

Documentation & Tutorial

For more information visit the webpage: https://fastmachinelearning.org/hls4ml/

Detailed tutorials on how to use hls4ml's various functionalities can be found here.

Installation

pip install hls4ml

To install the extra dependencies for profiling:

pip install hls4ml[profiling]

Getting Started

Creating an HLS project

import hls4ml

#Fetch a keras model from our example repository
#This will download our example model to your working directory and return an example configuration file
config = hls4ml.utils.fetch_example_model('KERAS_3layer.json')

print(config) #You can print the configuration to see some default parameters

#Convert it to a hls project
hls_model = hls4ml.converters.keras_to_hls(config)

# Print full list of example models if you want to explore more
hls4ml.utils.fetch_example_list()

Building a project with Xilinx Vivado HLS (after downloading and installing from here)

Note: Vitis HLS is not yet supported. Vivado HLS versions between 2018.2 and 2020.1 are recommended.

#Use Vivado HLS to synthesize the model
#This might take several minutes
hls_model.build()

#Print out the report if you want
hls4ml.report.read_vivado_report('my-hls-test')
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].