Giter VIP home page Giter VIP logo

halide-to-hardware's Introduction

Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern machines. The language is embedded in C++ with a functional language built on top to allow definition of variables based on x and y coordinates. Writing Halide is unique in that the output values are captured in the algorithm, while the execution speed is defined by a target-specific schedule. Halide currently targets a large number of machines including:

  • CPU architectures: X86, ARM, MIPS, Hexagon, PowerPC
  • Operating systems: Linux, Windows, Mac OS X, Android, iOS, Qualcomm QuRT
  • GPU Compute APIs: CUDA, OpenCL, OpenGL, OpenGL Compute Shaders, Apple Metal, Microsoft Direct X 12

This project extends the available targets to custom-hardware generation. The language that is used capture hardware intent is CoreIR. CoreIR's most basic features provide a way to create hardware modules (adders, multipliers, muxes) and connections (how to wire them together). Beyond this, there are analysis and transformation passes to modify the circuit.

For more detail about what Halide is, see http://halide-lang.org. To see some example code, look in the tutorials directory.

For more specific instructions on how to create CoreIR hardware targets, visit https://stanfordaha.github.io/CGRAFlowDoc/halide/intro.html

Build Status

Linux
linux build status

halide-to-hardware's People

Contributors

abadams avatar steven-johnson avatar dsharletg avatar dillonhuff avatar jrk avatar jeffsetter avatar psuriana avatar pranavb-ca avatar kree-colemcalughlin avatar rodrigob avatar aam avatar abestephensg avatar dsharlet-intel avatar joyliu37 avatar connellybarnes avatar aankit-ca avatar norabarlow avatar jingpu avatar matthiaskramm avatar vksnk avatar gednyengs avatar ronen avatar alexreinking avatar shoaibkamil avatar kgnk avatar tdenniston avatar nickchornay avatar chtsao8 avatar kernhanda avatar jn80842 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.