性能测试
文章平均质量分 82
代码性能测试工具,如何写出高性能代码的tricks
Briwisdom
这个作者很懒,什么都没留下…
展开
-
AI模型在专用加速器上的性能分析指标
AI模型在专用加速卡上性能分析大概流程:1)先计算模型本身的计算访存比,得到模型理论算力带宽需求。2)根据处理器本身支持的操作字节比(算力,带宽),确认模型在该处理器上的性能表现类型。3)根据专用加速器内部架构的内存和计算并行性的设计,分析AI模型运行时的schedule,估算得到模型在加速卡上的执行周期。原创 2024-01-04 08:45:00 · 1160 阅读 · 0 评论 -
基于矩阵乘的CUDA编程优化过程
背景:网上很多关于矩阵乘的编程优化思路,本着看理论分析万遍,不如实际代码写一遍的想法,大概过一下优化思路。矩阵乘的定义如下,约定矩阵的形状及存储方式为: A[M, K], B[K, N], C[M, N]。原创 2023-12-29 08:30:00 · 1252 阅读 · 1 评论 -
基于向量内积的CUDA编程优化过程
GPU运算步骤:分配内存,传输数据,核运算,传出数据,释放内存。向量内积的数据计算公式如下,向量内积结果的累加过程称为归约(reduction),本文将探讨GPU不同编程核函数下的向量内积运算效率情况。原创 2023-12-27 16:57:08 · 955 阅读 · 0 评论 -
nvprof:CUDA编程性能分析工具
NVIDIA提供了具有高性能计算的GPU产品,如何检验硬件的实际性能,写出高效的CUDA代码让算力加速卡物尽其用,那可以通过其配套提供的“护城河”软件工具链来检验和帮助发挥GPU的性能:nvprof。如下,对于将8192个A,B向量进行向量加法运算,即C[i] = A[i] + B[i],当软件设置不同的blocknum, threadnum时候,CUDA执行kernel的时间是不同的。比如如下命令,可以看到程序tmp1的总体性能,下面一行是打印gpu的执行时间情况。原创 2023-12-25 17:02:38 · 924 阅读 · 0 评论 -
编译代码性能优化实践:理解循环展开(pragma unroll)
CUDA的矩阵乘优化经常见到 pragma unroll 的使用,本文通过简单的示例,展示了CPU和CUDA对循环展开前后的性能表现,来通俗理解循环展开的优化策略。原创 2023-12-01 19:23:21 · 1467 阅读 · 0 评论 -
C++的几种计时函数示例
评估一段代码的执行时间时候,一般在代码开始和结束位置放一个时间戳,然后两个时间戳相减即可。方法1和方法2的时间是一致的,方法3在linux上有时候不准。时间单位缩写对应:s(秒),ms(毫秒), μs(微秒),ns(纳秒)。1s=1000ms=1000 000μs=1000 000 000ns。精度情况:clock() : ms system_clock::now(): ns gettimeofday(time_val*, NULL) : us示例代码的单位都是毫秒,可根据需求自行换算。.原创 2020-12-31 14:15:49 · 4952 阅读 · 1 评论 -
python的时间测试小工具:timeit
timeit是Python标准库内置的小工具,可以快速测试小段代码的性能。本文主要记录它的参数接口和使用示例。原创 2023-11-29 19:14:46 · 302 阅读 · 0 评论