GithubHelp home page GithubHelp logo

newling / mlir-aie Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xilinx/mlir-aie

0.0 0.0 0.0 66 MB

An MLIR-based toolchain for AMD AI Engine-enabled devices.

License: Other

Shell 0.36% C++ 29.34% Python 12.79% C 0.78% Tcl 1.58% Makefile 0.98% BitBake 0.06% HTML 0.05% CMake 1.63% MLIR 51.98% Jupyter Notebook 0.45%

mlir-aie's Introduction

MLIR-based AI Engine toolchain

Build and Test

Build and Test across Python versions

Build and Test with AIE tools on Ryzen AI

Compile across platforms

GitHub Pull Requests

This repository contains an MLIR-based toolchain for AI Engine-enabled devices, such as AMD Ryzen™ AI and Versal™. This repository can be used to generate low-level configurations for the AI Engine portion of these devices. AI Engines are organized as a spatial array of tiles, where each tile contains AI Engine cores and/or memories. The spatial array is connected by stream switches that can be configured to route data between AI Engine tiles scheduled by their programmable Data Movement Accelerators (DMAs). This repository contains MLIR representations, with multiple levels of abstraction, to target AI Engine devices. This enables compilers and developers to program AI Engine cores, as well as describe data movements and array connectivity. A Python API is made available as a convenient interface for generating MLIR design descriptions. Backend code generation is also included, targeting the aie-rt library. This toolchain uses the AI Engine compiler tool which is part of the AMD Vitis™ software installation: these tools require a free license for use from the Product Licensing Site.

This project is primarily intended to support the open-source community, particularly tool builders, with low-level access to AIE devices and enable the development of a wide variety of programming models from higher level abstractions. We provide an example programming flow: Interface Representation for hands-ON (IRON) close-to-metal programming of the AIE-array. IRON is an open access toolkit enabling performance engineers to build fast and efficient, often specialized designs through a set of Python language bindings around the mlir-aie dialect. As such, it contains some examples, however this project is not intended to represent an end-to-end compilation flow for all application designs. If you're looking for an out-of-the-box experience for highly efficient machine learning, check out the AMD Ryzen™ AI Software Platform.

Getting Started on a Versal™ board

Running on a Versal™ board

Getting Started and Running on Windows Ryzen™ AI

Getting Started and Running on Linux Ryzen™ AI

IRON AIE Application Programming Guide

MLIR Dialect and Compiler Documentation


Copyright© 2019-2024 Advanced Micro Devices, Inc

mlir-aie's People

Contributors

abhishek-varma avatar andrabisca avatar andrej avatar arkhodamoradi avatar brandon-t-nguyen avatar david-vc avatar denolf avatar dotkrnl avatar eddierichter-amd avatar erieaton-amd avatar erwei-xilinx avatar fifield avatar hanchenye avatar jackl-xilinx avatar jamesroxbypb avatar jamestcl-amd avatar jgmelber avatar jinmingzhuang avatar jsetoain avatar jtuyls avatar keryell avatar linay-xsj avatar makslevental avatar newling avatar nishraptor avatar nqdtan avatar searsm8 avatar singagan avatar spaceotter avatar stephenneuendorffer 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.