Skip to content
Jeff Bush edited this page May 24, 2019 · 191 revisions

Overview

Driven by increasingly complex use cases, modern GPUs are evolving from a constrained programming model to a more sophisticated and general purpose one. This project approaches the problem from the opposite direction, starting with a very general purpose architecture and adding parallel processing capabilities. It is focused on computation heavy use cases. While it can run graphical programs, it is not optimized for that use case, as it doesn't have the fixed function hardware like a traditional GPU. It is capable of operating as a coprocessor or a standalone processor. High level features include:

  • Multiple cores with cache coherence
  • Hardware multithreading
  • Wide vector floating point SIMD with predicated execution
  • Virtual memory

When synthesized for a Cyclone IV FPGA, this takes ~74k logic elements and has a maximum frequency of ~54 MHz. When synthesized for ASIC using the NanGate 45 nm cell library and Syopsys Design Compiler, estimates show a maximum frequency of 671 MHz, and, for each core, 1.84 mm2 of area and 329 mW power usage.

Documentation

Misc