如何剖析CUDA内核内部函数并在Nsight中可视化性能?
CUDA内核内部函数性能剖析与可视化优化咨询
我有一个包含大量操作的大型CUDA内核,代码示例如下:
__global__ void bigkernel(args) { func1(); func2(); func3(); func4(); func5(); .... }
我希望剖析其中每个函数的性能并在Nsight中可视化,但目前用Nsight运行时仅能看到整个bigkernel,无法查看func1等内部函数的细节。
目前我使用内置的clock64()为每个函数计时,通过结构体存储数据:
struct time_stuff { uint64_t start, end, func1, func2, func3, func4,... };
并通过Python进行可视化。我已尝试使用Nsight Compute和Nsight Systems分析程序,但clock64()操作最为简便,想咨询是否有更优的方法?
相关运行命令:
nsys profile --trace=nvtx,cuda --sample=cpu -o cu_trace ./cu_alg /datasets/collisions.txt 15000000 \s 96 128
附相关截图:
- Nsight Systems概览
- Nsight Compute界面
- clock计时结果展示
内容的提问来源于stack exchange,提问作者Rageristic
相关产品推荐
相关产品推荐

