智能计算系统实验教程
上QQ阅读APP看书,第一时间看更新

1.3 实验平台

为配合相关实验的开展,我们采用的实验平台包括通用CPU平台和智能计算系统平台。其中智能计算系统平台集成了深度学习处理器硬件,并提供了配套的软件开发环境。

1.3.1 硬件平台

本书实验所采用的DLP芯片内部集成了4个深度学习处理器簇(Cluster),其中每个Cluster包括4个深度学习处理器计算核以及共享的片上存储(Shared RAM,SRAM)。每个计算核包括处理单元(Neural Functional Unit,NFU)、神经元存储(Neuron RAM,NRAM)和权重存储(Weight RAM,WRAM)等。其具体结构如图1.3所示。该DLP硬件以PCIe加速卡的形式提供给用户使用,支持int16、int8、int4、float32及float16等多种数据类型,理论峰值算力为128 TOPS(int8),满足多样化的智能处理需要,兼具通用性和高性能。

图1.3 实验所采用的DLP硬件架构

除了直接在PC或者服务器中使用DLP硬件进行编程外,我们还提供了云平台环境,方便用户使用DLP硬件。云平台的基本功能和使用方法参见课程网址http://novel.ict.ac.cn/aics/

1.3.2 软件环境

DLP的整体软件环境如图1.4所示,主要包括:编程框架、高性能库CNML、智能编程语言、运行时库CNRT及驱动、开发工具包及领域专用开发包。其中,编程框架包括TensorFlow、PyTorch和Caffe等。DLP上的高性能库CNML提供了一套高效、通用、可扩展的编程接口,用于在DLP上加速各种智能算法。用户可以直接调用CNML中大量已优化好的算子接口来实现其应用,也可以根据需求扩展算子。智能编程语言BCL和BPL可以用于实现编程框架和高性能库CNML中的算子。DLP的运行时库CNRT提供了面向设备的用户接口,用于完成设备管理、内存管理、任务管理等功能。运行时库是DLP软件环境的底层支撑,其他应用层软件的运行都需要调用CNRT接口。除了上述基本软件模块外,还提供了多种工具方便用户进行状态监测及性能调优,如应用级性能剖析工具、系统级性能监控工具和调试器等。上述具体内容将在后续实验的背景部分介绍。

图1.4 实验所采用的DLP的软件环境

上层智能应用可以通过两种方式来运行:在线方式和离线方式。其中,在线方式是直接用各种编程框架(如TensorFlow、PyTorch和Caffe等)间接调用高性能库CNML及运行时库CNRT来运行。离线方式是通过直接调用运行时库CNRT,运行前述过程生成的特定格式的网络模型,以减少软件环境的中间开销,提升运行效率。关于在线运行和离线运行的详细介绍参见5.1节。