問題タブ [nvcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
13697 参照

gcc - Linux用のnvccで使用されるデフォルトのホストコンパイラ

Ubuntu10.10でGTX570(compute capcability 2.0)を使用し、GCCコンパイラスイートでCUDA4.0を使用しています。私が理解しているように、コンパイル中にCUDAコンパイラドライバーnvccは.cuファイルをホストコードとデバイスコードに分割し、ホストコンパイラを呼び出してホストコードをコンパイルし、デバイスコードを個別にコンパイルします。最後に、生成されたホストオブジェクトコードとデバイスのPTXコードを単一の実行可能ファイルにマージします。

Linuxシステムの場合、ホストコードをコンパイルするために呼び出されるデフォルトのコンパイラは何ですか?GCCスイートのCコンパイラ(gcc)またはC ++コンパイラ( )ですか?g++

0 投票する
1 に答える
2183 参照

linux - CUDA リンカ エラー: メインへの未定義の参照

Linux で CUDA プログラムをコンパイルしようとすると、次のリンカ エラーが発生します。

これは私の Makefile です:

main関数は main.cu ファイルにありますが、何らかの理由でリンカがそれを認識していません。誰が私が間違っているのか教えてください。

ありがとう!

0 投票する
3 に答える
1243 参照

c++ - コンパイル エラー nvcc および BOOST ライブラリ

nvccスロー

has_constraints.hpp にはすでに疑わしいコードが含まれています。

質問: これは nvcc ブーストの非互換性ですか、それともコードに問題がある可能性がありますか?

0 投票する
2 に答える
19356 参照

cuda - CUDAとnvcc:プリプロセッサを使用してfloatまたはdoubleのいずれかを選択

問題

.hがあるので、c / c ++またはコンピューティング機能が1.3以上のcudaでコンパイルする場合は、realをdoubleと定義したいと思います。コンピューティング機能が1.3未満のcuda用にコンパイルする場合は、realをfloatとして定義します。

何時間も経って、私はこれに到達しました(これは機能しません)

コンパイルするとき(-archフラグに注意してください)

私は得る

私はファイルがnvccによって2回コンパイルされることを知っています。最初のものはOKです(CUDACCが定義され、CUDA_ARCH > = 130)が、2回目はどうなりますか? CUDA_DEFINEDですが、CUDA_ARCHが定義されていないか、値が130未満ですか?なんで ?

御時間ありがとうございます。

0 投票する
1 に答える
4417 参照

visual-studio-2010 - Windows SDK 7.1 から Visual C++ Express 2010 x64 を使用するように nvcc をセットアップするにはどうすればよいですか?

Windows SDK 7.1 で拡張された Visual C++ Express 2010 を使用して 64 ビット アプリを構築しています (64 ビット コンパイラを追加するため)。32 ビット モードで nvcc を使用すると、うまく動作します。64 ビット モードで使用すると、次のエラーが発生します。

nvcc に正しいファイルを提供するにはどうすればよいですか?

0 投票する
1 に答える
1573 参照

linker - cudanvccで作成されたオブジェクトファイルへのリンクの問題

NVCCによって生成されたオブジェクトファイルにリンクしようとしています。ここに非常に単純な「ライブラリ」があります。

そして、「ライブラリ」を使用するファイル:

この単純なセットアップでは、ファイル内で関数を直接宣言することにより、インクルードファイルの必要性を回避していることに注意してください。ここで私がこれを構築しようとしたコマンド:

これがNVCCで機能しないのはなぜですか?2番目のコマンドは、大量の次のものを生成します。

別のCUDAインストール(4.0)を使用して別のマシンで試してみました。同じ奇妙なコンパイラ/リンカの出力。

extern "C"また、C++の名前マングリングの代わりに使用してみました。同じ動作。さらに、C名のマングリングは、実際のアプリケーションではオプションではありません。

0 投票する
1 に答える
1471 参照

macos - nvcc不明なオプション-no_pie

私のmac(Snow Leopard)でCUDAを更新した後、これをコンパイルすると、nvidiaのnvccコンパイラが奇妙に動作します。

次のコンパイルエラーが発生しますが、問題を解決する方法がわかりません。

誰かが問題が何であるか知っていますか?

0 投票する
1 に答える
3426 参照

c - Cuda混合Cプロジェクトのリンク

私はCで大規模なプロジェクトを持っており、それにいくつかのCudaカーネルを統合しようとしています。cファイルを「gcc-cmain.c」でコンパイルし、.cuファイルを「nvcc-c cuda_GMRES.cu」でコンパイルしてから、2つのオブジェクトファイルをnvcc:「nvcc-omain」でリンクしようとしています。 o cuda_GMRES.o "とすると、次のエラーが発生します。

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o:関数 _start': (.text+0x20): undefined reference tomain'collect2:ldが1つの終了ステータスを返しました

cudaとCファイルを組み合わせるのは初めてで、何か間違ったことをした可能性があります。誰か助けてくれませんか。RocksOSを搭載したGPUクラスターを使用しています。

私のmain.cファイル:

私のcuda_wrapper.hファイル:

カーネル呼び出し関数を含む私のcuda_GMRES.cuファイル:

カーネルを含む私のcuda_dot.cuファイル:

0 投票する
1 に答える
7111 参照

cuda - CUDA モジュールを使用した GPL C プログラムのビルド

C で書かれた GPL プログラムを変更しようとしています。私の目標は、1 つのメソッドを CUDA 実装に置き換えることです。つまり、gcc ではなく nvcc でコンパイルする必要があります。私はプロジェクトを構築するのに助けが必要です-それを実装するのではありません(助けるためにCUDA Cについて何も知る必要はありません、私は思いません)。

.configure と Makefile を含む中程度の複雑さの C プロジェクトを変更しようとするのはこれが初めてです。正直なところ、gcc や g++ を含むものを含め、C で何かをするのは久しぶりなので、かなり迷っています。

configure と Makefile の学習にはあまり興味がありません。これは実験的なものです。適切なビルド スクリプトの作成に時間を費やす前に、プロジェクトの実装がうまくいくかどうかを確認したいと思います。(必要に応じて学ぶことを嫌がるのではなく、範囲のアイデアを提供しようとしているだけです)。

そうは言っても、このプロジェクトを構築するためのオプションは何ですか? 無数の質問があります...

  • AC_PROG_CC の後に configure.in ファイルに「CC=nvcc」を追加してみました。これは機能しているように見えました-configureとmakeの実行からの出力は、コンパイラとしてnvccを示しました。ただし、make は、CUDA 固有の構文を認識せず、CUDA カーネルでソース ファイルをコンパイルできませんでした。理由はわかりませんが、これがうまくいくことを望んでいました。

  • ソース ファイルを nvcc でコンパイルし、それをメイン プログラムの make プロセスのリンク ステップに含めることはできますか? もしそうなら、どのように?(この質問は意味をなさないかもしれません - 私はこれで本当に錆びています)

  • これを行う正しい方法は何ですか?

  • テスト目的で使用できる迅速で汚い方法はありますか?

  • これらのconfigureとMakefileをセットアップして理解するために誰もが使用する秘密のツールはありますか? これは、私が慣れ親しんでいる Apache Ant スクリプトよりもさらに悪いです (ええ、私は自分の領域から外れています)。

0 投票する
3 に答える
72878 参照

cuda - CUDAコードをコンパイルしてC++プロジェクトにリンクするにはどうすればよいですか?

CUDAを含むプロジェクトを始めるための助けを探しています。私の目標は、ネイティブのg ++​​コンパイラでコンパイルできるが、CUDAコードを使用するプロジェクトを作成することです。CUDAコードをnvccコンパイラでコンパイルする必要があることは理解していますが、私の理解から、CUDAコードをcubinファイルまたはptxファイルにコンパイルすることができます。

これが私の質問です:

  1. nvccを使用してcubinファイルまたはptxファイルにコンパイルするにはどうすればよいですか?-cか何かは必要ありませんか?
  2. どのファイルタイプを使用しますか?
  3. プロジェクトを正しくコンパイルしてリンクするためのg++コマンドとは何ですか?

次のように想定します。

  1. main関数が含まれ、cuda.hを含む「main.cpp」というファイルがあります。
  2. CUDAコードを含む「cudaFunc.cu」という別のファイルがあります。たとえば、main.cppに存在する2つの整数配列を追加したいとします。