Windows系统CUDA_nvprof/ncu/nsys性能分析学习笔记

一. nvcc

1. 报错 nvcc fatal : Cannot find compiler 'cl.exe' in PATH

因为没有识别到VS的路径导致报错,将C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64添加到高级系统设置---环境变量中,然后重启电脑即可。一定要重启

2. 管理员身份运行cmd  

输入 [nvcc -V] 可查询当前cuda版本信息

3. 创建项目库

方法1:

①转至.cu文件所在文件夹[cd D:\……\GPU] 

②输入语句:nvcc kernel.cu -o Demo.exe

$ cd D:\……\cudatest\cudatest //kernel.cu所在文件夹路径
$ nvcc kernel.cu -o Demo.exe

方法2:

VS中直接编译,然后cd到编译出的exe所在文件夹。

二. nvprof

$ nvprof Demo

nvprof指标分析只支持算力7.5以下的显卡,7.5也不支持。能整体分析,但不能给具体指标。

后面改为使用Nsight Compute Common-line Interface(Cli命令行)抓取指标

### 解析 KITTI 数据集中的 `calib_000010.txt` 文件 为了读取和解析 KITTI 数据集中的校准文件,通常这些文件包含了不同传感器之间的转换矩阵以及相机内参。对于名为 `calib_000010.txt` 的文件,其结构与一般 calibration 文件相似。 #### Python 实现代码示例 以下是用于加载并打印该特定校准文件内容的Python脚本: ```python def read_calib_file(filepath): """Read a calibration file and parse into dictionary.""" data = {} with open(filepath, 'r') as f: for line in f.readlines(): if not line or line.startswith('#'): continue key, value = line.split(':', 1) try: data[key] = np.array([float(x) for x in value.split()]) except ValueError: pass return data if __name__ == "__main__": import numpy as np filepath = "path/to/calib_000010.txt" calib_data = read_calib_file(filepath) # 打印所有键值对 for k, v in calib_data.items(): print(f"{k}: {v}") ``` 这段代码会遍历每一行,并尝试将其分割成键和对应的数值列表。注意这里假设路径已正确设置为实际存储位置[^1]。 #### 关于 Calibration 文件的内容说明 - **Tr_velo_to_cam**: 表达的是从 Velodyne 坐标系到参考相机 (通常是 cam0) 坐标系的变化关系。这允许将激光雷达获取的空间点云映射至图像平面上。 - **P_rect_xx**: 这些条目定义了矩形化后的投影矩阵,其中 xx 是指具体的摄像头索引号。通过这个矩阵可以从三维空间坐标计出二维像素坐标[^2]。 #### 获取相机内部参数的例子 如果要提取像平面中心 `(cu,cv)` 和焦距 `(fu,fv)` ,可以根据上述提到的标准配置来访问相应的字段: ```python # 提取 P_rect_00 中的信息作为第一个摄像机的内参 p_rect_00 = calib_data['P_rect_00'].reshape(3, 4) fx = p_rect_00[0][0] fy = p_rect_00[1][1] cx = p_rect_00[0][2] cy = p_rect_00[1][2] print(f"Camera Intrinsics:\nfu={fx}, fv={fy}\ncu={cx}, cv={cy}") ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值