• Stars
    star
    355
  • Rank 119,764 (Top 3 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 5 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Intermediate Language (IL) for Hardware Accelerator Generators

Built with Depot

A Compiler Infrastructure for Accelerator Generators

Calyx is an intermediate language and infrastructure for building compilers that generate custom hardware accelerators.

See the Calyx website, language documentation and the documentation for the source code for more information. Calyx's design is based on our paper.

Installation

Quick

If you want to try out the compiler, install it using cargo:

cargo install calyx

This will install the calyx binary can optimize and compile Calyx programs to Verilog or CIRCT.

Recommended

Follow the getting started instructions.

Organization

This repository contains the source code for the following:

  • calyx-utils: Utilities for the Calyx compiler
  • calyx-frontend: Parser and frontend AST for the Calyx language.
  • calyx-ir: The Calyx intermediate language.
  • calyx-opt: Optimizations for the Calyx intermediate language.
  • calyx: The Calyx compiler driver.

You can also use the Calyx compiler as a library and implement your own optimizations. To do this, check out the example provided by the calyx-opt crate.

More Repositories

1

filament

Fearless hardware design
Verilog
140
star
2

dahlia

Time-sensitive affine types for predictable hardware generation
Scala
134
star
3

turnt

simple snapshot-style integration testing for commands
Python
65
star
4

approx-vision

Designing image processing hardware and software for computer vision
C++
65
star
5

diospyros

Search-based compiler for high-performance DSP programming
Racket
59
star
6

EventQueue

EQueue Dialect
MLIR
38
star
7

lambdalab

interactive λ-calculus for learning
TypeScript
35
star
8

latte21

Languages, Tools, and Techniques for Accelerator Design
TeX
32
star
9

pollen

generating hardware accelerators for pangenomic graph queries
Python
27
star
10

gator

Geometry types
OCaml
26
star
11

styleguide

rules for writing and typesetting
SCSS
23
star
12

braid

a multi-stage heterogeneous programming language applied to real-time 3D graphics
TypeScript
21
star
13

fodlam

first-order deep learning accelerator model
Python
18
star
14

node-llvmc

JavaScript/TypeScript FFI bindings for the LLVM C API
TypeScript
12
star
15

gem5-mesh

Fork of gem5 with support for manycore architectures. Includes models and scripts to evaluate a software-defined-vector architecture.
C++
11
star
16

latte22

Second Workshop on Languages, Tools, and Techniques for Accelerator Design
TeX
6
star
17

polyphemus

A Cyclops managing FPGA execution in the clouds
Python
6
star
18

hyacinth

Synthesizing compiler for spatial computation
C++
6
star
19

aoc2022-calyx

Calyx code generators for the Advent of Code 2022
Python
5
star
20

calyx-evaluation

Jupyter Notebook
4
star
21

hbir

an intermediate representation for continuously reconfigurable hardware
OCaml
4
star
22

caiman

A language/compiler for the CPU/GPU interface that separates the what, when, and where of computation. Very unstable.
Rust
4
star
23

gator-game

Large graphics project implemented with the Gator language
JavaScript
3
star
24

cidr-evaluation

Python
3
star
25

dahlia-evaluation

Evaluation for Dahlia
Jupyter Notebook
3
star
26

JpegNN

Jpeg layer added to neural network
Python
2
star
27

chazz

convenient utilities for running HammerBlade in F1
Python
2
star
28

packet-scheduling

P4
2
star
29

nttstuff

several implementations of the number theoretic transform (NTT)
Python
2
star
30

patron

Hardware Bug Sniffer
Rust
2
star
31

ImageNetV2

ImageNetV2, where jpeg_eval is where code take place
Jupyter Notebook
1
star
32

capra-public

a research group site
Nunjucks
1
star
33

wax2019

The 2019 Workshop on Approximate Computing Across the Stack
JavaScript
1
star
34

CapraRawCamera

Android app for collecting raw photos for computer vision
Java
1
star
35

calyx-hypothesis-test

Python
1
star
36

xarg

The Accelerated Accelerators Reading Group
1
star
37

opal-bot

hyp { with { at { bot; } } }
TypeScript
1
star
38

latte23

TeX
1
star
39

futil-site

Web demo for the Calyx compiler
HTML
1
star
40

cslrg

schedule for a reading group in the Computer Systems Laboratory at Cornell
JavaScript
1
star
41

filament-evaluation

Filament for the best hype system
Verilog
1
star
42

hb-examples

self-contained, hackable, documented examples for HammerBlade on F1
LLVM
1
star
43

verilator-starter

A simple Verilator skeleton to help you get started with simulating Verilog
Shell
1
star