我有下视觉工作室2010中运行的CUDA(V4.2)方案中,向其中我通过各种命令行参数。 我希望主机编译器看到相同的参数,当我通过nsight(V2.2)运行。 我想我必须通过(右键单击项目)要做到这一点 - > nsight用户设置 - >命令行参数,但还没有设法找到不崩溃NVCC语法。 我假设它是围绕“--run-ARGS”不知何故?
**澄清,下面的评论后:
当然,当你通过VS调试直,您可以通过属性页/命令的参数输入你的命令参数,所有工作正常。 但通过NSight,是被忽略的,所以我的问题是,如何做到这一点? 我的编译器的通话假定nsight跑到NVCC,然后调用覆盖非CUDA代码在MSVC。 因此,我假定NSight需要向下传递任何命令行参数到VS,经由上述选项推测。 假设所有这些都是合理的,我怀疑我只是得到语法错误里面的“nsight用户设置 - >命令行参数”,并想知道是否有人在这里成功。 更清晰?
如果你想通过NVCC通过命令行参数CL.EXE或当它通过Visual Studio中的命令Nsight CUDA调试器(|开始CUDA调试Nsight)推出通过命令行参数,以您的应用程序目前还不清楚。
要通过命令行参数CL.EXE当编译.CU文件CL.EXE
- 在Solution Explorer中右键单击该文件.CU
- 执行属性命令
- 在“filename.cu”属性页一个。 在左窗格中选择 “CUDA C / C ++” \ “主机” B。 添加参数传递中的“其他编译器选项”或“预处理器定义”来CL.EXE
预处理器定义会去两个nvcc.exe和cl.exe时。 其他编译器选项将被追加到-Xcompiler选项。
要通过命令行参数的应用程序时,它使用Nsight推出|开始CUDA调试
- 在Solution Explorer中右键单击该项目(确保这是你的启动项目)
- 执行Nsight用户属性命令
- 在“NVIDIA NSight用户设置”对话框中。 在左窗格中选择“启动” B。 在右在字段中指定的“命令行参数”的论点。
当您启动与(|开始CUDA调试Nsight)的应用程序,这些选项将被传递给应用程序。
要通过命令行参数的应用程序时,它使用调试推出|开始*调试
- 在Solution Explorer中右键单击该项目(确保这是你的启动项目)
- 执行属性命令
- 在“属性页”对话框中。 在左窗格中选择“调试” B。 在右窗格中的参数添加到域“命令参数”
当编辑项目属性,Nsight用户属性确保在对话框顶部的指定配置和平台。
Nsight VSE建设系统不使用NVCC --run和--run-ARGS选项。 如果启动使用debug命令你的过程将通过devenv.exe的推出。 如果启动使用Nsight |开始CUDA调试或Nsight分析工具的应用将通过Nsight.Monitor.exe推出。
我想帮助,但我很困惑; 请您谈一下下VS.传递运行时参数到你的主机代码 然后你说你要编译器看到相同的参数。 我想你不意味编译器。 建设项目首先在VS(使用你的构建的调试版本)。 (我已经编译我.CU成PTX文件,NVCC当我进入Nsight犯规被调用。)然后这个构建运行时调用Nsight。 我还没有提供运行时间参数。 有在调试下的VS项目给予命令行参数的地方; 也许当Nsight开始,虽然我有我的怀疑,这是使用。 此外,有Nsight用户 - >命令行参数输入你举。 我认为后者的确是这样做的正确方法。 也许你的问题是,你需要在开始之前Nsight全面建设该项目。