/RV32I-GPU

RV32I Open Source GPU

GNU General Public License v3.0GPL-3.0


RV64X
RV64X

RV64X aims at creating and offering open-source GPUs with a RISC-V-derived architecture.

About the projectGetting startedsUsageRoadmapContributingLicense Contact Acknowledgements

About the project

We want to enable small companies to develop purpose-built processors and GPUs without paying a royalty. There are numerous free and commercial IP building blocks for RISC-V-based system-on-chips (SoCs), but the portfolio lacks a graphics option so we decided to develop and offer open-source GPUs based on the RISC-V architecture.

Key Features

RV64X-designed GPUs use a basic RV32I or RV64I core that supports new instructions built on the base vector instruction set. Initially, it will use an RV32I core, and later on, an RV64I core will replace it. The basic RISC-V core will support:

  1. New graphics and machine learning specific data types, including scalars and matrices;
  2. Vector/math instructions;
  3. Pixel/texture instructions;
  4. Frame buffer instructions;
  5. A special register set (featuring configurable 136-bit vector registers);
  6. Some graphics-specific instructions;

The graphics core will support the Vulkan API, but the group strives to make it DirectX (shader model 5) and OpenGL/ES-compliant. 😄

Getting Started

This is an example of how we want to give instructions on setting up the project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
    npm install npm@latest -g

Installation

  1. Get a free API Key at https://example.com
  2. Clone the repo
    git clone https://github.com/your_username_/Project-Name.git
  3. Install NPM packages
    npm install
  4. Enter your API in config.js
    const API_KEY = 'ENTER YOUR API';

Usage

We will use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

GNU General Public License v3.0

Contact

Atif Zafar - github account - atif@email -

Project Link: https://github.com/your_username/repo_name

Acknowledgements