Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试将 cpp 文件转换为 .cu 文件。但是,编译器会报告 cpp 中所有 typedef 和静态函数的错误。它也不会检测范围解析运算符并为它们报告错误。
CUDA 对预处理器宏的扩展方式进行了一些重大更改,因为它多次通过预处理器运行代码以扩展 CUDA 结构并分离主机和设备代码。这可能会破坏现有的大型代码库。
在这种情况下(甚至对于新编写的项目),我的一般策略是将所有现有代码保留在 .cpp 文件中,并且只将尽可能少的代码移动到 .cu 文件中。我只是将 .cu 文件和 .cpp 文件中所需的 typedef 和定义移动到单独的头文件中,然后围绕 CUDA 调用和内核启动编写小型包装函数,然后从现有的 .cpp 文件中调用它们。