With the rapid development of scientific computation, more and more researchers and developers are committed to implementing various workloads/operations on different devices. Among all these devices, NVIDIA GPU is the most popular choice due to its comprehensive documentation and excellent development tools. As a result, there are abundant resources for hand-writing high-performance CUDA codes. However, CUDA is mainly supported by only commercial products and there has been no support for open-source H/W platforms. RISC-V is the most popular choice for hardware ISA, thanks to its elegant design and open-source license. In this project, we aim to utilize these existing CUDA codes with RISC-V devices. More specifically, we design and implement a pipeline that can execute CUDA source code on an RISC-V GPU architecture. We have succeeded in executing CUDA kernels with several important features, like multi-thread and atomic instructions, on an RISC-V GPU architecture.
翻译:随着科学计算迅速发展,越来越多的研究人员和开发者致力于在不同装置上执行各种工作量/操作,在所有这些装置中,荷兰航天局GPU由于其综合文件和出色的发展工具,是最受欢迎的选择,因此,有大量资源用于手写高性能CUDA代码,然而,CUDA主要依靠商业产品,对开放源的H/W平台没有支持。RISC-V由于其优雅的设计和开放源许可证,是硬件ISA的最受欢迎的选择。在这个项目中,我们力求利用现有的CUDA与RISC-V装置的代码。更具体地说,我们设计和实施一个管道,可以在RISC-VGUP架构上执行CUDA源代码。我们成功地在RISC-V GPU架构上实施了具有若干重要特征的CUDA内核,例如多面和原子指令。