cuda 5.0支持的c ++版本

时间:2012-08-22 13:05:14

标签: c++ c++11 cuda

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

4 个答案:

答案 0 :(得分:7)

在5.0 RC中,似乎没有可用的C ++ 11功能。 nvcc仍然不理解标准中使用的C ++ 11语法包括gcc 4.6 (见Error while using CUDA and C++11):

$ nvcc --version

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

$ cat 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

...

答案 1 :(得分:4)

发行说明包含一系列支持平台,包括支持哪些版本的GCC,5.0 Release Candidate release notes表明最新支持的GCC对于某些发行版是4.6(对于其他发行版则更旧)。

一旦您知道支持哪种GCC版本,请与GCC C++0x/C++11 feature list进行比较。

答案 2 :(得分:1)

它不支持gcc 4.7,因此some of the c++11 features不可用:

- Non-static data member initializers
- Template aliases :(
- Delegating constructors
- User-defined literals
- Extended friend declarations
- Explicit virtual overrides

答案 3 :(得分:0)

现在,如果你问的是Cuda / C ++或THRUST库。对于容器,迭代器和算法,推力库与stl c ++非常相似,但它不是c ++ 11.

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