开源通用计算芯片平台(GPGPU)
“青花瓷”是我们提出的第一个GPGPU架构,是由上海交通大学先进计算机体系结构实验室发起,通过开源公益的方式打造的通用计算芯片平台。青花瓷架构以支持大规模并行通用计算、AI计算、科学计算为目标设计,提供灵活的可编程性保持程序员的编程习惯,最大程度降低软件开发难度。
为什么要用开源的方式
最根本的问题是软件,历史上发展起来的传统软件架构和层次要经历巨大的变革,才能够建立起新的秩序。当下芯片产业在软件层面存在“重复造轮子”问题,每家公司可能都会重新开发一套只能应用于自己产品的框架,而一般的框架的支持度又无法满足算法多样性的需求,如果要建立起跟已有平台一样的生态环境,可想而知成本是巨大的。
如果要解决上述问题,需要以免费解决“资金”的问题,以开放解决“人才”的问题,以开源解决“时间”的问题。
目标与计划
我们希望打造三个“一”工程,包括 一本专业教材、一门核心课程、一个开源平台 。
教材与课程
目前我们已经出版了一本教材《通用图形处理器设计-GPGPU编程模型与架构原理》,并得到了业界广泛的认可。核心的课程也在积极的推进中。
开源平台
在开源通用计算芯片平台中,我们会通过提供基础的指令集、硬件架构、模拟器来描述实现一种流行的GPGPU设计。目前,在学术界已经有几款开源GPGPU模拟器,有的仍然采用较老的指令集或是中间语言进行实现,有的则是基于RISC-V CPU指令集进行改进和扩展来实现GPGPU的功能。而我们的开源通用计算芯片(GPGPU)平台则是以工业界近年来的先进GPGPU架构为基础,能够实现完整GPGPU的功能。不基于已有的开源指令集,是一种独立完整的GPGPU架构和指令设计,因此可以更好地、完善地融入现有GPGPU生态。
计划
我们会分阶段开源功能仿真和性能仿真模拟器,并且会构建基础测试集和高级测试集来进行功能验证。目前已经开源了青花瓷架构的功能仿真模拟器,在已开源的项目中包含三十个并行计算程序作为基础测试集负责验证基础功能。后续我们将持续优化GPGPU架构,更新功能仿真模拟器和性能仿真模拟器,同时在高级测试集中正在开发的程序有一百余个,后续也会持续更新,并逐步开放测试。
我们在开源平台中重点专注于GPGPU架构和指令的设计,但不涉及具体的芯片定义和制造流程,也不约束芯片细节的实现。用户可根据开源平台进行具体的硬件设计开发或者以软件开发的形式参与平台的建设来丰富开源的GPGPU的生态。我们希望通过提供架构和指令设计、GPGPU模拟器以及测试集软件等方式打造一个能够服务于工业界、学术界的开源通用计算芯片平台。同时为GPGPU行业培养人才,构建相关知识体系结构,协调行业内的合作模式,并形成良好的开放生态,为后续的工作注入新的活力。
项目本身还处于非常初期的阶段,不过众人拾柴火焰高,欢迎各行各业对项目感兴趣的老师、同学以及工程师,为通用计算芯片平台提出建议和意见,同时也欢迎大家一起加入到后续的开发中,共同打造开源GPGPU生态。联系我们