1

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

4

1 回答 1

3

一种方法是从命令行执行此操作。您可能需要知道 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 搜索来找到这些。

使用上述信息,打开命令提示符,并将目录更改为要转换为 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 选项以获取更多信息。

于 2012-11-17T00:35:30.720 回答