8

我找不到 CUDA 5.0 支持哪个版本/哪个 c++ 概念。我在 CUDA 5.0 RC 随附的编程指南或参考指南中找不到任何信息。特别是我想知道 CUDA 5.0 是否支持 C++11。有人可以指点我寻找这些信息的地方吗?

4

4 回答 4

7

显然 5.0 RC 中没有可用的 C++11 功能。nvcc 仍然不理解标准包括 gcc 4.6 中使用的 C++11 语法(请参阅使用 CUDA 和 C++11 时出错):

$ nvcc --版本

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2012 NVIDIA Corporation
Built on Tue_Jul_31_17:46:14_PDT_2012
Cuda compilation tools, release 5.0, V0.2.1221

$ 猫 test.cu

int main()
{
}

$ nvcc -Xcompiler "-std=c++0x" test.cu

/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h(159): error: identifier "nullptr" is undefined

/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h(159): error: expected a ";"

/usr/include/c++/4.6/bits/exception_ptr.h(93): error: incomplete type is not allowed

...

于 2012-09-26T09:45:20.533 回答
4

发行说明包含支持平台列表,包括支持的 GCC 版本,5.0 候选版本发行说明显示,某些发行版最新支持的 GCC 是 4.6(其他发行版更旧)。

一旦您知道支持哪个 GCC 版本,请与 GCC C++0x/C++11 功能列表进行比较。

于 2012-08-22T15:13:58.223 回答
1

它不支持 gcc 4.7,因此某些 c++11 功能不可用:

- Non-static data member initializers
- Template aliases :(
- Delegating constructors
- User-defined literals
- Extended friend declarations
- Explicit virtual overrides
于 2012-08-22T13:16:50.647 回答
0

现在,如果您询问 Cuda/C++ 或 THRUST 库。在容器、迭代器和算法方面,thrust 库与 stl c++ 非常相似,但它不是 c++ 11。

nvcc 编译 gpu 代码。nvcc 支持(Cuda C 和 Cuda C++ /thrust) gcc 编译 cpu 代码。gcc(支持 C 和 C++)。

于 2012-10-16T19:46:48.427 回答