GithubHelp home page GithubHelp logo

codingonion / ventus-gpgpu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thu-dsp-lab/ventus-gpgpu

1.0 1.0 0.0 5.51 MB

GPGPU processor supporting RISCV-V extension, developed with Chisel HDL

License: Other

C 0.72% Scala 85.60% Tcl 10.97% Verilog 1.70% Assembly 0.69% Nix 0.23% Makefile 0.09%

ventus-gpgpu's Introduction

Ventus(承影) GPGPU

GPGPU processor supporting RISCV-V extension, developed with Chisel HDL.

Copyright 2021-2022 by International Innovation Center of Tsinghua University, Shanghai

We are calling for contributors. If you are interested in Ventus GPGPU, please contact [email protected]

“承影”在RVV编译器工具链、验证环境开发和硬件设计方面还有很多不足,如果您有意愿参与到“承影”的开发中,欢迎在github上pull request,也欢迎联系 [email protected]

8月23日线下活动的ppt已经上传到这里

目前开发中的文档手册在这里,添加了对OpenCL支持所需的改动。2.0版本架构方案尚未确定,如果您在软硬件方面有任何建议,欢迎提issue或邮件联系。

Architecture

The micro-architecture overview of Ventus(承影) is shown below. Chinese docs is here. English version will come soon.

For ISA simulator and riscv-gnu-toolchain, see ventus-gpgpu-isa-simulator and ventus-riscv-gnu-toolchain

Quick Start

从零开始的配置教程(中文,从WSL和IDEA安装讲起)

The tutorial of Chisel development environment configuration comes from chipsalliance/playground: chipyard in mill :P

  1. Install dependencies and setup environments:
  • Arch Linux pacman -Syu --noconfirm make parallel wget cmake ninja mill dtc verilator git llvm clang lld protobuf antlr4 numactl
  • Nix nix-shell
  • Ubuntu
apt-get install make parallel wget cmake verilator git llvm clang lld protobuf-compiler antlr4 numactl
curl -L https://github.com/com-lihaoyi/mill/releases/download/0.10.8/0.10.8 > mill && chmod +x mill
  1. Init and update dependences
make init
make patch
  1. IDE support make bsp # generate IDE bsp
  2. to generate verilog file, use make verilog. The output file is GPGPU_axi_top.v
  3. to run tests, use make tests. Output waveform file is at test_run_dir

Acknowledgement

We refer to some open-source design when developing Ventus GPGPU.

Sub module Source Detail
CTA scheduler MIAOW Our CTA scheduler module is based on MiaoW ultra-threads dispatcher.
L2Cache block-inclusivecache-sifive Our L2Cache design is inspired by Sifive's block-inclusivecache
Multiplier XiangShan We reused Array Multiplier in XiangShan. FPU design is also inspired by XiangShan.
Instructions, Config, ... rocket-chip Some modules are sourced from RocketChip

ventus-gpgpu's People

Contributors

auyuir avatar liuxd17thu avatar vtecbest avatar yangkex avatar yangzexia avatar yff18 avatar

Stargazers

 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.