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