Jump to content

Open design GPU

From IdeaWazaWiki
(Redirected from Open GPU)

Open design GPU is the idea of a graphics processing unit whose design is shared in the open, so that anyone can study it, build it, improve it, and teach with it. A GPU draws the screen, plays video, and runs heavy parallel math. Almost all are closed. The original notes here asked for fast floating point, chips for mobile devices, desktops, and laptops, and fanless low-power operation. This page builds on those ideas.

What a GPU does

A GPU is a specialized circuit that speeds up graphics and image work. Graphics splits into many small independent jobs, so a modern GPU holds hundreds or thousands of calculation units that run at once. The same layout suits other heavy tasks, such as scientific computing and training neural networks.[1]

Speed in floating point is the core of the job. Floating point is the number format for fractions and very large or very small values. Shading a pixel, moving a 3D model, and multiplying a neural network matrix all become huge counts of these operations. Open designs let students study the trade-offs between precision, speed, and chip area.

What open can mean

Open has layers. A project can be open in one layer and closed in another.

  • Open instruction set: the machine language is published. AMD, for example, publishes machine-readable specifications of its GPU instruction sets.[2]
  • Open hardware description: the design is released in a language such as Verilog, so others can simulate it or place it on an FPGA.
  • Open drivers and documentation: the control software is public. When manuals are missing, developers often learn the hardware by clean-room reverse engineering.[3]
  • Open manufacturing data: a process design kit models a foundry process for design tools. The SkyWater kit for a 130 nm process is published under the Apache 2.0 license.[4]
  • Open boards: the circuit board design is shared.

A fully open GPU would be open in every layer.

Real projects

  • Open Graphics Project. It set out to design an open graphics card. Its OGD1 was a passively cooled PCI card built around an FPGA, shipped from September 2010. The project expected to need about US$2,000,000 to start production of a custom chip.[5]
  • Nyuzi. An experimental GPGPU processor with a SystemVerilog design, an emulator, and an LLVM based compiler.[6]
  • MIAOW. An open implementation of the AMD Southern Islands GPU instruction set.[7]
  • Vortex. A full-stack open GPGPU built on RISC-V. A 2021 paper reported an FPGA version with 32 cores and a peak of 25.6 GFlops at 200 MHz.[8] This is a research design, not a rival to commercial cards.
  • Libre-SOC. A hybrid CPU, VPU, and GPU in one processor, based on OpenPOWER with added vector style instructions. Its first target is a low-power mobile chip with a 2.5 watt budget. It is not a dedicated GPU.[9]
  • VeriGPU. A plan for an open machine learning GPU that uses the 16-bit brain floating point format to keep chip area low. The author does not intend to build the chip himself.[10]

Most open progress has come in software. Nouveau builds free drivers for NVIDIA GPUs, and its NVK driver is a conformant Vulkan 1.4 implementation as of December 2024.[11] In 2014 Broadcom released documentation for the VideoCore IV graphics core used in the Raspberry Pi, but the firmware stayed closed.[12] An open driver can still run on a closed chip.

Hard problems

  • Cost. Chip manufacturing is expensive. Open design kits and shared runs such as Tiny Tapeout aim to lower the price of small experiments.[13]
  • Software size. A usable GPU needs compilers, a kernel driver, and graphics and compute libraries. The Vortex authors say this complexity is one reason open GPU work is rare.[8]
  • Patents. The patents on S3 Texture Compression were a major obstacle to open source implementations. They expired in 2017 and 2018.[14] This page is not legal advice.
  • Memory bandwidth. A processor can only use data as fast as memory delivers it, and real rates fall below the advertised maximum.[15]

Fanless and low power

Phones and laptops have small batteries and little room for cooling, so efficiency matters. Putting the processor, GPU, memory interfaces, and display circuits on one chip removes the power spent driving fast links between chips.[12] Libre-SOC states that above about 4 watts a chip needs metal packages and more careful thermal design.[9] The passively cooled OGD1 shows that a fanless board is possible.

One idea for discussion is a scalable core. A small configuration could serve a fanless phone or silent laptop, and a larger one with more cores could serve a desktop. Vortex already lets a builder choose the number of cores, warps, and threads.[8] This is a proposal, not a product. See also Open silent laptop and Open design solid state laptop.

Discussion questions

  • What is the difference between an open driver and an open chip?
  • Which is the larger barrier to an open GPU, manufacturing cost or software size?

Essay ideas

  • Compare the five layers of openness and argue which should come first.
  • Describe a fanless laptop graphics chip and the trade-offs it needs.

AI prompt ideas

  • Explain how a GPU differs from a CPU for a high school student, then quiz me with five questions.
  • Compare Nyuzi, MIAOW, Vortex, Libre-SOC, and VeriGPU in a table and list which claims I should verify at the project sites.

Learning, teaching, and research

A teacher can start with the layers of openness and ask students to place each project from the list in the right layer. A student can read the Nyuzi or Vortex source and trace how one instruction moves from the compiler to the simulator. Project ideas include running a published design in simulation or measuring how memory bandwidth limits a simple program. Research directions include small instruction set extensions for graphics, reduced precision formats, open firmware, and designs that stay within a few watts. Check project sites for current status.

Readings from Wikipedia

See also

References