t1  by chipsalliance

RISC-V Vector implementation inspired by the Cray X1 vector machine

created 2 years ago
282 stars

Top 93.5% on sourcepulse

GitHubView on GitHub
Project Summary

T1 (Torrent-1) is a RISC-V vector processor implementation inspired by the Cray X1, targeting researchers and hardware designers. It offers a lane-based microarchitecture with extensive chaining and configurable SRAM-based Vector Register Files (VRFs), supporting standard RISC-V vector extensions and large VLEN/DLEN configurations up to 64K.

How It Works

T1 implements a lane-based microarchitecture with a focus on intensive chaining between Vector Function Units (VFUs) and Load Store Units (LSUs). It features configurable banked SRAM VRFs with various port configurations and pipelined/asynchronous VFUs. The LSU supports instruction-level out-of-order execution and configurable outstanding memory instructions to mitigate latency. The design prioritizes balancing throughput, area, and frequency, allowing users to tune performance by adjusting VRF memory types, pipeline stages, and LSU configurations.

Quick Start & Requirements

  • Installation: Nix is the primary build system. Docker images are available via docker pull ghcr.io/chipsalliance/t1-<config>:latest.
  • Prerequisites: Nix package manager, potentially QEMU/KVM for Docker image builds.
  • Resources: Building and emulation can be resource-intensive.
  • Documentation: Configuration options and build commands are detailed in the README.

Highlighted Details

  • Supports standard RISC-V vector extensions (Zve32f, Zve32x) and configurable VLEN/DLEN up to 64K.
  • Features lane-based execution with support for masked element skipping and direct-connected lane interconnections.
  • LSU supports instruction-level out-of-order execution and configurable outstanding memory instructions.
  • Design Space Exploration (DSE) principles allow tuning for efficiency or performance by adjusting VRF memory, VFU pipeline stages, and LSU configurations.

Maintenance & Community

  • The project is maintained by the CHIPS Alliance.
  • Development is driven by Nix Flakes. Test cases cover various categories including assembly, MLIR, and PyTorch.

Licensing & Compatibility

  • License: Apache-2.0 License.
  • Compatibility: Permissive license suitable for commercial use and integration into closed-source projects.

Limitations & Caveats

  • The forked Rocket Core is not officially supported and can be replaced.
  • The LSU has specific requirements for bus ordering and no-MMU support for high-bandwidth ports, which may not be compatible with all RISC-V scalar cores.
  • No coherence support is provided for high-performance caches.
Health Check
Last commit

2 days ago

Responsiveness

1 week

Pull Requests (30d)
16
Issues (30d)
1
Star History
18 stars in the last 90 days

Explore Similar Projects

Starred by George Hotz George Hotz(Author of tinygrad; Founder of the tiny corp, comma.ai), Anton Bukov Anton Bukov(Cofounder of 1inch Network), and
16 more.

tinygrad by tinygrad

0.1%
30k
Minimalist deep learning framework for education and exploration
created 4 years ago
updated 1 day ago
Feedback? Help us improve.