With machine-specific `.file` paths - are CUDA .ptx files portable?(使用计算机特定的`.file`路径-CUDA.ptx文件是否可移植?)
本文介绍了使用计算机特定的`.file`路径-CUDA.ptx文件是否可移植?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在研究cudaDecodeD3D9 sample以了解CUDA是如何工作的,在编译时它会从.cu文件生成一个.ptx文件。据我目前所知,这个.ptx文件是一个中间表示,它将针对任何特定的GPU进行实时编译。该示例使用类cudaModuleMgr通过cuModuleLoadDataEx加载此文件。.ptx文件是文本格式,我可以看到它的顶部是我的机器上的一堆硬编码路径,包括我的用户文件夹,即:
.file 1 "C:/Users/******/AppData/Local/Temp/tmpxft_00002abc_00000000-7_NV12ToARGB_drvapi.cudafe2.gpu"
.file 2 "c:program files (x86)microsoft visual studio 10.0vcincludecodeanalysissourceannotations.h"
.file 3 "C:/Program Files (x86)/NVIDIA GPU Computing Toolkit/CUDA/v5.0/includecrt/device_runtime.h"
.file 4 "C:/Program Files (x86)/NVIDIA GPU Computing Toolkit/CUDA/v5.0/includehost_defines.h"
.file 5 "C:/Program Files (x86)/NVIDIA GPU Computing Toolkit/CUDA/v5.0/includeuiltin_types.h"
.file 6 "c:program files (x86)
vidia gpu computing toolkitcudav5.0includedevice_types.h"
.file 7 "c:program files (x86)
vidia gpu computing toolkitcudav5.0includehost_defines.h"
.file 8 "c:program files (x86)
vidia gpu computing toolkitcudav5.0includedriver_types.h"
.file 9 "c:program files (x86)
vidia gpu computing toolkitcudav5.0includesurface_types.h"
.file 10 "c:program files (x86)
vidia gpu computing toolkitcudav5.0include exture_types.h"
.file 11 "c:program files (x86)
vidia gpu computing toolkitcudav5.0includevector_types.h"
.file 12 "c:program files (x86)
vidia gpu computing toolkitcudav5.0includeuiltin_types.h"
.file 13 "C:/Program Files (x86)/NVIDIA GPU Computing Toolkit/CUDA/v5.0/includedevice_launch_parameters.h"
.file 14 "c:program files (x86)
vidia gpu computing toolkitcudav5.0includecrtstorage_class.h"
.file 15 "c:users******desktopcudadecodesample3_imagingcudadecoded3d9cudaProcessFrame.h"
.file 16 "c:program files (x86)
vidia gpu computing toolkitcudav5.0includemath_functions.h"
.file 17 "C:/Users/******/Desktop/CudaDecodeSample/3_Imaging/cudaDecodeD3D9/NV12ToARGB_drvapi.cu"
.file 18 "C:/Program Files (x86)/NVIDIA GPU Computing Toolkit/CUDA/v5.0/includecommon_functions.h"
那么我的问题是:既然该文件是在编译时创建的,那么它会因为所有这些硬编码路径而只在我的机器上工作吗?我应该如何确保该程序可以在任何计算机上运行,即使未安装CUDA SDK?
推荐答案
.File指令仅用于调试。它不会影响代码在正常情况下的编译方式。因此,我非常肯定您可以剥离或完全忽略它们,并且代码将可移植,至少在您的编译器选项(即目标代码版本、体系结构和编译大小)规定的体系结构和功能限制内是可移植的。
这篇关于使用计算机特定的`.file`路径-CUDA.ptx文件是否可移植?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:使用计算机特定的`.file`路径-CUDA.ptx文件是否可移植?
基础教程推荐
猜你喜欢
- C++:获取传递给函数的多维数组的行大小 2021-01-01
- 为什么我们不能使用“虚拟继承"?在 COM 中? 2022-01-01
- 如何部分禁用 cmake C/C++ 自定义编译器检查 2021-01-01
- c++ STL设置差异 2022-01-01
- 如何更改 SysDateTimePick32 或 CDateTimeCtrl 的背景颜色? 2022-01-01
- 与 CAS 的原子交换(使用 gcc 同步内置函数) 2022-01-01
- 将不可复制的闭包对象传递给 std::function 参数 2021-01-01
- 提升 ASIO 流缓冲 2021-01-01
- 随机插入/删除的综合向量与链表基准 2022-01-01
- 如何在 C++ 中正确使用命名空间? 2022-01-01
