- 1、本文档共126页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
智能计算系统
第八章智能编程语言;本章内容定位;提纲;为什么需要智能编程语言;语义鸿沟;;硬件鸿沟;如何在语言层面填补硬件鸿沟;平台鸿沟;小结;内容组织;提纲;智能计算系统抽象架构;抽象硬件架构;典型智能计算系统;控制模型;计算模型;;;提纲;智能编程模型;异构编程模型;异构编程模型:分类;异构编程模型:流程;异构编程模型:编译器支持;异构编程模型:运行时支持;通用智能编程模型;通用智能编程模型:Kernel定义;;数据通信:为DLP的复杂存储层次提供支持
隐式数据管理:GPR标量数据,由编译器隐式插入Load/Store指令
显式数据管理:
DRAM/NRAM/WRAM/SRAM间向量及张量数据
主机-DLP间DRAM数据;;;通用智能编程模型:运行时支持;1、主机端异步发射3个Kernel到Queue中。用户可以根据同步和通信的需要,在三次发射之间或之后任意位置调用同步接口SyncQueue。假设在三次发射之后调用,则等待Queue中的任务全部完成后再继续执行主机端SyncQueue后面的程序;
2、第一个任务Kernel1在Time1被发射后立即进入Queue,设备端发现当前全部核心空闲则立即执行Kernel1。Kernel1的任务类型为UNION2,会从Time1开始占用2个Cluster执行计算;;35;
6、Kernel3的任务类型是UNION4,需要4个Cluster,但在Time1时刻到Time2时刻硬件的4个Cluster被占用了3个(假设只有4个Cluster),那么设备端调度器会一直等待Time2时刻有4个Cluster的空闲时才执行Kernel3。
7、假设Kernel1和Kernel2的任务并行总规模taskDim超过了任务类型表示的核数(例如kernel1的taskDim=16,而调度类型是UNION2,即一次要占用8个Core),则调度器会将同一份Kernel程序在时间序上执行多次;
;提纲;智能编程语言基础;语法概述;基本数据类型;宏、常量与内置变量;I/O操作语句;;标量计算语句;张量计算语句;控制流语句;串行程序示例;并行程序示例;提纲;智能应用编程接口;Kernel函数接口;;;运行时接口;;;使用实例;;;;智能编程模型实例:BANG异构编程;BANG异构编程:流程;BANG异构编程示例:主机端;BANG异构编程示例:设备端;BANG程序编译与链接;张量计算语句实例:BANG数学库;BANG数学库实例;BANG数学库实例;BANG数学库实例;BANG数学库实例;BANG数学库实例;BANG数学库实例;编程接口实例:BANG程序;设备端代码:BANG实现;BANG单核向量加法;主机端代码:Kernel调用;77;BANG矩阵乘法;66;第八章智能编程语言;智能应用功能调试;功能调试接口;BANG调试:格式化输出;功能调试工具;;;;功能调试实践;;;串行调试程序
使用display命令和单步执行观察变量状态:
;;;;第八章智能编程语言;智能应用性能调优;性能分析方法;性能调优工具;应用级性能剖析工具
运行bcl-perfrecord./vecMult
记录用户程序运行数据,生成日志文件
运行bcl-perfkernel
解析日志文件,输出核函数执行的硬件性能计数器数据
;应用级性能剖析工具
运行bcl-perfreport
查看函数的执行时间:
;;性能调优方法;;;;;第八章智能编程语言;智能编程语言的应用;高性能库算子开发;高性能库算子开发:原理及流程;高性能库算子开发:算子库结构;高性能库算子开发:算子库API;高性能库算子开发:实践;左图为规模和宏定义,右图为主机端算子API。
为了简化示例代码,此处假设任务类型为FUNCTION_TYPE_UNION1,任务规模为{4,1,1},左矩阵??规模为4096×256,右矩阵??规模为256×256,输入数据类型为int8_t,输出数据类型为half。左右矩阵的数据布局分别为行优先和列优先。受限于片上存储空间容量,每个处理器核心执行一次矩阵乘法的运算规模设置为64×256×256。4个任务协同完成4096×256×256的矩阵运算,每个任务处理1024×256×256的矩阵块,即重复执行16次64×256×256的矩阵运算。
;Stage1:GDRAM2NRAM读数据
;对于有核心簇存储空间SRAM的DLP硬件,主机端可以调用五级流水的核函数以获得更高的计算性能。在五级流水中,处理器核心簇一次从全局存储空间读取1024×2
您可能关注的文档
- 智能计算系统:从深度学习到大模型 第2版课件 6、第六章-面向深度学习的处理器原理.pptx
- 智能计算系统:从深度学习到大模型 第2版课件 9、第九章-大模型计算系统.pptx
- 智能计算系统:从深度学习到大模型 第2版课件 第七章-深度学习处理器架构.pptx
- 非法传销保证书.docx
- 税务会计岗位招聘笔试题精练试题详解.docx
- Java编程语言在高校课程网站建设中的应用.pptx
- 营商环境的研究现状及未来展望.docx
- 教师资格考试初中思想品德面试新考纲必刷题解析(2025年).docx
- 小学信息技术教师资格考试面试强化训练精练试题详解(2025年).docx
- ESG表现与企业韧性:效应与机制.pptx
文档评论(0)