2012-02-10 15 views
2

オブジェクト指向プログラミングにCUDA Cを使用することは可能ですか? C++のようにCUDA Cにクラスがありますか?オブジェクト指向プログラミングにCUDA Cを使用することは可能ですか?

+2

CUDA Cの名前が間違っています。これはCUDA C++であり、クラスを使用できます。 –

+4

「NVIDIA CUDAプログラミングガイド」の最新版の付録Dでは、C++言語機能がデバイスコードコンパイラでどのようにサポートされているかについて説明しています。 – talonmies

答えて

3

CUDAコンパイラは、クラス、継承、コンストラクタ、デストラクタをすべてのデバイスに対してサポートしていますが、一部のサポートは公式ではありません。

すべてのデバイスが関数呼び出し、再帰呼び出し、仮想関数呼び出しをサポートしているわけではありませんが、そうであっても、それはかなり遅い操作です。コードではまれにしかない場合を避けることを強くお勧めします。

私が間違っていない場合、例外のサポートはありません。

似ていますが、もう少し幅広い質問:バージョン3.0は、ホスト・コードをコンパイルするために(Linuxの場合)G ++を使用していますので、あなたがホスト部分のためのC++の機能のセット全体を使用することができますので、What are the real C++ language constructs supported by CUDA device code?

3

nvcc

デバイスコードでは、C++の制限付きセットをサポートしています。しかし、CUDAの将来のリリースでは、より完全なものになると思います。

関連する問題