工具概述
msKPP(MindStudio Kernel Performance Prediction)是一款性能建模工具,在算子开发前,可根据算子的数学逻辑作为输入,基于msKPP的DSL语言,写出一个算子实现方案的算子表达式,获得该方案的算子性能建模结果。由于本身针对性能的预测不需要进行真实的计算,仅需要依据输入和输出的规模,给出对应算法的执行时间,故而,可以在秒级给出性能建模结果。
原理概述
msKPP为了达到理论性能的目标,基于如下表1对实际芯片进行计算和搬运类指令的性能建模。
性能假设 |
说明 |
---|---|
内部存储(Local Memory)无限,但用户可以自己控制生命周期内的内存有限。 |
这个假设意味着在实际芯片的建模过程中,不考虑内存容量的限制。这允许用户或开发者可以自由地分配和使用内存资源,而不用担心内存不足的问题。在实际应用中,虽然物理内存是有限的,但这个假设可以简化模型,使得可以专注于其他性能相关的因素。 |
以统计评估的指令能力代表理论性能。 |
这个假设认为通过对芯片执行指令的统计分析可以得到其理论上的性能表现,芯片在执行指令时的平均性能可以反映出其最高性能潜力。这个假设有助于在设计和优化过程中,通过统计模型预测和提升芯片的性能。 |
下发无瓶颈。 |
这个假设意味着在数据或指令下发到处理器执行单元的过程中,不会遇到任何瓶颈或限制。也就是说,数据传输和指令调度可以无缝进行,不会因为任何硬件或软件的限制而降低性能。 |
父主题: 算子设计(msKPP)