8

c++ のどのバージョン/どの概念が CUDA 5.0 でサポートされているかわかりません。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

$ 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

...

于 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 ライブラリについて質問している場合。スラスト ライブラリは、コンテナ、イテレータ、およびアルゴリズムに関して stl c++ と非常に似ていますが、c++ 11 ではありません。

nvcc は GPU コードをコンパイルします。nvcc サポート (Cuda C および Cuda C++ /thrust) gcc は cpu コードをコンパイルします。gcc (C および C++ をサポート)。

于 2012-10-16T19:46:48.427 に答える