VeriGPU is an opensource GPU, written in verilog. We present details on our planning and design decisions; on our implementation details; on how we perform verification, and on how we measure metrics. We use only opensource and free software. No software that requires a licensing fee is used in this work.
The internal GPU Core ISA loosely compliant with RISC-V ISA. Where RISC-V conflicts with designing for a GPU setting, we break with RISC-V. We intend to keep the cores very focused on ML. For example, brain floating point (“BF16”) throughout, to keep core die area low. This should keep the per-core cost low. Similarly, we intend to implement only a few float operations critical to ML, such as exp, log, tanh, sqrt. We don’t actually intend to tape this out ourselves, but we intend to do what we can to verify that tape-out would work ok. We will measure and minimize die area and maximum propagation delay. We will implement a HIP API, that is compatible with the pytorch machine learning framework.
We hope that this opensource GPU will enable private companies to easily tape-out and produce GPUs. We hope that we will lower the barrier to entry into the GPU market, and potentially contribute to increasing the ratio of power to cost of GPUs.
About Hugh Perkins
Created several OpenCL works:
- DeepCL: deep learning framework using OpenCL, https://github.com/hughperkins/DeepCL
- cltorch: port of lua torch to OpenCL, https://github.com/hughperkins/cltorch
- coriander: compiler to run NVIDIA® CUDA™ code one OpenCL™ 1.2 devices, https://github.com/hughperkins/coriander (presented at International Workshop on OpenCL 2017, https://youtu.be/O1zAFL6JrOM )
Work as a research engineer for ASAPP Inc, where we work on NLP models for assisting with customer service.
Bachelors from Cambridge University; and masters from Tsinghua University.