【问题标题】:convert .cu file to .ptx file in windows在 Windows 中将 .cu 文件转换为 .ptx 文件
【发布时间】:2012-11-05 17:51:15
【问题描述】:

我在 Windows 中进行 gpgpu 编程,并且一直在 Microsoft Visual Studio 2010 中进行。但由于某种原因,我需要使用 matlab 来运行我的 cuda 内核。所以我检查了this 站点,他们提到我需要从 .cu 文件创建一个 .ptx 来运行我的 cuda 内核。但我使用的是 windows,我想在 windows 中创建 .ptx 文件。如果有人能指导我知道如何将 .cu 文件转换为 .ptx 文件,那将非常有帮助。谢谢

【问题讨论】:

    标签: windows matlab cuda


    【解决方案1】:

    一种方法是从命令行执行此操作。您可能需要知道 nvcc.exe 和 cl.exe(MS VC 编译器)的位置。在我的情况下,我安装了 MS VC 2008 express,cl.exe 位于 C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl.exe 我在这台特定的机器上也有 CUDA 4.2,并且 nvcc 位于在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe 你可能也可以使用 windows search 找到这些。

    使用上述信息,打开命令提示符,并将目录更改为要转换为 PTX 的 .cu 文件(我们称之为 foo.cu)。 nvcc 可能已经在您的 PATH 上,因此您可能不必使用它的路径:

    <path-to-nvcc>nvcc -ptx -ccbin "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin" -o foo.ptx foo.cu 
    

    您可以将 cl.exe 的路径放在您的 PATH 变量中以简化上述操作(应该能够以这种方式消除 -ccbin 开关。)要获取有关 nvcc 选项的更多信息,请使用:

    nvcc --help
    

    如果您的程序需要 nvcc 不知道的其他包含文件,您还必须使用 -I 开关指定这些文件的路径。查看 nvcc 选项以了解更多信息。

    【讨论】:

    • 感谢您的回复。我的 nvcc.exe 位于“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin”文件夹中,我试过:“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin "nvcc -ptx -ccbin "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin" -o foo.ptx foo.cu。但我收到的回复是:“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin"nvcc' is not Recognized as an internal or external command.
    • 不要在 nvcc 的路径周围加上引号。只需像启动具有完整路径的普通 Windows 程序一样启动它:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc -ptx -ccbin "C:\Program Files\Microsoft Visual Studio 9.0 \VC\bin" -o foo.ptx foo.cu 另外,nvcc 可能已经在您的路径上,因此您甚至不必指定路径。您可能只需要输入:nvcc -ptx ....
    • 感谢您的帮助。我做了你提到的。再次发生一些错误,但消息有点不同。所以我复制粘贴你的行并执行它,我得到的错误是:'C:\Program' 不被识别为内部或外部命令、可运行程序或批处理文件。我通过摩擦 nvcc 的路径并仅在其上附加 nvcc 并尝试了相同的操作,并且时间错误是:'nvcc' 不被识别为内部或外部命令、可运行程序或批处理文件。
    • OK 试试这个:"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc" -ptx -ccbin "C:\Program Files\Microsoft Visual Studio 9.0\ VC\bin" -o foo.ptx foo.cu
    • 现在我得到:nvcc 致命:不支持的主机编译器'bin'
    猜你喜欢
    • 2013-05-09
    • 1970-01-01
    • 2012-04-29
    • 2022-09-24
    • 1970-01-01
    • 2021-12-05
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多