如何在 XCODE 5 中使用 CUDA 6.0
Posted
技术标签:
【中文标题】如何在 XCODE 5 中使用 CUDA 6.0【英文标题】:How to use CUDA 6.0 with XCODE 5 【发布时间】:2014-05-01 10:48:24 【问题描述】:我的问题可能完全是菜鸟。抱歉,为此,我一直在尝试在 Xcode 中编译我的第一个 Cuda 代码,但我不知道在哪里以及如何设置 IDE 来调用 NVCC。 我安装了最新的 CUDA 工具包 CUDA 6.0,甚至使用 brew 安装了 GCC 4.8。我有 XCODE 5.5 当我从 XCODE 运行我的代码时,像 global 这样的所有指令都被标记为未识别。 我不知道在哪里更改设置以调用 NVCC。如果有人可以帮助我,我将非常感激。
此外,当我创建 XCODE 项目时,我将其创建为 C 项目。所以,我将 CUDA 代码放在了这个 C 文件中,这就是给我上面提到的错误的原因。我试图用 .cu 文件替换这个 .C 文件(只需更改扩展名),这也失败了 - XCODE 甚至不知道如何处理 .cu 文件
有人可以帮帮我吗?
提前致谢
【问题讨论】:
您是否按照mac getting started document中的指示进行操作? 是的,我做到了。事实上,我能够成功编译并运行文档中提到的程序。对于 Querydevice 和 bandwidthtest,我得到了 PASS 结果。但是我不知道如何使用Xcode编写和运行程序......! 你解决过这个问题吗?我现在也面临同样的问题 不...我相信 Xcode 与 NSIGHT 不兼容。 Apple 只是在推广 OpenCL 的使用。 【参考方案1】:我已经尝试过了。虽然我还没有完全成功,但我想我会在这里发布我的进展,希望能帮助别人。我采取的步骤受到this page的启发。
-
创建一个新的 Xcode 项目
在 Build Settings 下添加一个新的用户定义设置 CC,其值为
/usr/local/cuda/bin/nvcc
。
在构建设置下将/usr/local/cuda/include
添加到Header Search Paths
。
将Enable Modules (C and Objective-C)
设置为No
。
在Build Phases
下添加/usr/local/cuda/lib/libcuda.dylib
到Link Binary With Libraries
。
对于您创建的任何C
文件,在文件检查器中将其扩展名设置为.cu
,完成后,您必须将该文件的类型设置为C source
以获取语法高亮,方法是转到编辑器->语法着色->C.
此设置的问题: - Xcode 不能运行可执行文件,至少 nog 如果它是为调试而编译的。但是,您可以让它将可执行文件复制到某个合理的位置并在终端中运行它。 - 每当您尝试“为运行而构建”时,有时 Xcode 会神奇地破坏整个项目。
【讨论】:
如何设置文件类型为C源? @JudeMichaelMurphy 我已经扩展了我的答案来回答你的问题。但是我很久以前写过这篇文章,从那以后就没有接触过 Xcode 和 Cuda 的组合。但我认为这就是我当时的意思。以上是关于如何在 XCODE 5 中使用 CUDA 6.0的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Xcode 4.5 上安装 iOS 4.3 模拟器?
对 iOS 5.0 和 iOS 6.0 使用 XCode 4.5 的困惑
如何在 Xcode 6.0 Beta 中运行 iOS 7.1 模拟器?