VeriGPU 项目宣布开发开放式 GPU

萨尔瓦多PROYECTO VeriGPU 亮相 几天前 已开始着手开发开放式 GPU, 其目标是在电子系统 Verilog 的建模语言和描述下开发。

对于那些不熟悉 VeriGPU 的人来说,你应该知道它被定位为一个专用处理器 (ASIC),经过优化,可以加速与机器学习系统相关的计算。

开始的方式, 该项目正在使用 Verilog 模拟器进行开发, 但准备好之后,就可以用来生产真正的芯片了。

计划包括对 PyTorch 深度学习框架的支持 以及使用 HIP(异构计算接口)API 为 VeriGPU 开发应用程序的能力。 未来,不排除加入对其他 API 的支持,例如 SYCL 和 NVIDIA CUDA。

重要的是要提到 这个GPU的开发直接针对机器学习训练. 所以它应该理想地支持当前的机器学习框架,如 PyTorch 和 Tensorflow,这意味着它几乎肯定需要支持 NVIDIA CUDA 或 AMD HIP。

虽然也提到了 我知道我可以实现 OpenCL 或 SYCL 接口,尽管目前对主要框架的支持有限。 DeepCL 中有一个专用的 OpenCL 深度学习框架,但与 PyTorch 和 Tensorflow 相比,它的神经网络层和可能的网络拓扑集相对有限。

目前,我们不打算实现乱序执行,即在前一条指令开始之前开始一条指令,因为这在单指令多线程 (SIMT) 场景中很棘手,并且因为这确实使内核使用了更多的裸片区域。 ,因此数量更少(或更昂贵)。

另一方面,我们将实现并行指令执行,即在前一条指令仍在执行时开始一条指令。 这是标准的并且相当轻巧,它不会占用太多的芯片面积。

当前没有实现任何类型的缓存(没有级别 1、没有级别 2、没有级别 3,甚至没有指令缓存:P)。 由于我打算制作一个具有与 CPU 不同的缓存机制的 GPU,所以一旦它开始看起来更像 GPU,我就会考虑这个问题。

GPU基于RISC-V指令集演进, 但由此产生的内部 GPU 指令集架构与 RISC-V ISA 的兼容性很差,因为在 GPU 布局不符合 RISC-V 渲染的情况下,除了没有设置保持与 RISC-V 兼容的任务.

自发展以来 专注于机器学习系统所需的能力,因此,为了减小芯片数组的大小和复杂度,只使用BF16浮点格式,只对机器学习需要的浮点运算,如exp、log、tanh、sqrt可用的。

在已经可用的组件中,例如 GPU 驱动程序、用于整数运算的 APU(加速处理单元)(«+»、»-«、»/»、»*»)、用于浮点运算的单元(«+ »、 »*») 和一个分支单元,以及对 HIP 编译器的支持。

用于创建应用程序 提供了汇编器和对编译 C++ 代码的支持 基于 LLVM。 在预期的功能中,指令的并行执行、数据缓存和指令存储器中,SIMT(单指令多线程)操作脱颖而出。

最后, 如果您有兴趣了解更多有关它的信息 关于这个开源GPU的开发,你应该知道项目的开发是在MIT许可下分发的,你可以查阅代码,以及项目的进度来自 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。