本项目在原项目的基础上增加了Nsight Compute(ncu)测试的功能,并对相关脚本功能做了一些健硕性的增强,同时,对一些框架的代码进行了更改(主要是数据集的大小和epoch等),增加模型性能测试的效率,同时完善了模型LSTM的有关功能。
Overview
Nsight Compute (NCU) 是 NVIDIA 提供的 GPU 内核级性能分析工具,专注于 CUDA 程序的优化。它提供详细的计算资源、内存带宽、指令调度等性能数据,适合分析单个或多个 CUDA kernel 的瓶颈。Nsight Systems (NSYS) 则是系统级性能分析工具,关注 GPU、CPU、内存和 I/O 的协同工作,通过时间线展示应用程序的整体性能。两者的分析范围和用途不同:NCU 专注于内核级优化,适合 CUDA 开发者深入分析;NSYS 提供应用级性能概览,适合定位 CPU-GPU 协作的效率问题。实际应用中可以先用 NSYS 确定性能瓶颈,再用 NCU 深入优化 GPU 内核,充分提升程序性能。
1.实验环境:
Ubuntu 22.04.5 LTS
NVIDIA RTX A6000
cuda 12.4
nsys 2024.5.1
ncu 2024.3.2
docker 27.2.1
python 3.10.12
pytorch 2.5.1
2.docker启动命令
docker run --rm --gpus all --network host --shm-size=4g -it \
--cap-add=SYS_ADMIN \
-v /usr/local/cuda-12.4:/usr/local/cuda-12.4 \
-v /usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu \
-v /opt/nvidia/nsight-systems/2024.5.1:/opt/nvidia/nsight-systems/2024.5.1 \
-v /opt/nvidia/nsight-compute/2024.3.2:/opt/nvidia/nsight-compute/2024.3.2 \
-e PATH