CUDA程序LINUX下无法调试

Safari_Al_Star 2014-04-14 07:50:55
程序在win8/gt 720M/visual studio 2012/CUDA 5.5下是能够正常运行的.

移植到linux服务器下出现了问题, RHEL 5.3/tesla C1060/cuda 2.3.

于是想要用cuda-gdb调试, 用nvcc编译

nvcc -arch=sm_13 -o my_prog my_prog.cu, 这样程序运行结果错误, 但是编译没有debug信息, 无法debug

于是

nvcc -arch=sm_13 -g -G -o my_prog my_prog.cu, 这样带debug信息, 可是直接运行结果是正确的.


可能的原因是什么 呢?
...全文
339 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
linxxx3 2014-04-16
  • 打赏
  • 举报
回复
debug编译的程序,跟正常生成的程序毕竟有些不一样的地方,比如使用未初始化的内存,debug得到的值会是0,正常程序是未定义值;写内存越界,debug程序里也不容易写坏其他的数据,其他的区别应该还有吧,想不太起来。 能够正常运行的程序,不一定就是正确的,可能bug没暴露出来而已。lz仔细查查吧。
Optix SDK 下载 4.1 . 1 Optix 4 现在 自由 使用 在 任何 应用 , 包括 商业 和 教育 应用 。 为 下载 你 必须 NVIDIA 这些 显影剂 - 。 通过 点击 "Agree & Download"按钮 , 确认 您 已 阅读 并 同意 遵守 软件 开发者 套件 、 采样 工具 和 许可 协议 用于 封装 的 SDK 使用 。 下载 将 开始 后 立即 点击 "Agree & Download"按钮 下方 。 Windows 7 和 更 高 、 64 位 同意 & 下载 Linux 接受 & 下载 Mac OSX 10.9 或 更 高 接受 & 下载 版本 说明 ( 615kB , PDF ) 版本 说明 Optix NVIDIA ® ™ 4.1 . 1 ( 2017 年 8 月 ) 欢迎 来到 的 第一个 重大 更新 的 Optix 4 SDK 。 Optix 4 是 发展 中 的 一个 重要 里程碑 Optix , 完全 重新 实现 的 核心 组件 , 包括 一个 全新 的 基于 LLVM 编译 流水线 。 重新 设计 内部 已经 酝酿 了 几年 , 人们 对 更好 的 总体 性能 、 多 GPU 缩放 , 调试 和 配置 、 以及 其他 特性 。 4 版本 保持 向 后 兼容 现有 的 Optix 应用 提供 的 API , 易于 使用 Optix 是 已知 的 。 Optix 4 现在 自由 使用 在 任何 应用 中 , 它 是 私人 或 商业 性质 , 而 无需 任何 额外 许可 或 批文 。 4.1 版本 是 一个 维护 版本 , 提供 性能 和 鲁棒性 的 改进 以及 最近 支持 CUDA 和 Visual Studio 版本 。 改进 4.1 . 1 主机 存储器 使用量 减少 场景 的 几何 形状 的 大量 实例 。 固定 一 臭虫 , 其 原始 索引 偏移 被 忽略 , 如果 一个 仅 包含 单个 geometrygroup geometryinstance 。 把 一 臭虫 固定 在 有 Optix 素数 的 最小 有效 位 的 浮点数 可以 命中 距离 确定性 的 三角形 中 的 一些 场景 , 根据 其 位置 在 BVH 中 。 所有 样品 使用 Optix CUDA SDK 主要 通过 默认 上下文 。 固定 的 场景 时 许多 材料 共享 geometryinstances 。 固定 内存 泄漏 在 GL Interop 破坏 缓冲器 修正 当 CUDA 计算 高速缓存 有时 没有 踢 中 , 导致 长 的 编译 时间 。 架构 更新 安装程序 以 在 安装 时 避免 安全 问题 的 SDK 。 改进 到 4.1 . 0 支持 CUDA 8.0 支持 Visual Studio 2015 年 建立 自己 的 SDK 各种 错误 修复 , 包括 更 坚固 的 节点 处理 复杂 图形 的 变化 在 某些 情况 下 , 内核 性能 更好 Optix 头 现在 nvrtc 兼容 , 与 运输 带 运行 时 编译 库 ( CUDA 阅读 更 多 ) 改进 4.0 . 2 新 的 EULA , 现在 允许 不 受约束 的 在 商业 应用 中 使用 Optix &bra; 黄金 &ket; Optix 和 几个 固定 的 问题 , 导致 使用 时 故障 trbvh 大 场面 修正 了 一个 问题 , 可能 导致 不必要 的 呼叫 重建 或 BVH 时 rtcontextsetentrypointcount rtcontextsetraytypecount 但 不 改变 表达式 的 值 修正 了 一个 问题 , 可能 会 导致 编译 错误 时 使用 的 不同 原子 类型 的 单个 节目 降低 的 存储器 要求 trbvh 当 使用 多个 改进 鲁棒性 Optix 上下文 &bra; 黄金 &ket; 修正 了 一些 在 内存不足 的 情况 下 RT _ 返回 ERROR _ UNKNOWN _ ERROR 代替 RTP 存储器 分配 失败 _ _ _ 改进 4.0 . 1 固定 “ 无效 设备 ” 错误 , 当 运行 在 某些 情况 下 , 在 GPU 帕斯卡 修正 了 某些 修改 可以 触发 断言 节点 图 修正 了 CPU 回退 的 trbvh 修正 了 一个 问题 , 可能 导致 损坏 输出 当 使用 3D 展开 当 使用 固定 的 性能 问题 的 实例 主要 对 Windows Optix 改进 编译 时 启用 Optix 例外 各种 改进 错误 消息 格式 的 半 添加 处理 rtugetsizeforrtfo
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 分析网站的反爬虫策略进行反反爬虫项目python源码+项目说明+模型.zip ### 使用方法 1.开始训练样本前,修改conf/config.json 2.将预处理过的数据集分成验证集和训练集,放到sample目录下 3.运行train_model.py开始训练,训练完成的模型保存至model_result中 4.将训练好的模型放置model_result,运行cnn_models/recognition.py,选定验证码,即可看到模型效果 ### 环境配置 TensorFlow CPU版本安装:`pip install tensorflow==1.9.0` TensorFlow GPU版本安装:`pip install tensorflow-gpu==1.9.0` GUP版本的安装比较麻烦,需要安装CUDA和cuDNN才能使tensorflow调动GPU 下图为TensorFlow,Python,CUDA与cuDNN之间的版本对应关系: ![](./src/README_IMG0.PNG) CUDA与cuDNN安装过程主要有两步: 1. 到官网下载CUDA并安装 2. 将cuDNN解压,复制到CUDA安装目录下 这里提供两个文件的链接: CUDA:`https://developer.nvidia.com/cuda-toolkit-archive` cuDNN:`https://developer.nvidia.com/rdp/cudnn-archive` 更具体的安装过程度娘可帮你轻松解决(linux,windows这两步的操作方法各不相同) ### 项目结构 ``` ├─cnn_models │ ├─cnn_model.py # CNN网络类 │ └─recognition.py # 验证训练结果 ├─conf │ └─config.json # 配置文件 ├─logs # 模型训练日志 ├─model_result # 模型保存地址 │ └─1040 # 一套训练完成的验证码训练集及对应模型 ├─sample │ ├─test # 训练集(训练集与验证集一般是对总数据集9:1分割) │ └─train # 验证集 ├─src # 配置环境所需的工具,可根据自身情况到网上下载 ├─train_model.py # 训练程序 └─verify_sample.py # 制作数据集(打标签加图片预处理) ``` ### 图片预处理 + 为验证码图片打上标签,如: ![](./src/1040_2019-10-13_10_1092.jpg) 命名为1040_2019-10-13_10_1092.jpg,1092为标签,其余为附加信息,可根据自己需要更改,用`_`分割即可 + 由于模型输入要求输入必须为227*227,所有需要调整图片形状,verify_sample.py中提供有工具函数 ### 注意事项 alexnet输入必须为227*227的图片,所有图片预处理时可通过PIL中的函数线性转换图片形状,或者缩放后粘贴到227*227的背景中。

374

社区成员

发帖
与我相关
我的任务
社区描述
CUDA on Linux
社区管理员
  • CUDA on Linux社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧